Hardening Server Applications [Immo]

From time to time a company ships a product that has a huge impact on their ecosystem. A good example for us is certainly .NET. The biggest value proposition that managed code has is that it is, well, managed code. The CLR provides runtime management components such as a garbage collector or reflection that are…


New Performance Counter Features [Ryan Byington]

IntroductionBefore going into detail of the changes in v2.0 I think it is important to start off with explaining the existing problems with the performance counter infrastructure. The first problem is the memory reserved for performance counters is fixed, though the initial size of the memory can be changed from a config file. By itself…


Cross Version Serialization Broken between V1.1 and V2.0 [Ryan Byington]

In V2.0 we sometimes needed to add fields to types that existed in V1.1. If this type just has the Serializable attribute applied to it this will break serialization compatibility with V1.1. Currently when 1.1 tries to deserialize an instance with this new field it will throw an exception the runtime formatters do not allow…


How to get .NET Framework Design Guidelines Updates [Krzysztof Cwalina]

The .NET Framework Design Guidelines on MSDN are getting updated but not that frequently. Many people have asked us to publish updates more often. I have been posting such updates here for some time now. Yesterday, I added new guidelines for throwing exceptions. Happy reading.


PowerCollections MSDN TV Broadcast [Krzysztof Cwalina]

Have you heard about PowerCollections? It’s an extension library to the new generic collection classes in the System.Collections.Generic namespace. It contains many advanced collections and a ton of algorithms. You can also watch an MSDN TV broadcast where Peter Golde describes the project details.


Play the CLR acronym game! [Brad Abrams]

One of my pet peeves is seeing people use obscure managed code related terms incorrectly.  So, I thought I’d make a little game out of it… Can you match the term to their usage correct?   Terms: CLR CLS CTS CLI CER     Fill in the blank: The __ is a contract between language…


Avoiding Boxing in Classes Implementing Generic Interfaces through Reflection [Dave Fetterman]

Krzysztof Cwalina showed me this cool trick to avoid boxing value types when working with generics and interfaces.This may be a bit dense but the trick is rarely seen and illustrative.  Note before proceeding: This technique is only available in VS.NET Whidbey.  For the sake of illustration, suppose in .NET there were a notion of…


Potential additions to the Math class [Katy King]

In preparation for the next version of the product, we’ve collected suggestions for additions to the Math class and related classes.  To give you an idea of the kinds of things people ask us for, here are a list of some of the requests we’ve received.  We’re curious to know which of  these (if any)…


Writing a Useful Windows Service in .NET in Five Minutes [Dave Fetterman]

When opening up a new project in Visual Studio, one finds many, many options for deploying your new killer app: Windows Applications, Console Applications, and Web Services are all popular choices.  Even when creating a simple daemon-type process, however, the Windows Service option is likely overlooked, because it interacts with the system in what many perceive to…