Dennis Bottjer | ASP.NET + SharePoint Architect, Trainer & Speaker

"An Ounce of Prevention is Worth a Pound of Cure" - Ben Franklin
posts - 168, comments - 59, trackbacks - 41

My Links


Add to Technorati Favorites The views expressed in this blog are mine and mine alone, not that of my employer, Microsoft, or anyone else’s. No warrantee is given for the quality of any material on this site.

Tag Cloud


Post Categories

C# & .NET Tutorials

General C# code examples
Recent Events

Besides surviving countless beatings from my favorite two year old and a two hour crying fit from my 4 month old son I’ve attended several great community events.  Thanks wifey :). May 3rd: Oklahoma City Developers Group: Stop Drowning In Technical Debt! As the INETA Membership Mentor of Oklahoma I set a goal this year to try and encourage more collaboration between the strong communities existing in Tulsa and Oklahoma City.  To accomplish this I have presented three times so far in OKC.  On May 3rd I presented to a crowd of about 50 for the lunch meeting and...

posted @ Saturday, May 22, 2010 5:02 PM | Feedback (1) | Filed Under [ C# & .NET Tutorials Presentations & Training ]

Automated Web Testing with Visual Studio 2008

Tulsa Developers User Group | Automated Web Testing with Visual Studio 2008 (Review) Corey Roth presented tonight on automated web testing with Visual Studio 2008 at the Tulsa Developers User Group.  Visual Studio can be used to record an action such as logging into a web application.  Alternatively, users can inspect screen values for specific results.  The test would pass if the expect value is present and fail if the value is missing.  Visual Studio must be installed to execute the tests.   A tests project actually generates .NET Code (C# or VB.NET).  The tool can also be...

posted @ Tuesday, April 28, 2009 1:32 AM | Feedback (1) | Filed Under [ ASP.NET C# & .NET Tutorials Community & Events Debugging ]


Issue: Regular Expression are quite power especially for validation purposes.  Classic examples include password and email validation.  However, regular expressions are usually something developers get to work then forget about.  I don't work with regular expression everyday so I don't bother memorizing the syntax.  So when I do need to use a regular expression in code I usually end up searching the web for an example. Solution: A coworker here at SpringPoint Technologies turned me on to Expresso, a free regular expressions authoring tool. Technorati Tags: Regular Expressions,Expresso

posted @ Thursday, January 15, 2009 12:09 AM | Feedback (0) | Filed Under [ C# & .NET Tutorials News & Announcements ]

Manipulating SharePoint Groups With Code

SPWeb.Groups and SPWeb.SiteGroups WSS 3.0 deprecates the site group concept used in WSS 2.0.  As a result manipulating groups and security objects through the object model can be less than obvious. For Example, a developer may try to add a group to a sub site (SPWeb) using this syntax SPWeb.Groups.Add(Group Name). However, in WSS 3.0 and MOSS 2007 this code will result in the following error: “You cannot add a group directly to the Groups collection. You can add a group to the SiteGroups collection.” To resolve this error and create a group use the following object model syntax:  SPWeb.SiteGroups.Add().  This...

posted @ Thursday, October 9, 2008 3:05 AM | Feedback (0) | Filed Under [ C# & .NET Tutorials SharePoint ]

Tampa 2007 Code Camp OBA Slides

I want to thank everyone who attended my session on Saturday.  I had been sick all week and was still feeling quite run down but we had some great discussions.  Office Business Applications (OBA) are really an excited way to look at developing or extending line-of-business applications.  As promised here are my slides and some important OBA links.Download Tamp 2007 Code Camp OBA PresentationSupply Chain Management OBA Reference PackLoan Origination Reference Pack

posted @ Wednesday, July 18, 2007 7:29 AM | Feedback (0) | Filed Under [ C# & .NET Tutorials Community & Events OBA and VSTO System Integration ]

Thoughts On Recursion

Recursion is a computer science concept in which a method / function essentially calls itself until some condition is met.  Recursion can be an elegant solution to some logic problems.  However, I believe there are some potential dangers in using recursion that should carefully be consider.  Recursion is not an impossible concept to grasp it is just one that takes some thought.  The skill level of those maintaining an application should be considered before implementing recursion as it is a more advanced programming concept and could lead to serious performance issues of not implement correctly. namespace RecursionTest { class...

posted @ Tuesday, July 10, 2007 5:45 AM | Feedback (0) | Filed Under [ C# & .NET Tutorials Debugging ]

Office Business Applications Architecture Talk With Colin Cole

The following conversation is a conversation with Microsoft Financial Services Sr. Architect Colin Cole discussing Office Business Applications (OBA).  This is a new type of blog post for me and a Drowning In Technical Debt first.  I hope to conduct similar conversations in the future.  Finally, I would like to thank Colin for making time to have this conversation with me.dbottjer says: So I figured a good place to start would be with a definition.  What is OBA?  I did some research and here is what I came up with. Office Business Applications (OBA) use the Microsoft Office Suite of...

posted @ Thursday, May 24, 2007 6:27 PM | Feedback (4) | Filed Under [ Architecture C# & .NET Tutorials OBA and VSTO System Integration ]

Understanding Composite Application Block Series

We've been using the Composite Application Block (CAB) and Smart Client Software Factory (SCSF) since they first emerged.  Most of my focus has been on the middle tier and service layer which our smart client front ends consume.  However, recently we have needed more manpower building smartparts.  As result I've been refreshing my knowledge of the CAB and SCSF.  I found found a great blog series on understanding the cab.  The series does a great job defining the CAB terminology and explaining the basic architecture.

posted @ Tuesday, May 15, 2007 1:55 AM | Feedback (0) | Filed Under [ Architecture C# & .NET Tutorials Smart Client ]

DoNotExposeGenericLists recommends Collection<T> over List<T>

DoNotExposeGenericLists is a Code Analysis rule exposed within Visual Studio when List<T> is publically exposed.  For example, List<T> may be exposed through properties, methods, parameters, etc.  Why does DoNotExposeGenericLists recommend that I expose Collection instead of List? [David Kean] explains that Collection<T> is the better choice b/c it exposes 4 overidable methods.  The methods are ClearItems, InsertItem, RemoveItem and SetItem.  Events can be raised from within these four methods to provide a notification when changes are made to the Collection.  

posted @ Wednesday, May 9, 2007 1:55 PM | Feedback (0) | Filed Under [ C# & .NET Tutorials Debugging Tips-n-Tricks ]

.NET 2.0 FailFast Method

[Dave] copied me on an email a few months back from a colleauge regarding the FailFast method.  This method was added to the .NET 2.0 framework and basically terminates a process without executing the any application Try-Finally or finalizer code.  Additionally, this method creates a memory dump for your application and writes a log entry to the Windows Application Event Log.

posted @ Tuesday, May 8, 2007 8:07 PM | Feedback (0) | Filed Under [ C# & .NET Tutorials ]

Full C# & .NET Tutorials Archive

Powered by: