Ernst Kuschke

     Arbitrary thoughts and musings on life, the universe and everything else

Syndication

News

    ernst kuschke (v1.0)

    My Photos

    Microsoft Most Valuable Professional

    Member in good standing

    View Ernst Kuschke's profile on LinkedIn

    Add to Technorati Favorites

Blogs I read

Books I recommend

General Links

June 2006 - Posts

The processing of messages in BizTalk is referred to as an "interchange". With BizTalk 2004, when receiving messages on a Receive Location that contain multiple submessages, an error in any of the submessages will result in the entire interchange being suspended. (This means that all of the resulting submessages are suspended).
An example is the processing of a  flat-file: having it split into multiple XML documents by the Receive Pipeline. If any of the resulting XML documents have an error (like a schema violation), all submessages (the interchange) will be suspended.

In BizTalk 2006, however, there is the recoverable interchange. This would result in BizTalk only suspending those submessages that contain errors - valid messages will be routed to the work queue.
To use this is simple, and can be done in two places:

At design-time, during Pipeline development, on your Disassembler component:




Or at run-time, using the Administration Console to configure the Receive Location's Receive Pipeline:



Another cool new feature of BTS06!
Posted by Ernst Kuschke | 3 comment(s)
Filed under: ,
Over the last few weeks I discovered that Smart Tags in Visual Studio 2005 just weren't working anymore, but since I did not have time to investigate this too much I never gave thought to what the cause might be. Today I stumbled upon not only the cause, but also a fix! The culprit is the May 2006 "Orcas" LINQ Preview (which is ultra-cool, by the way!!). Thanks Raimond.
Posted by Ernst Kuschke | with no comments
Filed under: ,
The Identity and Access Management Developer Center recently launched, and seems to be a great resource for learning about the different types of Identity in Windows.
Posted by Ernst Kuschke | with no comments
Filed under:

Scoble handed in his resignation on Saturday. His new blog is over here. He will most probably blog about it himself, too :-P

Posted by Ernst Kuschke | 2 comment(s)
Filed under:

I was going through the DOTNET-CLR list earlier this morning, when I saw a post where someone needed simple help:

"I'd like to convert the Dictionary Values to a List<> anybody know any magic .net classes/code?"

That sounded like something I could whip up in a few seconds. Fired up VS2005, New C# Console App, and with simply the help of Intellisense I had the following lines in a matter of seconds:

Dictionary<int, int> dic = new Dictionary<int, int>();
List<KeyValuePair<int, int>> myList = dic.ToList<KeyValuePair<int, int>>();

I posted these in reply to the question, but too fast! As long as it would've taken to press Ctrl-Shift-B too fast. Even though intellisense popped up the ToList method conveniently, attempting to compile this would result in:

    error CS0117: 'System.Collections.Generic.Dictionary<int,int>' does not contain a definition for 'ToList'

The people on this list alerted me to this fact immediately: That there is no such thing is a ToList method! Opening up the Object-browser to do a search for "ToList" yielded the following:

And sure - there is the very ToList method, inside mscorlib! And Dictionary extends System.Collections.Generic.IEnumerable<T>, which in turn extends System.Collections.IEnumerable, as seen above! Wow, isn't it insane how large and bloated IEnumerable has suddenly become?! I am certainly not going to implement all of that for my enumerable collections!!!

What is happening here is this - I have the LINQ Preview installed, which adds many extension methods onto IEnumerable; this in turn makes it possible to write those sweet LINQ queries. Unfortunately intellisense does not work of reflection on referenced assemblies, but rather off xml files for the BCL libraries (for performance reasons). I had a chat to Scott Nonnenberg, and he confirmed that, for the LINQ Preview, the compiler can ineed differentiate between project types, but not the C# Code Editing Integration. (For a minute there my world was upside down, and I thought I was totally nuts!)

Extension methods sure has the ability to make things look unfamiliar - Ian and myself have blogged about this before.

Posted by Ernst Kuschke | with no comments

A mate pointed me to memoryx for memory upgrades. If you install the required ActiveX control they can inspect your hardware and tell you exactly what memory you need, and what your options are. Fair prices and speedy delivery too.

Posted by Ernst Kuschke | 1 comment(s)
Filed under: