WCF Communication Objects states Cheat Sheet

WCF is all about communication objects – channels, listeners, factories, all implement the ICommunicationObject interface (some through the CommunicationObject class). This provides a base implementation for the basic state machine states and transitions common to all communication-oriented object. At any given point in time, the communication objects find themselves in a CommunicationState. Here is a…

1

Microsoft Women’s Leadership and Development Conference

Every other year, Microsoft organizes a conference for women. Why? Because it recognizes that women more than men feel the need to get inspired by listening to some sessions oriented towards the emotional space and, more to the point, women feel the need to talk to other women, find out what issues those women have…


ETW (Event Tracing For Windows) – what it is and useful tools

Event Tracing for Windows is the standard way to trace used by all features of Windows. Like the article Improve Debugging And Performance Tuning With ETW explains, ETW is “a general-purpose, high-speed tracing facility provided by the operating system. Using a buffering and logging mechanism implemented in the kernel, ETW provides a tracing mechanism for…

1

Design patterns: How do you notify components about events that happen in different components?

I recently had to solve these kind of requirements: some components execute actions and at some point in time need to notify other components that certain events happened, so the other components can execute code related to these events. For example, class A executes method ChangeStateOfObjectX, and needs to notify class B when X is…


.NET Framework 4.0 implements WS-Discovery

The .NET Framework 4.0 and Visual Studio 2010 Beta 1 are live. If you haven’t tried the bits, do so and give the team feedback. There are some very cool features added – just take a look at the highlights. On the Communications front, Windows Communication Foundation has 3 major new features: support for WS-Discovery,…

1

Performance: Don’t trust, don’t make assumptions… Measure!

When it comes to performance, there’s a hard lesson I had to learn: never trust anyone, measure for yourself! Don’t trust the gurus, the MSDN documentation, the technical fellow that wrote the code. Instead, do some simple performance measurements to see what is really going on. I had to instrument my C# code with performance…

2

Fix Corrupted Performance Counters

As part of the project I am working on, I had to create performance counter categories and counters for monitoring and debugging purposes. So I wrote the code that installs the counters and everything worked as expected on my machines. Then someone told me that the application failed on his machine with this error: ERROR:…

2

Performance Comparison: Regex versus string operations

I consider regular expressions one of the most useful features ever. I use them a lot, not only when coding, but also when editing files and instead of copy and paste. I find the Visual Studio Find/Replace feature with regular expressions really useful as well. In case you are not familiar with it, you can…

3

Visual Studio Templates – Add New Item to project

Using Visual Studio to write code requires creating a project (well, you can use Visual Studio without a project, but you won’t get very much past Notepad functionality – there’s not even Intellisense on files) . After creating / opening an existing project, we can add new files (classes, class diagrams, XML files etc) by…

2

Registry Editor Favorites

The registry editor has a very useful functionality that many people overlook – the favorites. You can add the keys you are interested in the favorites category, so that you can access them later with one click. To add a key, navigate to it, then choose Favorites->Add Favorites from the menu. You can delete the…

1