Tim Murphy's .NET Software Architecture Blog

.NET

Query Application Insights REST API To Create Custom Notifications

Application Insights is one of those tools that has been around for a number of years now, but is finally getting understood as more companies move to Azure as a cloud solution. It has become an amazing tool for monitoring the performance of your application, but it can also work as a general logging platform as I have posted before. Now that you are capturing all this information how can you leverage it? Going to the Azure portal whenever you want an answer is time consuming. It would be great if ......

Enhancing Your Model In MVC 5

Simple views in ASP.NET MVC 5 are simple, but once you start getting a lot of conditional content formatting in the view things can get very messy. Once you get to the point where your Razor code has way to many if/else blocks and they start repeating you have to come up with a way to abstract and simplify your code. I looked at functions and partial views as possible solutions. Both of these have their place but an alternative that you may want to entertain is implementing your model as more than ......

Wire Framing WP7 Apps With Cacoo

While looking for a free alternative to Sketchflow I landed on the Cacoo web site. Any developer who decides to use the free Visual Studio tools may find themselves doing the same search. The base functionality of Cacoo is free although there are certain features that have fees attached to them such as extended stencils and templates. Cacoo doesn’t seem to have a template for WP7. It does have templates for iOS and Android development so I started with the Android template and started modidfying ......

Styling Windows Phone Silverlight Applications

If you have not developed with styles in Silverlight/XAML then it can be challenging and resources can be sparse depending on how deep you get. One thing that you need to understand is what level you can apply styles and how much they can cascade. What I am finding is that this doesn’t go to the level that we are used to in HTML and CSS. While styles can be defined at a page level if you want to share styles throughout your application they should be defined in the App.xaml file. This is of course ......

October 2011 Chicago IT Architects Group Recap

It was another engaging presentation at this month’s CITAG meeting as Joe Hummel presented functional programming and its implementation using F#. Some times it is fun to attack a mind bending problem and this was one of those times. Leaning about functional programming caused about the same brain cramps as moving from procedural to object oriented for the first time. Of course when you start to get it the effect is almost euphoric. I would suggest that if you haven’t looked into functional programming ......

Windows Phone Silverlight Poor Man's Double-Tap

I have seen a lot of articles about gestures but they require third party libraries or complex coding approaches. What I am going to present here isn’t strictly elegant or necessarily the best approach, but this is the way we would catch this type of event when we were still dealing with message loops. For the app that I have been working on I need to take action on the double-tap of a list item. The first question you have to ask your self is what a double-tap really is. It is in simplest terms ......

Laying Out Windows Phone 7 ListBoxes

A listbox can be a very boring display surface, but it doesn’t have to be. Ok, so it may never be exciting. At least we can create a more flexible output. The first element you need to learn about his the ItemTemplate which is in turn composed of a DataTemplate. As this combo implies it is bound to each item/data row. We will start organizing your base layout with a Grid control. Within the Grid you can add a RowDefintions group. A RowDefinition helps when you want components to be stacked for a ......

WCF Deployment To IIS

If you are developing you WCF service for web service deployment under IIS and coding with the Visual Studio web server you are in for a rude awakening when it comes time to deploy your solution. Ok, so that is a little over dramatic, but there are a few steps and precautions you need to know about. Below are the main steps to deploying your application to IIS assuming WCF is already installed and registered. The first step is to create an application pool. Make sure that for your .NET 3.5 WCF service ......

Creating Emails For Windows Phone 7

There are many reasons that you may want to add email capability to your Windows Phone 7 application. There are a number of ways you can communicate information out from an application. The mechanism for sending email from your WP7 application is the EmailComposeTask API. The difference between this API and the one that you would use for an ASP.NET application is that it opens a screen to allow the user to select an account to use and then creates a message which the user then has to send. This makes ......

The Power Of Windows Phone 7 Tasks

One of the things that is important to learn when you are developing any application is how it will interact with the environment it lives in. I’m not talking about simply interacting with files or database but with major resources. With WP7 there are a number of things such as the photos, browser, maps and the phone itself that your application may be concerned with. The WP7 development API includes a number of access points to give your application greater reach. These APIs can be found here. They ......

Speaking At The Chicago Code Camp

I just got news that my talk on Office Open XML has been accepted for the Chicago Code Camp. I hear that they will be announcing the full schedule of sessions soon. Be sure to register and join us. As a bonus the guys from .NET Rocks will be there. http://www.chicagocodecamp.com del.icio.us Tags: .NET Rocks,Chicago Code Camp,Speaking,OOXML SDK 2.0,OOXML,Office Open XML,PSC Group ......

Learning WPF

Wow! The learning curve for WPF is pretty steep. It is at least when you compare it to WinForms or ASP.NET. I guess the price you pay for flexibility is complexity. Discoverablility is definitely a problem with XAML. How do these silly tags work? Most of them don't have properties as you would expect. You have to add child tags which may or may not have properties. The children may also be extensions of the parent object. Certain tags seems like they will have an effect, such as wrapping content, ......

WCF Service Development Basics

Part of the fun of being a consultant is that the technology you use changes from day to day. Recently it is WCF which, while knowing the concepts of since it came out I haven’t used up until now. The nice thing is that it really isn’t any harder to develop for than a normal ASP.NET web service. A couple of the attributes change and which project type you start with is different, but it is still message based services. Just like the method of a web service needs a Webmethod attribute a method in ......

Windows Phone 7 TextBox InputScope

I originally started looking for how to make a TextBox have autocomplete capability. Strangely all the articles said that it couldn’t be done. The last thing you want is for your applications to make your users struggle entering information when every other application gives them a quicker entry method. So what is the solution? The TextBox tag has an InputScope property which if you set it to Text it builds a dictionary list as the user types. For the other InputScope types it mainly changes the ......

Handling Windows Phone 7 Back Button

When you have an application that navigates to more than one level of pages you find situations where you don’t want to go back to the previous page. Originally I was thinking that the answer was to capture the OnBackButton event and force the navigation back to the main page, but through several posts I found that this would not pass certification. Here is a link that really helped to figure out a more appropriate solution. To be a little more complete here is example code that you can use use for ......

Practical Window Phone 7 ListBox Usage

Almost every example of a Silverlight ListBox that I have found merely shows how to get data bound to it, not what to do once you get it there. What good is a ListBox that you can’t get a reference back from? The quickest practical way is to hold your original datasource and use the index of the selected item as you key back into your data. It isn’t pretty and you wouldn’t want to take this approach with large amounts of data, but then again a mobile device isn’t meant to display large amounts of ......

Sending Large Arrays With WCF

Windows Communication Foundation is a powerful tool for building contract based messaging. As with most powerful technologies with flexibility comes a fair amount of complexity. I ran into one of these situation while trying to send files as part of message in the form of a byte array. In itself this is a simple concept. The problem is that the default configuration of WCF is setup to protect us from denial of service attacks to the best of its ability. In order to achieve this it is setup for relatively ......

Windows Phone 7 Key Silverlight Page Events

Often times you want to you need to update a page when you enter it or save information automatically when you leave it. When you look through the events list on the property page you won’t find an event that occurs at those points in the page lifecycle. Intellisense is your friend in this case. The events OnNavigateTo and OnNavigateFrom can be overridden to give your application the required functionality. Below is a sample signature for OnNavigateTo. protected override void OnNavigatedTo(System.Window... ......

More Windows Phone 7 Panorama Notes

The saga goes on. There is always something more to learn. While I thought that ManipulationCompleted would do the trick from me it turned out it won’t. It turns out that if you want to figure out what PanoramaItem you are on when the user navigates between PanoramaItems the SelectionChanged event in conjunction with the SelectedItem on the Panorama works pretty well. private void Panorama_SelectionChanged(o... sender, SelectionChangedEventArgs e){ PanoramaItem item = (PanoramaItem)Panorama.Sele... ......

DevConnections - Wrap Up

DevConnections was a whirl-wind four days filled with learning and fun. So what did I take away from this trip? There were a lot of smart people who presented as well as attended. Unfortunately I was disappointed with about half of the sessions I attended. Luckily that leaves half of the sessions which were inspiring. The last day's highlights were Brian Noyes and Kathleen Dollard. Kathleen Dollard seemed to have a way of presenting pieces of code that just made you get the whole concept behind a ......

DevConnections - Day 3

Today was a mixed bag of disappointing session by some supposedly smart people who will remain nameless (unless I think better of it later). This was balanced out by some great sessions by Mark Miller and Dan Appleman. I'll start with Mark's session on Science of Great UIs. It was great how he showed how UIs can be built objectively. That and his sense of hurmor would have been reason enough to get your money's worth. But then ... In the middle of his presentation Mark's laptop died. I don't mean ......

Windows Phone 7 Panorama Page

Creating a WP7 application with a Panorama page is fairly simple. Teaching it to do tricks is another thing altogether. As with most development controls the key is to learn the event model along with the object model. Knowing what manipulation means, when it happens and what the different levels it occurs at can be a great benefit. This was the case when I wanted to make sure that a particular item was updated before the user got to a particular PanoramaItem. The visibility of a PanoramaItem does ......

Beginning Windows Phone 7 Development

Windows Phone 7 development is an exciting topic. I have been exploring WP7 development for a little while now and I figured I would post some of the basic concepts that might be helpful to beginners. So here they are in no particular order. Panorama control I kept seeing references to the Panorama Control. It seems that this was a control that existed separately during the beta for WP7. In the final release this is now incorporated into a page type, so you won’t see the control in the toolbox. So ......

DevConnections - Day 2

All I can say is my mind has been fired up! I started the day by attendeing Pat Helland's first session. It was looking like we were just getting a lesson in the history of computer hardware. Where that lesson lead opened my eyes to some of the issues and possible solutions we face in the IT industry going forward. This includes making our applications more granular and keeping less data on a particular machine and giving the application access to its from anywhere. He also covered the need to have ......

Linq to SQL and Linq to SQL classes

While I have been using Linq to Object for a couple of years now I had not investigated Linq to SQL up to this point. I figured I would put together my take on this technology’s use. Linq is a wonderful syntax for navigating an object graph without having to walk the graph object by object and member by member. It is concise and compact but for someone who has never seen its syntax you would swear you went from reading English to obscure mathematic notation. If you want to learn about the general ......

Creating Parent-Child Relationships in SSRS

As I have been working on SQL Server Reporting Services reports the last couple of weeks I ran into a scenario where I needed to present a parent-child data layout. It is rare that I have seen a report that was a simple tabular or matrix format and this report continued that trend. I found that the processes for developing complex SSRS reports aren’t as commonly described as I would have thought. Below I will layout the process that I went through to create a solution. I started with a List control ......

Memories Of The Past While Learning The Future

The last couple of weeks I have been working through some proof of concepts for Windows Phone 7. While working through one exercise I had a flashback. The book I was reading mentioned how you needed to code your application to have the smallest possible memory and and processing speed footprint. Suddenly I was back in high school with my Tandy hand-held computer which had a single line of text screen and a whopping 1K of memory. Talk about limitations. So what else can you learn from developing in ......

New User Group Name and October Presentation

For reasons that I will not discuss here the Chicago Architects Group has changed its name to the Chicago Information Technology Architects Group. It is the same great group of people discussing topics that are of interest to IT architects of all flavors. Whether your responsibilities are at an enterprise, solution or application level there is something here for you. For October the topic will be design patterns presented by Mike Vogt and myself. Mike has a Java background so we will be alternating ......

June LCNUG Presentation

Office Open XML has been my focus for the last 8 months. We are creating solutions that generate data and business rule heavy presentations and document. On June 24th I will be covering the how to use OOXML to generate documents that can be used as sales and marketing collateral. Register below and come out and join the discussion. http://www.eventbrite.com/e... del.icio.us Tags: Office Open XML,OOXML PSC Group,LCNUG,Document Generation ......

Chicago Code Camp Recap

My presentation on leveraging Open XML was a great experience and the attendees were very gracious. I was pleasantly surprised to have a full room. There was even one person sitting on the floor. You can check out some pictures here. I have posted my slides and code. If anyone has any feedback or questions feel free to contact me. del.icio.us Tags: Chicago Code Camp,OOXML SDK 2.0,Office Open XML,slides,code ......

May 2010 Chicago Architects Group Meeting

The Chicago Architects Group will be holding its next meeting on May 18th. Please come and join us and get involved in our architect community. Register Presenter: Scott Seely Topic: Azure For Architects Location: TechNexus 200 S. Wacker Dr., Suite 1500 Room A/B Chicago, IL 60606 Time: 5:30 - Doors open at 5:00 del.icio.us Tags: Chicago Architects Group,Azure,Scott Seely ......

Dealing With Table Borders In OOXML

Note: Cross posted from Coding The Document. Permalink Formatting tables in a document programmatically can be a very complex task. This is the major reason which we start our document generation projects with templates instead of building components in a document by hand. Borders are on aspect of a table that you may want to fomat. Borders are used to make certain content in a table stand out. If you need to conditionally set and remove borders there is something that you need to be aware of. Even ......

2010 Chicago Code Camp Coming In May

The Lake Count .NET User Group is putting on it’s second Chicago Code Camp on May 1st. I would encourage everyone to come out and participate in the Chicago area .NET community. You can register here. Better yet come of with a presentation of your own. I have submitted an abstract for a presentation on Office Open XML. del.icio.us Tags: Chicago Code Camp,presentations,Office Open XML,LCNUG ......

Naming PowerPoint Components With A VSTO Add-In

Note: Cross posted from Coding The Document. Permalink Sometimes in order to work with Open XML we need a little help from other tools. In this post I am going to describe a fairly simple solution for marking up PowerPoint presentations so that they can be used as templates and processed using the Open XML SDK. Add-ins are tools which it can be hard to find information on. I am going to up the obscurity by adding a Ribbon button. For my example I am using Visual Studio 2008 and creating a PowerPoint ......

Bolding and Underlining Text In Word Documents

Note: Cross posted from Coding The Document. Permalink In the templates that I have processed with Open XML there are usually a number of tables. Some times we have to add an extra paragraph to a cell and we want to keep the formatting of the text already in the cell. In this post I will go over how to apply bold and underline formatting to text as well as how to steal it from existing text and apply it to a new paragraph or run. In order to apply an underline format to a paragraph by hand you have ......

VS2008 Express Edition - You Get What You Pay For

I no longer work for a company that readily supplies me with MSDN software so I have to get Visual Studio for myself this time around. To that end I figured I would investigate the Express Edition. The first thing I noticed is the separation of project types. You can only do Windows or Web applications. You can't do both. I was wondering if the "search online templates" in the Create Project dialog might give some more options, but this lead to nowhere. The next step I am looking at is if you can ......

Sending Email Through Lotus Notes Via SMTPClient

The topic covered in this post actually have applicability beyond Lotus Notes, but that is just where I ran into the problem. The real subject is adding credentials to your SMTP client. Normally I would just make sure that the service sending the email has permission to send email to an Exchange server. The problem I had to send the email through Lotus and it wanted a separate login from the identity running the program. The only error message I got back when I originally wrote the code without specifying ......

How Does Simple Text Markup Differ Across The Office 2007 Suite

Note: Cross posted from Coding The Document. Permalink Our theme recently is things that need to be made more consistent in the office products in order to make document generation development more efficient for developers. This time around we will focus on difference between the way text is marked up in Word and PowerPoint. I have found that there are a number of subtle but important differences in the way text is written to the Open XML standard. This is then reflected in the Open XML SDK’s API. ......

CAG January 2010 Wrap-up

We had a great turnout this evening and some wonderful discussion. I really enjoyed presenting as well as seeing a lot of people I haven’t seen in a long time. At the same time there were a lot of new faces. Some of the input from tonight will definitely go to improving this talk if I present it again in the future. If anyone has comments feel free to leave them here. The next talk I am going to work on is Document Generation Frameworks. This will mainly be around Office Open XML, but it will include ......

nPlus1.org ArcSummit Wrap-up

On December 7th I presented at the nPlus1.org ArcSummit. My talk was on Dependency Injection and Inversion of Control containers. Thank you to all those who attended. When we were done Chris Woodruff and I were asked to record an episode of The Thirsty Developer. It was a great experience seeing how these shows are put together and being able to just sit down and talk with Dave Bost, Clark Sell and Chris Woodruff. I’ll post again when the episode comes out. The slides for the presentation are available ......

Choosing Custom XML For Tagging In Word With OOXML

In the further adventures of OOXML we have been looking at different approaches to tagging content in a Word template to be programmatically replaced. Initially we looked at simple in-line text as a user defined tagging system. The problem is that this is very error prone. The user has to enter the tag exactly the same every time. On top of that if the user backspaces while typing the tag or spell check flags the tag then the tag will be split into multiple tags. This is less than desirable. Content ......

Searching For Content Controls In Office 2007 With OOXML SDK2

As far as I have seen content controls in Office 2007 render to either a SdtRun or SdtBlock object. The nice thing is that both of these inherit from SdtElement. This allows you to take the query from my earlier post and replace SdtBlock with SdtElement and now you have a universal retrieval. Of course as with any tool you need to be careful you don’t take it too far. Depending on the structure of you document this may not do what you need. Technorati Tags: office Open XML,OOXML,LINQ,.NET ......

Retrieving A List of SdtBlocks for A Tag Value Using LINQ

If you are using a template document and replacing text programmatically using the Office Open XML SDK 2 API you will need a way to identify the target to be replaced. One option is to use a Content Control and setting the tag value the same for all of the controls that need to be substituted with a single value. After some trial and error and a lot of digging through the DocumentReflector I came up with the following LINQ query to get a list of all blocks with the same tag name. var blocks = from ......

Creating Snippets For Visual Studio

There is nothing earth shattering here. I was just putting together a set of snippets to make life a little easier while developing SharePoint and Office Open XML projects. My search for information crossed a lot of different sites. MSDN has a number of articles about all the features of creating and managing snippets. Below is a compilation of the basics around creating these little helpers. Hopefully it is a little more detailed in the whys then MSDN content. Creating A Snippet File Snippet files ......

Chicago Architects Group January 2009 Meeting

The Chicago Architects Group is kicking off a new year with it’s first meeting of the year on January 29th. Please come and join us and get involved in our architect community. Register Presenter: Angela Binkowski Topic: Visual Studio Team Systems 2010: Architect Edition Tools Preview Location: Illinois Technology Assocation 200 S. Wacker Dr., Suite 1500 Room A Chicago, IL 60606 Time: 5:30 - Doors open at 5:15 ......

Enterprise Library Book Releasing Monday

IT IS FINALLY HERE! Keenan just posted that the The Definitive Guide to the Microsoft Enterprise Library will be shipping November 26th. It has been a long time coming. While I played my small part in the initial writing, Keenan spent a lot of time trying to keep up with the face pace of Enterprise Library releases and still keep his day job. I encourage that you go out and pick up a copy. I know for my part I tried to make sure that it contained as much information as possible to extend the EL as ......

Creating A Paint.NET Effect Plugin

This is an area that I have not explored before. That is the creation of plug-ins and community property. Add to that the fact that the most graphical programming I have done is frame by frame line drawing animation on an Apple II. In this case I ran into a challenge online that requested an effect that Paint.NET did not offer. My first adventure started with a version of CodeLab published by BoltBait (sorry I don't have a real name). It is a tool that launches as an effect within Paint.NET giving ......

First Impressions of VS2008 Beta 2

I decided to take the time to download the latest beta of Visual Studio. Below are my impressions from initial usage. This mainly means I opened the environment and played a little. The first thing that you notice is that the IDE looks essentially the same as it did for VS2005. When you create a new project you will notice that there are now options for WPF, WCF, WF and AJAX projects. Seeing as I spend most of my time in web applications I figured that would be a good place to start. It is good to ......

Xiine Who?

I heard about Xiine on .NET Rocks and figured I would see what all the hype is about. It is a reader for magazines, books and other formatted content built on .NET 3.0 technologies including WPF. Future releases are also support RSS from what they were saying on the show. I have to say that the interface is pretty clean. The one thing that I notice is missing from the current release is discoverability from within the application directly. The main navigation uses a bread crumb menu, which I find ......

Renaming Groups of Files With PowerShell

One of my hobbies is photography. Naming image files so that they are useful can take a significant amount of time. Personally I like to name them by subject and by date so that they sequence nicely in Windows Explorer. I'm sure there are hundreds of application that already have this feature, but being a geek and wanting to lean something new I decided to figure out how to perform the task in PowerShell. The first thing I needed to figure out was how to select a group of files. I found that the ......

Microsoft Makes More Investments In Community

Check out this post from Tom Hollander. I have been involved before with projects that built custom versions of application blocks. This is a great way to share your learning and learn from how others have extended the Enterprise Library. I think it is a great idea. Visit the new site on CodePlex: http://codeplex.com/entlibc... ......

Review: Beginning Ajax with ASP.NET

First let me say thanks to Craig Shoemaker for sending me a copy of this book. Yes, I know it has been a while since it came out, but I just finally got around to going through it. In that time Craig has been working on another book and Microsoft has renamed Atlas to ASP.NET Ajax. Craig, Wally, Paul and Scott packed this text with gems, not only on Ajax, but also the technologies that it grew up from. The book covers how we got to this point. They start all the way back with JavaScript and the DOM ......

So What Is .NET Again?

As I have mentioned before I am a consultant. Add to that the fact that I have been doing software development professionally for about twelve years and that means that I am moving into higher level work. Unfortunately that means less time that I am getting my hands dirty in the code. This is a painful transition, especially for a code junkie like me. So what is the prescription to ease my discomfort. I think it is time to bury myself in some serious code learning. I figure I have a number of books ......

TFS Process Guidance - There Should Be A Book

In there near future I plan on putting out a few posts based on my experience customizing process templates and process guidance for Team Foundation Server. What I am finding is that the documentation and available books fall short in this area. They tell you how to setup the product, but customizing it is an infinite black abyss. As I am currently digging into the process guidance itself it is turning out to be a maze of XML and XSL files which are require some serious explanation. Calling their ......

Mobile Client Software Factory Podcast

Sometimes I envy Ron Jacobs. On a recent ARCast he talked with Daniel Cazzulino about the Mobile Client Software Factory. From the discussion it sounds like this guidance package greatly simplifies mobile development and I could see this being incorporated into future versions of the Compact Framework. One cool thing they discuss is that they had to rework the Object Builder components to remove the realtime reflection from the Dependency Injection pattern that it uses. The biggest surprise was that ......

Book Review: Professional Team Foundation Server

I picked up this book in order to fill an immediate need. I am working on setting up and customizing TFS and this covers about 80% of what I wanted to know. In its pages are covered the installation of all major components, third party tools that are available and customization to fit the way your shop works. I am especially thankful for the section on modifying the process template. I think this would be a good read for most team leads working on the VSTS 2005 platform ......

Visual Studio Team Systems Resources

I have been doing some work with VSTS and ran across a few resource that I thought some people might find of interest. Microsoft Visual Studio site - http://www.microsoft.com/vi... Team Systems Rocks (a little outdated, beta timeframe videos) - http://teamsystemrocks.com/... Team Systems Virtual Lab (only give an 90 min. environment, no instructions) - http://msdn.microsoft.com/v... Professional Visual Studio 2005 Team Systems - ISBN 0764584367 MSDN Visual ......

Interesting Facts From Podcast

In the latest ARCast Ron Jacobs talks with Scott Guthrie. As if that wasn't cool enough Ron asked him what he was most proud of. In a long list of things Scott happened to mention something that relates to one of my earlier posts. It seems that Disney's FastPass is run on machines using the .NET Compact Framework. Now that isn't a Hello World demo ......

[Updated] Enterprise Library 2.0 Hands on Labs Available

This one is of interest to me especially since I am getting closer to finishing my second chapter for the Enterprise Library book. I can't vouch for the Hands on Labs yet, since I just finished installing it, but they should be cool. Check it out. Enterprise Library 2.0 Hands on Labs Update: I took a quick look around and found that this is a great place to start for those who don't know the Enterprise Library. It isn't going to impress any advanced users, but it is still very cool ......

.NET Memory Analysis

One of the most frustrating challenges we have to deal with when we create an application is a memory related problem. These may actually manifest themselves as out of memory exceptions or possibly slow downs as the system waits for resources. Diagnosing the cause of these problems requires cunning and perseverance. So how do you go about finding the offending piece of code when your application contains several layers and thousands of lines of code. The answer is to dig into your bag of wizard’s ......

Mentor In A Bottle

I know others have already posted this one, but I wanted to put my two cents in. Scott Guthrie posted about the Patterns and Practices Guidance Explorer. The part that I thought was nice is that it comes in both desk top and web flavors. To some extent it seems to be little more than a dump of FXCop rules, but sometimes a search-able version of that is just what you need. I think a good thing to do with this is to use its ability to add more items would be to include such jewels as those in “.NET ......

Enterprise Library 3 Defined

Tom Hollander has posted what the initial feature list of changes for the next version of the Enterprise Library will consist of. One item on the list made me think that they have really taken on a challenge. There is a new application block proposed for validation. I look at things like the client side validation control and the business rule scheme that Rocky uses in CSLA.NET and I just wish I could be a fly on the wall when they go to build this. It is going to be fun to come up with a solution ......

Podcast on Extensibility

Craig Shoemaker has done is usual outstanding job with the latest installments of his Polymophic Podcast. The last two shows have been a thought provoking interview with Miguel Castro. In it they discuss design patterns that can be used to allow for greater flexibility and extensibility when building applications. This is a topic that has interested me for a while now, especially patterns such as Dependency Injection which give the ability to define at run time the way that an application will act. ......

Catching up ... 3.0?

My latest project has been all consuming to the point where I am starting to feel like the world is passing me by. The other day I was listening to a podcast while commuting and heard WinFx referred to as .NET 3.0. When did this happen? Somehow I missed that announcement. For those who are behind the times like me you might check out this site. The most disturbing part is that anyone who has been in this business for a while knows that if you don't keep up someone else will soon be doing your job. ......

ASP.NET Web Application Project Released

For those who are missing the ability to treat your ASP.NET applications in VS2005 as projects rather than individual files this release from Microsoft is for you.  If you want all the details and then some check out Scott Guthrie's post.

CSLA.NET Gets a New Forum

For those who don't subscribe to Rocky's blog, he just announced that the MSN group is being replaced by a new Community Server forum. There has been an extremely active community around his books for a number of years. If you have any interest or questions about the framework I would recommend that you join this forum ......

Why Performance and Scalable is Required Reading

We are in the middle of addressing some production issues at my current client. One of them involves an ASP.NET application which is slow to respond at times and other times does not seem to respond at all. The fun part is that there is nothing from the application side which is giving us a clue as to what is going on. This has been going on for a while and people are starting to get frustrated, so it was decided to call the experts from Microsoft. So we start having conference calls and the MS representatives ......

Rocky Presents CSLA.NET 2.0 at CNUG

Rocky Lhotka visited the Downers Grove Microsoft office this evening to present to a packed (around 170 people) CNUG meeting. He presented as comprehensive a coverage of CSLA.NET 2.0 as could be done in two hours. In that time he covered much of the same material as he did on dnrTV, except that in this format you have the opportunity to pick his brain. One topic that the group seemed to have an interest in is data driven authorization as he was asked it by a couple of people. Rocky explained it is ......

Writing Another Chapter?

Ok. So I am a glutton for punishment. I just finish writing a chapter on the Logging Application Block and was starting to research some new topics. Now I have agreed to write a chapter on the Cryptography Application Block. Hopefully with the experience of the first one under my belt this one will go a little faster. I need to get cranking so that the book can meet the July publishing date. Stay tuned and see how things turn out ......

Fun with Oracle CLOBs

We have been having prolonged adventures with this wonderful data type on my current project. We are storing XML data in a CLOB field. In the beginning we used the Oracle ODP.NET provider. When we got into performance testing we found that saving this data killed our performance. A couple of the developers did some testing and found that the Microsoft Oracle provider worked at least an order of magnitude better. I was a little skeptical about moving to the Microsoft provider because I remembered ......

Back to Our Regularly Scheduled Program

I finally sent off my Logging Application Block chapter to the main author, Keenan Newton, for an upcoming Apress Enterprise Library book. I have to say that I share Craig Shoemaker's sense of accomplishment at completing this type of endeavor. It gives me a new appreciation for all the authors that put out the tomes that I rely on to keep up with our industry. Of course now that this is done I have time again to pursue other topics. I will be doing more work with ASP.NET, GAT and SC-BAT. As that ......

MONAD Is the Answer

I almost made a mistake and skipped this week's Hanselminutes. This week Scott covers MONAD. I a nutshell, this is the command shell on object steroids. Most people who know me have heard me say that my ideal environment has the ease of use that comes with a windowing, event-driven environment with the power of a command line. Well it looks like the computer gods are smiling on me. MONAD sounds like it makes Windows really close to what I am looking for. Call me a dinosaur geek, but this is way too ......

Internal Struggle

This is just one of those things that is going to take a while to get used to. Twice now I have lost significant amounts of time trying to track down a problem only to find out that it was a matter of my expectations. I am so used to creating classes in VS2003 where classes are automatically public that it is not even something I think about. So when I try to access a class outside of its assembly that was created in VS2005 I cannot figure out why the class is not found. The reason is that the classes ......