configurationHelper: Easy to use config-store

configurationHelper is the second utility class I will discuss, it provides a simple and flexible configuration system that do not require you to predefine configuration entities in a schema. Location of config-fileThe configuration information is stored as key-value pairs in an XML file. The file is stored on disk and the location of the file…

6

How/when BizTalk initializes variables used in Expression shape

I just learned something new the other day about how BizTalk initializes variables that is used in Expression shapes. I have always since my tests with BizTalk 2004 betas performed explicit new of variables that I have declared, i.e. I have called a constructor using new SomeType(). However, I just learned from a member of…


timerHelper: Provides high-precision timing

The first utility class I intend to describe is timerHelper. The purpose of this class is to provide a high-precision timing function. Please note that it is not a timer that issues events, instead is used to measure how long something has taken to execute. The purpose of providing an additional timer (there are several…

3

Utility classes for timing, tracing and configuration

In a series of four articles (including this) I will discuss three utility classes that I frequently use when I as a consultant write code for my customers. These classes have been in development for a long time, timerHelper since 2001 and the other for a couple of years, and most times I have used…


Confusion among developers: .NET Framework vs. CLR versions

As you have already heard it was annonced some two weeks ago that WinFX will now be called .NET Framework 3.0. While it might make sense from a markering perspective to do this it will probably create confusion among developers. The reason is that .NET Fx 3.0 will contain Common Language Runtime (CLR) 2.0 along…

1

Library for creating MIME messages

A tool that I have recently made use of is a library from Code Project. The library helped me to easily build MIME messages. As I was providing a high-level API to another caller I created a wrapper around the specific classes and methods exposed by this library. The library can be found at http://www.codeproject.com/useritems/MIME_De_Encode_in_C_.asp….


PInvoke.net

During my adventures in CryptoAPI land I found a web site that has helped me to create appropriate P/Invoke declarations. The site is called www.pinvoke.net and it contains P/Invoke declarations for a large number of Win32 APIs (always in C# and sometimes in VB) as well as a few examples. Even though not all Win32 APIs…


Lesson learned: Cannot unlock software certificate pincode from code

Due to a number of reasons we needed to ensure that the sender of a message, which we were going to sign, really knew the secret password/pincode to the certificate. The basic design of this is actually flawed but we could not change this as we only replace one component in a larger flow of information….


System.Security.Cryptography – Lots of new stuff in .NET 2.0

Recently I’ve been working in a BizTalk project where my main task has been to develop a module that is used to help signing and encrypting messages. I have then had the opportunity to dive a bit deeper into the functionality provided by the classes in System.Security.Cryptography. I have previously worked with some of the…


First post

There are lots of interesting stuff happening right now! Primarily I’m thinking about BizTalk Server 2006 R2 and .NET Framework 3.0 which was both announced last week. Therefore I felt that this was a great time start blogging, lots of news to keep the interest up (both for me and for any readers). BizTalk Server…