Articles
Stack walking is second nature to debuggers. But if you had more interest in it than just debugging and either: wanted to know what stack walking is about, or wanted to know how stack walking is implemented, or wanted to know how a custom stack walker can be authored for your application then you might find the article, Authoring a Stack Walker for X86, useful. Its my attempt to help clarify the basics of stack walking and explain key concepts and show how it can be implemented on x86 platform. The...
One always strives to write exception safe application but there are times when an exception can go unhandled. In the .NET Framework, the AppDomain class exposes the UnhandledException event that can be used by by the managed application to know when an exception has gone unhandled. In the writeup, AppDomains and Unhandled Exception Notifications, I discuss the specifics of when and how this notification is made, what is the relationship between the thread that had unhandled exception and the AppDomain(s)...
Working on the CLR's exception handling subsystem is not just challenging but also gives unique opportunities to understand how the various exception handling subsystems (e.g. SEH, C++ EH, etc) work, and in particular, how they interoperate with one another. It was such case that had me discuss one such issue with Kevin, development lead of the JIT, that he mentions here. That discussion got me exploring the interoperability aspects of EH further and resulted in the bullets listed below. Incase you...
Did you have a scenario where you wished you could customize the creation of AppDomains? Or, you could control how many AppDomains any code that runs in your application context (e.g. if you are writing a plugin load framework) could create? Or, how about reusing AppDomains for various assemblies? I have just finished an article on how any of the above scenarios can be accomplished using the System.AppDomainManager type, introduced in .NET Framework 2.0, by intercept AppDomain creation requests....
One of the best ways to understand how the CLR works internally is to have a look at the SSCLI [a.k.a Rotor] source code. In How the SSCLI [a.k.a. Rotor] managed "new" works, I have used Rotor source code to discuss what happens behind the scenes when you use the managed new operator to instantiate a managed type, discussing implications of object size, how requests from multiple threads are handled, the different validations that are done, when out-of-memory exception is thrown, etc. If you are...
Did you have a scenario where you wished you could customize the creation of AppDomains? Or, you could control how many AppDomains any code that runs in your application context (e.g. if you are writing a plugin load framework) could create? Or, how about reusing AppDomains for various assemblies? I have just finished an article on how any of the above scenarios can be accomplished using the System.AppDomainManager type, introduced in .NET Framework 2.0, by intercept AppDomain creation requests....
One of the best ways to understand how the CLR works internally is to have a look at the SSCLI [a.k.a Rotor] source code. In How the SSCLI [a.k.a. Rotor] managed "new" works, I have used Rotor source code to discuss what happens behind the scenes when you use the managed new operator to instantiate a managed type, discussing implications of object size, how requests from multiple threads are handled, the different validations that are done, when out-of-memory exception is thrown, etc. If you are...
A nice article explaining it can be read at http://www.west-wind.com/pr
[Original Post Date: 4th January 2005] I stumbled on this post by Matt, which is an excellent article that describes how to author a single service that can be consumed by client of .NET Remoting, WCF and ASMX. Must Read...
[Original Post Date: 2nd January 2005] With WCF, state management in services get more capabilities than just Singleton and PerCall approaches. Two new modes have been introduced that take state management to the next level. PerSession and Shareable modes allow for private sessions and shared sessions across specific clients respectively. I have authored the article, Sharing State across Clients in Windows Communication Foundation, which attempts to help understand these modes of state management...
Full Articles Archive