Tuesday, April 26, 2005 5:15:59 AM (GMT Standard Time, UTC+00:00)
I made this fix last week but am I just having time to post about it. This was actually a pretty minor bug that turned out to be really really hard to fix. You can continue to download bug fixed version from here
ContextAdder is a Pipeline Component that can be used at any pipeline stage (in either a receive or a send pipeline) to add context properties. Unlike most other situations where context properties are dynamic (i.e. they come from the message itself or the surrounding execution context) sometimes all you need is one property in the context for a particular scenerio in BizTalk to work. So I built ContextAdder which is a generic pipeline component so I didn't have to build a new pipeline component everytime I wanted to hard code some context property into a pipline.
Anyway - the bug presented itself in the following scenerio - if you opened a pipeline file, changed the Context property information (either the name,value, namespace uri, or whether you wanted to promote the property or not) and then did a build without explicitly saving, the pipeline designer and the ContextAdder lost the change. If you saved manually before building everyting was fine.
It turns out that the issue was - the way the UITypeEditor works with the Property Grid in VS.NET didn't cause the pipeline editor to think the document was "dirty" even though clearly it was. The bug will present itself in any pipeline component that has a property which is a collection or had a UITypeEditor associated with it, it appears that the pipeline editor relies in general on the Property Grid to inform it when a pipeline has been modified and is "dirty".
So I spend some time looking at the implementation of UITypeEditors for the built-in pipeline components (like the XML Dissasembler) and tried to mimic their functionality in my own custom UITypeEditor , which didn't work. Obviously I was missing the black magic (what they seem to do is to get an interface reference to a COM object and release it). So I hacked it :). I reached up through reflection inside of my UITypeEditor and manually set the pipeline document dirty flag to true. If you download the sample you can see the code inside of the UITypeEditor derived class inside of the ContextAdderHelper assembly (I needed to add another assembly to the solution to make all the UITypeEditor goo to work correctly). Anyway I assume I'll submit this as a bug, there must be some sanctioned way to notify the pipeline editor that a document is dirty without resorting to reflection, if anyone knows what that is - please let me know! Until then, enjoy the ContextAdder if it helpful to any of you.
BizTalk
Tracked by:
http://www.traceofthought.net/PermaLink,guid,c5418f3d-2ea7-4530-ab9c-ae4c49154fc... [Pingback]
http://cogiscan.com/pdf/img/buyphentermineonline.htm [Pingback]
http://suburbanblight.net/archives/images/levitra.htm [Pingback]
http://icebox.com/catalog/images/tramadol.htm [Pingback]
http://acccn.com.au/db_backup/buyphenterminecheap.htm [Pingback]
http://knoxsheriff.org/ccmail/data/hydrocodone.htm [Pingback]
http://warlinks.com/yabbfiles/buygenericviagra.htm [Pingback]
http://aguyinnewyork.com/archives/2005/buyviagraonline.htm [Pingback]
http://rexhotelvietnam.com/images/old/cheapgenericcialis.htm [Pingback]
http://suburbanblight.net/archives/images/carisoprodol.htm [Pingback]
http://cuteberries.com/cbmakers/Unique/cialisonline.htm [Pingback]
http://astro-tom.com/alascripts/alachat/data/buytramadolonline.htm [Pingback]
http://folkalliance.org.au/db_backup/cialisbuycialis.htm [Pingback]
http://flyouth.org/singapore/data/soma.htm [Pingback]
http://www.google.com/search?q=vnupdbwz [Pingback]
http://www.google.com/search?q=txxhpqoo [Pingback]