March 2005 - Posts
This post has been moved to http://blog.cumps.be/using-debugview-and-c/ where you can find more information.
Archived version below
Another very nice tool was DebugView. This is a tool from Sysinternals that enables you to monitor all debug messages on your system. This allows you to have the following in your code:
Debug.Write("This is written trough System.Diagnostics.Debug.Write.");
Trace.Write("This is written trough System.Diagnostics.Trace.Write.");
Debug.WriteIf(inDebug, "This is written because inDebug is true.");
Having this in your code is very handy for debugging in an early stage, where you haven’t added a logging component, such as Enterprise Library
, yet. Or in a scenario where you don’t want to attach the Visual Studio Debugger
, or can’t attach it, but still want to view some debug information from your program.
It’s also possible to connect to a remote computer, and intercept these debug messages remotely
After having added code like this, the only thing that has to be done is open DebugView
and run the program. DebugView
would then intercept the messages and display them as following:
This tool is only 240 KB in size, and completely free, which is really amazing for such a powerful and useful tool.
During my internship I had to test against different kinds of products, and to be sure everything worked on a clean install of this product, I had to create multiple virtual PC’s. One method of doing this was to create one clean Windows 2003 installation inside Virtual PC and copy this image to a new folder for every different server I needed. This was the method I started with, but one disadvantage was that it required a lot of disk space, as the base image already required 1.8 GB.
A solution to this problem was to use a feature of Virtual PC, called Differencing Disks
. This allows for the creating of a base read-only image, which is called the parent, which can be shared with unlimited other virtual machines, the children.
Every child stores their disk changes in a separate file, making it possible to have one clean Windows 2003 parent image, and having a child which only adds Windows SharePoint Services to a separate file. The combination of parent and child would then become a Windows 2003 machine running Windows SharePoint Services.
This way, having a lot of different children uses a lot less space than having to copy the complete base image each time.
Additionally this method also can be used on a network to provide complete base images to all network clients. Making it possible to create an archive of base images for each platform (Windows 98, 2000, XP, 2003, Linux, BSD, …) and placing them on a read-only network share, ready to be consumed by all users creating their own local child disks.
On March 2, 2005 the ASP.NET 2.0 On Tour came to Belgium, Brussels. This is an international tour, all about the latest Microsoft technology, featuring speakers such as David Platt
and Dave Webster
The subjects of this event were about showing what ASP.NET 2.0 and Visual Studio 2005 had to offer, and how to migrate to these new products and technologies.
One of the sessions was about “Personalization & Membership in ASP.NET 2.0
”, by Gunther Beersaerts
and Bart De Smet
, which was very nice thanks to the good balance between demos and slides.
They talked about the Membership Service
, which takes care of the management of users, password generating, validating logins and everything else related to authentication. Other areas of ASP.NET 2.0 they touched were the Role Management Service
and the Profile Service
Trough the Role Management Service
, everything related to authorization based on roles can be done in a simple way with static methods to perform key management tasks. While the Profile Service
takes care of storing user-specific data persistently in a strongly typed manner, thus making it very easy to customize your site to the logged on user.
This event really gave a good view on what is to come in the web development area.