Thursday, April 16, 2009

Hi all

I had a post about one of the context accessor functoids which can be seen here:

This post is about the other one – the one that can only be used in a map that is used in a receive port.

Basically, the functoid takes in three inputs:


The first is the name of the property and the second parameter is the namespace of the property schema this property belongs to. The third parameter is an optional string that is returned in case the promoted property could not be read.

This functoid only works in a map that is called in a receive port and only if the receive location uses a pipeline that uses the ContextAccessorProvider pipeline component that is included in he same DLL as the functoids.

What the pipeline component does is, that it takes the context of the incoming message and saves it in a public static member. This way, the functoid can access this static member of the pipeline component and read the promoted properties this way.

Good luck using it.


Thursday, April 16, 2009 12:11:22 AM (Romance Daylight Time, UTC+02:00)  #    Comments [2]  | 
Wednesday, March 2, 2011 12:18:13 AM (Romance Standard Time, UTC+01:00)
Since the data is saved in a static member, how will work in case multiple messages are received at the same time?
Sunday, March 6, 2011 11:39:51 AM (Romance Standard Time, UTC+01:00)

The context of the message is saved in a static field that has the "ThreadStatic" attribute set on it, making it static within the thread and not globally. The pipeline component and functoid operate under the assumption that the processing of a message does not change threadbetween the pipeline and the receive port map, and also under the assumption that no two messages are handled within the same thread.

For now these assumptions are valid. Future releases of BizTalk may drop this, who know...

All comments require the approval of the site owner before being displayed.
Please login with either your OpenID above, or your details below.
Home page

Comment (Some html is allowed: a@href@title, b, blockquote@cite, em, i, strike, strong, sub, sup, u) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Enter the code shown (prevents robots):

Live Comment Preview

Theme design by Jelle Druyts