Log4Net is a fairly old framework for logging, but it still serves it's purpose well! A couple of years back I wrote a tutorial on how to use Log4Net, today I stumbled across it, and I am quite pusseled that it is still as relevant today as it was back then. For those looking for a quick tutorial on how to use Log4Net, enjoy:
A sudden freeze in an application can in some cases be a rather cumbersome problem to solve. Many times we don't have any indications why the application freezes no matter if is a Java, C# or C++ application, web site or dll. In some cases we might have a log file to help us look for the source of the hang or freeze, but in many cases we don't have any indications of problem until we suddenly run in Release mode and far from our dev env!
Here I will try to give some guidelines on how to attack this problem.
For the last two days we have been struggling with a rather peculiar problem in a Caliburn solution. In a ResourceDictionary we had defined a Popup with a ListBox containing some textblocks and buttons. The buttons are bound to a Presenter (Caliburn v1.1), and we tried to pass a parameter with the Message.
A while back I blogged about the great features of the Dynamic Language Runtime introduced in .Net 4.0. Today I will look into another great feature introduced in C# 4.0, namely the new named and optional parameters.
If you are familiar with C++, you have probably used optional parameters earlier, but C# has missed this feature until now. As a work around we had to use overloaded methods, but in the concept of clean code, I'd rather prefer to use optional parameters!
The upcoming .Net 4.0 contains many new and exciting features, in this blog post I will describe some of the new features of the DLR including the dynamic keyword.
To quote MSDN:
The dynamic language runtime (DLR) is a runtime environment that adds a set of services for dynamic languages to the common language runtime (CLR). The DLR makes it easier to develop dynamic languages to run on the .NET Framework and to add dynamic features to statically typed languages.
The architecture of the DLR in combination with the Common Language Runtime CLR and C#, IronPython, IronRuby and Visual Basic is visualized through this illustration:
As seen from the illustration, the DLR adds three new and important features to the CLR:
Microsoft has just release a series of short (15 minutes long) how-to videos for WPF 4.0 introducing the various new features of WPF 4.0.