<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://developers.de/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Damir Dobric Posts : AppFabric</title><link>http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx</link><description>Tags: AppFabric</description><dc:language>en</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>Power of Windows Azure PaaS: State Share and Persistence in the cloud</title><link>http://developers.de/blogs/damir_dobric/archive/2013/04/22/state-share-and-persistence-in-the-cloud.aspx</link><pubDate>Mon, 22 Apr 2013 13:00:00 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:524764</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=524764</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2013/04/22/state-share-and-persistence-in-the-cloud.aspx#comments</comments><description>&lt;p&gt;If you are experienced enterprise developer who targets the Microsoft platform, you have probably at least once in your have a requirement to share some state across different instance of an application.    &lt;br /&gt;But, if you are hobby developer or any other professional developer, who possible do not focus distributed systems, you will might find the term “State” in context of persistence a pure theory thing.     &lt;br /&gt;So who ever you are, let’s start with a simple theory thing.     &lt;br /&gt;Imaging you have in theory a trivial application (today I call such applications simply “apps”). Assume this is an app running on smart phone or any other mobile device. This app has a variable ‘A’ and value assigned to this variable ‘1’. This value is not the default value. It is rather the value which user has assigned at some point of time.     &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_010BAA6F.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_59652E44.png" width="158" height="152" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;Now, imagine the application crashes and you start it again. The value of variable A is obviously lost. If you want to keep this value somewhere, so it can be loaded even if application crashes. We call that usually persistence. Depending on application and your skill, there are several ways to persists the value of an variable. For example you can use any kind of local cache, like a file system.     &lt;br /&gt;    &lt;br /&gt;But what if your application has to survive the hardware damage? Or what if your application is consisted multiple clients which have to share the same value? In this case you will have to use some kind of database.     &lt;br /&gt;As long you are in control of your infrastructure (means application is deployed in your enterprise) you can use some database to persist the value. The good example of this is Workflow Foundation. Long running processes require by default the state persistence.     &lt;br /&gt;Unfortunately we have more often scenarios where applications are distributed across the web. In such cases the only sharing artifact between such applications is the cloud. Following picture shows&amp;#160; how two apps (or applications) share their state through the cloud.     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_5245F1CC.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_7914080C.png" width="578" height="157" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;This is a nice theoretical case which is practically a horror to implement. I strongly believe that today we are implicitly preparing for dominance of devices in the web. In this hypothetical scenario both devices (see picture above) should act as services to be able to share their state. If you are distributed application or integration developer you know that connectivity us such scenarios is a big, big issue. Or simply, it is the fact, devices in the web have a private IP address and because of that they are not reachable by anybody. So if the microscope on the left cannot reach the smart-phone on the right, the state from left to right cannot be propagated and vice versa.    &lt;br /&gt;    &lt;br /&gt;If this to theoretical to you, imagine just a service which is running distributed across cloud. This might be WCF service, Windows Service (running in SCM) or even Web Api based service. Whatever technology you peek, it does not matter. The only important thing is that you want run multiple instances of the service, but on two machines which are not in the same environment (if they are in the same environment even better). So that means, independent on a case, devices or services or both, we have the same requirement:&lt;/p&gt;  &lt;p&gt;1. Sharing of the state between applications distributed in the web    &lt;br /&gt;2. Persisting of the state without database.&lt;/p&gt;  &lt;p&gt;You believe or not, this problem can be solved by using Windows Azure Service Bus, which in this case plays a role of cloud artifact. To illustrate how this can work, take a look on following example.    &lt;br /&gt;This is a console application in C#. The state which should be shared and persisted across many applications is stared in variable State. &lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;class&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;Program&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;{ &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;public&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;static&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;WebState&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;gt; State { &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;get&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;set&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;; }&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; &lt;/span&gt;            &lt;p&gt;&amp;#160;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;static&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;void&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; Main(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;[] args)              &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{ &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;State = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;WebState&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;gt;(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;ConfigurationManager&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;.AppSettings[&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;SbConnStr&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;],&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;BusinessDomain&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;ConfigurationManager&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;.AppSettings[&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;Node&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;]);              &lt;br /&gt;              &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;/span&gt;            &lt;p&gt;&amp;#160;&lt;/p&gt;         &lt;/p&gt;         &lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;State.StateChanged += State_StateChanged;             &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;Console&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;I&amp;#39;m node with name: &amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; + &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;ConfigurationManager&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;.AppSettings[&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;Node&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;]);            &lt;p&gt;&lt;/p&gt;         &lt;/span&gt;          &lt;p&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;/span&gt;            &lt;p&gt;&amp;#160;&lt;/p&gt;         &lt;/p&gt;         &lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;Console&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;Running with state: {0}&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;, State.Value);            &lt;p&gt;&lt;/p&gt;         &lt;/span&gt;          &lt;p&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;/span&gt;            &lt;p&gt;&amp;#160;&lt;/p&gt;         &lt;/p&gt;         &lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;while&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; (&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;true&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;)            &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{             &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;State.Value = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;Console&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;.ReadLine();            &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}             &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}             &lt;p&gt;&lt;/p&gt;         &lt;/span&gt;          &lt;p&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;/span&gt;            &lt;p&gt;&amp;#160;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;static&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;void&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; State_StateChanged(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;object&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; sender, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;WebStateEventArg&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;gt; e)              &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{               &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;Console&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;State changed by {0} at value: {1}&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;, e.InstanceName, e.NewValue);              &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;"&gt;}&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;"&gt; &lt;/span&gt;            &lt;p&gt;&amp;#160;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&lt;/span&gt; &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;As you see this variable is of type &lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;WebState&lt;/span&gt;, which is implemented by me. When you start this&amp;#160; application, enter some text on the console. The text will be immediately persisted in the cloud after following line of code is executed:     &lt;br /&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;     &lt;br /&gt;State.Value = …&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Now stop the application gracefully and start it again. You will notice that application write out the value which was as last one persisted. In fact event with one participant in the system you have achieved the persistence.    &lt;br /&gt;The magic behind this is implemented on top of Windows Azure Service Bus queues. Each time the value is changed, the WebState implementation receives the existing message from the queue and put back the new message in the queue which basically holds the serialized value of variable State, and so on. Because access to the queue is session based, Service Bus guaranties that no any other applications which shares this value, will access the queue in the same time. I don’t want to call this distributed transaction, but it behaves in persistence this scenario like it would be one. In fact the WebState class uses the Queue as a unit of storage. By reading and immediate writing back of the new value, it is guarantied that the queue holds one and only one message all the time.     &lt;br /&gt;Following picture illustrate this. Each time the value i changed the old value is stored in the queue as a message. The old value is received from queue and the new message with new value is sent to the queue. At the end the old one is completed, because &lt;em&gt;PeekAndLock&lt;/em&gt; receive is used.When the new instance of the State is created (for example when application is started) the same cycle with receive/send is done. This is how multiple applications obtain there actual state.     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_1FE21E4D.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_11A3A55D.png" width="657" height="492" /&gt;&lt;/a&gt;     &lt;br /&gt;Additionally the implementation of the WebState takes a care about state sharing. For this purpose there is a topic used to share state changes. All participants in this distributed system have to create a subscription on that topic.     &lt;br /&gt;In this case (see picture below) the new value is published as a message to the topic. After that all subscribers can receive the message with the new value. The publishing process additionally updates the new value in the persistence queue from previous example.     &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_7F5ADE9A.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;margin-left:0px;display:inline;border-top-width:0px;margin-right:0px;" border="0" alt="image" align="left" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_2A3342AD.png" width="857" height="525" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Because topic-subscriptions are used, the application which was not running for a while, will automatically receive all state changes which have happened in the mean time.    &lt;br /&gt;    &lt;br /&gt;This examples shows how complex patterns can be implemented by using connectivity service in Windows Azure. I know that majority of people out there still think a..bout cloud as an old thing. There is also a group of people who thinks that cloud is unsafe think to keep the data. If you are one them them please rethink your thinking. The scenario and solution shown above is a new way of thinking and using cloud services. And the nice think here is that practically no real data is stored in the cloud.     &lt;br /&gt;As you see, the cloud is more than solely putting of some application online. :)     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;The code for this will be published soon.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=524764" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Architecture+and+Modeling/default.aspx">Architecture and Modeling</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Integration/default.aspx">Integration</category></item><item><title>ExpressionTranslator Error when publishing Workflows</title><link>http://developers.de/blogs/damir_dobric/archive/2013/03/26/expressiontranslator-error-when-publishing-workflows.aspx</link><pubDate>Tue, 26 Mar 2013 21:43:00 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:523118</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=523118</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2013/03/26/expressiontranslator-error-when-publishing-workflows.aspx#comments</comments><description>&lt;p&gt;When working with Workflows, which running in Workflow Manager (SP devs call it usually SharePoint Workflow) on-premises or in Office 365 you might get following error:&lt;/p&gt;  &lt;p&gt;Expression: DateTime.Now.ToString()&lt;/p&gt;  &lt;p&gt;&amp;quot;&lt;em&gt;Property access conversion to an activity is not supported for property &amp;#39;CurrentDomain&amp;#39; defined on type &amp;#39;System.AppDomain&amp;#39;.&amp;quot;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;This error occurs during Translation of the workflow. The translation is a step in process of publishing of the Workflow in Workflow Manager. it basically translates all expressions in Workflow Activities in a form    &lt;br /&gt;required by XAML, before the workflow is published (installed) to the host.&lt;/p&gt;  &lt;p&gt;Following picture shows an expression which will cause described error:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_4D437AF6.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_1ADFA777.png" width="347" height="185" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The picture left below shows XAML expression which is translated in a bit different expression (picture right below). Note that DateTime.Now.ToString() is in this case not evaluated. It is a pure string like “BLA, BLA”.&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;Assign&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:red;mso-highlight:white;mso-ansi-language:en-us;"&gt;sap2010:WorkflowViewState.IdRef&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;=&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;Assign_1&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;gt;              &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;Assign.To&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;gt;              &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;OutArgument&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:red;mso-highlight:white;mso-ansi-language:en-us;"&gt;x:TypeArguments&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;=&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;x:String&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;gt;              &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;mca:CSharpReference&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:red;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; x:TypeArguments&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;=&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;x:String&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;result&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;mca:CSharpReference&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;gt;              &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;OutArgument&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;gt;              &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;Assign.To&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;Assign.Value&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;gt;              &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;InArgument&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;              &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:red;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; x:TypeArguments&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;=&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;x:String&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;DateTime.Now.ToString()              &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;InArgument&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt; &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;mso-highlight:white;"&gt;Assign.Value&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;"&gt; &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;          &lt;p class="MsoNormal"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;line-height:115%;mso-highlight:white;"&gt;Assign&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;"&gt;&amp;gt;&lt;/span&gt; &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_13C06AFF.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_336F44C7.png" width="661" height="291" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Right now, it is not possible to access properties within Expressions. To make this working you will unfortunately have to define the type to access properties. For example, if you want to access MyCustomTye.MyProp you will have to create the activity like GetMyCustomPropActivity and define InArgument&amp;lt;MyCustomTye&amp;gt; and OutArgument&amp;lt;yourproptrustedtype&amp;gt;. The later one will hold the value of MyProp.   &lt;br /&gt;This activity have to extend trusted surface (se URL below) even if the type is common .NET type like DateTime.&lt;/p&gt;  &lt;p&gt;How to create custom activities: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/blogs/damir_dobric/archive/2012/09/16/workflow-trusted-surface.aspx"&gt;http://developers.de/blogs/damir_dobric/archive/2012/09/16/workflow-trusted-surface.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/jj193517(v=azure.10).aspx"&gt;http://msdn.microsoft.com/en-us/library/windowsazure/jj193517(v=azure.10).aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=523118" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/ServiceBus/default.aspx">ServiceBus</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Workflow+Manager/default.aspx">Workflow Manager</category></item><item><title>How to setup Service Bus permission ?</title><link>http://developers.de/blogs/damir_dobric/archive/2012/12/04/how-to-setup-service-bus-permission.aspx</link><pubDate>Tue, 04 Dec 2012 15:21:00 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:472029</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=472029</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2012/12/04/how-to-setup-service-bus-permission.aspx#comments</comments><description>&lt;p&gt;When working with ServiceBus for Server, the setup is responsible to define default user’s permissions. During setup procedure you will have to provide the credentials of the user who will be admitted to host and to manage Service Bus.    &lt;br /&gt;However permissions for Workflow Manager are managed a different way. During installation of the Workflow Manager you will have to provide the name of the group of users (by default BUILIN\Administrators) who can manage the Workflow Host.     &lt;br /&gt;This will setup the permissions for user who can manage Workflow Host. But note this will not setup permissions for Service Bus namespace. This is so far not a limitation, because in a case of Workflow Host you will usually not deal with Service Bus Namespace directly. Even more the namespace behind Workflow Host is more or less a hidden artifact.     &lt;br /&gt;But sometimes there are scenarios especially with ServiceBus in play, which enable you to do powerful things by dealing directly with Service Bus. You can this way extend the functionality of the Workflow Host. This might be in the future a valid and possibly lovely scenario for SharePoint developers.&lt;/p&gt;  &lt;p&gt;If so, you will have to change permissions of the namespace of the Workflow Host in the Service Bus itself.Before you start type &lt;strong&gt;Get-SBNamespace WorkflowDefaultNamspace&lt;/strong&gt;. This Power shell command shows the current state of the default namespace assuming this is the namespace which you want to manipulate).&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#7030a0;border-collapse:collapse;border-bottom:medium none;border-left:medium none;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" cellspacing="0" cellpadding="0"&gt;     &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;       &lt;td style="border-top:windowtext 1pt solid;border-right:windowtext 1pt solid;border-bottom:windowtext 1pt solid;padding-bottom:0cm;padding-top:0cm;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:460.6pt;mso-border-alt:solid windowtext .5pt;"&gt;         &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&gt;&lt;span style="font-size:10.5pt;font-family:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:white;mso-ansi-language:en-us;mso-themecolor:background1;"&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : WorkflowDefaultNamespace              &lt;br /&gt;AddressingScheme&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Path               &lt;br /&gt;CreatedTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 11/28/2011 1:56:25 PM               &lt;br /&gt;IssuerName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : WorkflowDefaultNamespace               &lt;br /&gt;IssuerUri&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : WorkflowDefaultNamespace               &lt;br /&gt;ManageUsers&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : &lt;/span&gt;&lt;span style="font-size:10.5pt;font-family:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:white;mso-themecolor:background1;"&gt;&lt;a href="mailto:%7bappfabriuser@daenetlab.lan"&gt;&lt;span style="color:white;mso-ansi-language:en-us;mso-themecolor:background1;"&gt;{appfabriuser@daenetlab.lan&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10.5pt;font-family:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:white;mso-ansi-language:en-us;mso-themecolor:background1;"&gt;, &lt;/span&gt;&lt;span style="font-size:10.5pt;font-family:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:white;mso-themecolor:background1;"&gt;&lt;a href="mailto:bahro@daenetlab.lan"&gt;&lt;span style="color:white;mso-ansi-language:en-us;mso-themecolor:background1;"&gt;bahro@daenetlab.lan&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10.5pt;font-family:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:white;mso-ansi-language:en-us;mso-themecolor:background1;"&gt;}              &lt;br /&gt;DnsEntry&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :               &lt;br /&gt;PrimarySymmetricKey&amp;#160;&amp;#160; : ABC…DEF..OBFUSCATED=               &lt;br /&gt;SecondarySymmetricKey :&lt;/span&gt;&lt;span style="font-size:72pt;mso-ansi-language:en-us;"&gt; &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p class="MsoNormal"&gt;   &lt;br /&gt;As you see there are two users permitted to manage the namespace. appfabricuser and bahro. Both are from the same domain daenetlab.lan.     &lt;br /&gt;If you want to extend permission to additional user (i.e. damir) do following:&lt;/p&gt;  &lt;p&gt;PS C:\Program Files\Workflow Manager\1.0&amp;gt; set-sbnamespace -ManageUsers&amp;#160; appfabr    &lt;br /&gt;&lt;a href="mailto:csuser@daenetlab.lan"&gt;csuser@daenetlab.lan&lt;/a&gt;, &lt;a href="mailto:bahro@daenetlab.lan"&gt;bahro@daenetlab.lan&lt;/a&gt;, &lt;a href="mailto:damir@daenetlab.lan"&gt;damir@daenetlab.lan&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Execute &lt;strong&gt;Get-Namespace&lt;/strong&gt; again and here we are:     &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#7030a0;border-collapse:collapse;border-bottom:medium none;border-left:medium none;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" cellspacing="0" cellpadding="0"&gt;     &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;       &lt;td style="border-top:windowtext 1pt solid;border-right:windowtext 1pt solid;border-bottom:windowtext 1pt solid;padding-bottom:0cm;padding-top:0cm;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:460.6pt;mso-border-alt:solid windowtext .5pt;"&gt;         &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&gt;&lt;span style="font-size:10.5pt;font-family:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:white;mso-ansi-language:en-us;mso-themecolor:background1;"&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : WorkflowDefaultNamespace              &lt;br /&gt;AddressingScheme&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Path               &lt;br /&gt;CreatedTime&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 11/28/2011 1:56:25 PM               &lt;br /&gt;IssuerName&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : WorkflowDefaultNamespace               &lt;br /&gt;IssuerUri&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : WorkflowDefaultNamespace               &lt;br /&gt;ManageUsers&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : &lt;/span&gt;&lt;span style="font-size:10.5pt;font-family:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:white;mso-themecolor:background1;"&gt;&lt;a href="mailto:%7bappfabriuser@daenetlab.lan"&gt;&lt;span style="color:white;mso-ansi-language:en-us;mso-themecolor:background1;"&gt;{appfabriuser@daenetlab.lan&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10.5pt;font-family:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:white;mso-ansi-language:en-us;mso-themecolor:background1;"&gt;, &lt;/span&gt;&lt;span style="font-size:10.5pt;font-family:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:white;mso-themecolor:background1;"&gt;&lt;a href="mailto:bahro@daenetlab.lan"&gt;&lt;span style="color:white;mso-ansi-language:en-us;mso-themecolor:background1;"&gt;bahro@daenetlab.lan&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10.5pt;font-family:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:white;mso-ansi-language:en-us;mso-themecolor:background1;"&gt;, &lt;a href="mailto:damir@daenetlab.lan"&gt;damir@daenetlab.lan&lt;/a&gt;}               &lt;br /&gt;DnsEntry&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :               &lt;br /&gt;PrimarySymmetricKey&amp;#160;&amp;#160; : ABC…DEF..OBFUSCATED=               &lt;br /&gt;SecondarySymmetricKey :&lt;/span&gt;&lt;span style="font-size:72pt;mso-ansi-language:en-us;"&gt; &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p class="MsoNormal"&gt;   &lt;br /&gt;New user has been added and this namespace can be used now for custom extended scenarios on top of your already used namespace.     &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=472029" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Windows/default.aspx">Windows</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/ServiceBus/default.aspx">ServiceBus</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Integration/default.aspx">Integration</category></item><item><title>Agenda for SharePoint Workflow Engine Deep Dive</title><link>http://developers.de/blogs/damir_dobric/archive/2012/11/18/agenda-for-sharepoint-workflow-engine-deep-dive.aspx</link><pubDate>Sun, 18 Nov 2012 21:05:01 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:423236</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=423236</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2012/11/18/agenda-for-sharepoint-workflow-engine-deep-dive.aspx#comments</comments><description>&lt;p&gt;Announcing agenda for session “SharePoint Workflow Engine Deep Dive” at conference “&lt;em&gt;Knowledge Days rund um SharePoint - DAS Event zu Microsoft SharePoint 2013&lt;/em&gt;” in Munic at     &lt;br /&gt;Nov. 20 and Nov.21. 2012.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_07135DFA.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_4671118A.png" width="813" height="752" /&gt;&lt;/a&gt; &lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_661FEB52.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_10F84F65.png" width="244" height="56" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="5"&gt;AGENDA&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_65B3B85D.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_3E796F28.png" width="973" height="419" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=423236" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Office+365/default.aspx">Office 365</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Windows/default.aspx">Windows</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Serialization of Exceptions in Workflow Manager</title><link>http://developers.de/blogs/damir_dobric/archive/2012/11/16/serialization-of-exceptions-in-workflow-manager.aspx</link><pubDate>Fri, 16 Nov 2012 21:03:00 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:416653</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=416653</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2012/11/16/serialization-of-exceptions-in-workflow-manager.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Note that when using workflows with Variables of type Exception, you might run into serialization issues. This is usually not a general Workflow problem. However if you use persistence feature, workflow host with enforce serialization of all variables in the workflow. Because Exception is not by default a serializable type, the workflow will fail in the moment of serialization.   &lt;br /&gt;    &lt;br /&gt;The things are getting even worse if you use Workflow Manager as a host. For all of you SharePoint developers, this is always the problem, because SharePoint Workflows are by default serializable.&lt;/p&gt;  &lt;p&gt;Here is what you can do before activity which cause the workflow to be persisted:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_6AFCE74E.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_389913CF.png" width="285" height="159" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Workflow is persisted when Persists activity, Delay Activity or any other listener (wait on message) activity is started and the host is Workflow Manager.   &lt;br /&gt;In a case of AppFabric server as host, things looks a bit different.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=416653" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category></item><item><title>Announcing my Session “Connecting Web Systems” at Advanced Developer Conference 2012</title><link>http://developers.de/blogs/damir_dobric/archive/2012/10/27/announcing-my-session-connecting-web-systems-at-advanced-developer-conference-2012.aspx</link><pubDate>Sat, 27 Oct 2012 12:45:15 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:373832</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=373832</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2012/10/27/announcing-my-session-connecting-web-systems-at-advanced-developer-conference-2012.aspx#comments</comments><description>&lt;p&gt;If you are professional developer or architect who focus Microsoft technologies, then ADC is the conference of great choice. Internationally recognized and legendary experts will present most popular technology topics.    &lt;br /&gt;One of best things at this conference I personally like is “NO MARKETING”. All session content is pure experience with pre-filtered sponsoring and marketing noise.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://www.adc10.de/"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;margin-left:0px;border-left:0px;display:inline;margin-right:0px;" border="0" alt="image" align="left" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_272A4A80.png" width="538" height="279" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;At the upcoming Advanced Developer Conference 2012 in Germany I will give two session. Here is the first look on agenda for “Connecting Web Systems” session. Because this session is not related to some product, it will focus new peaces of technology at the Microsoft’s development platform. This time I decided to talk about technologies which might dramatically change the web soon. However this might also influence the way how we thing about applications and it will definitely change the architecture of future applications. As Integration MVP in last two years I was involved in some more or less hidden and still not well documented technology areas with focus on WebSockets, SignalR and communication in Web in general.&amp;#160; &lt;br /&gt;Content presented in this session is pure result of this work. You are welcome.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_5FD4F48D.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_6DA73A88.png" width="614" height="447" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=373832" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Asp.Net/default.aspx">Asp.Net</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/WCF/default.aspx">WCF</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Windows/default.aspx">Windows</category></item><item><title>Windows Server AppFabric HotFixes</title><link>http://developers.de/blogs/damir_dobric/archive/2012/10/19/windows-server-appfabric-hotfixes.aspx</link><pubDate>Fri, 19 Oct 2012 20:22:49 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:356568</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=356568</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2012/10/19/windows-server-appfabric-hotfixes.aspx#comments</comments><description>&lt;p&gt;Cumulative HotFixes for Windows Server AppFabric: &lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/hh351221.aspx" href="http://msdn.microsoft.com/en-us/library/hh351221.aspx"&gt;http://msdn.microsoft.com/en-us/library/hh351221.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=356568" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category></item><item><title>How to activate WCF on IIS8 and Windows 8?</title><link>http://developers.de/blogs/damir_dobric/archive/2012/09/24/how-to-activate-wcf-on-iis8-and-windows-8.aspx</link><pubDate>Mon, 24 Sep 2012 15:03:18 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:329730</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=329730</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2012/09/24/how-to-activate-wcf-on-iis8-and-windows-8.aspx#comments</comments><description>&lt;p&gt;When you start working with WCF on Windows 8 and IIS8, you might run into following problem.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;HTTP Error 404.3 - Not Found&lt;/em&gt;&lt;/p&gt;  &lt;h6&gt;&lt;em&gt;The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.&lt;/em&gt;&lt;/h6&gt;  &lt;p&gt;To make this working you have enable (install/activate) Advanced .NET 4.5 Features, which are mostly related to WCF:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_13E0A8FE.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_0197E23C.png" width="857" height="544" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=329730" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Core.Net/default.aspx">Core.Net</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/WCF/default.aspx">WCF</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Core.Net+WCF/default.aspx">Core.Net WCF</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Windows/default.aspx">Windows</category></item><item><title>ServiceBus Message Broker Service is starting and starting…(Cannot Deploy SPS Workflow)</title><link>http://developers.de/blogs/damir_dobric/archive/2012/09/18/servicebus-message-broker-service-is-starting-and-starting.aspx</link><pubDate>Tue, 18 Sep 2012 05:21:00 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:329310</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=329310</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2012/09/18/servicebus-message-broker-service-is-starting-and-starting.aspx#comments</comments><description>&lt;p&gt;When working with Windows Azure Workflow, Workflow Host Manager or Share Point 2013 Workflow you might experience several problems related to Message Broker Service.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Issues related to broker In SharePoint are manifested through workflow deployment issues. For example, if you try to deploy the workflow you might get following error:    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Error 1 Error occurred in deployment step &amp;#39;Activate Features&amp;#39;: System.IO.InvalidDataException: A response was returned that did not come from the workflow service. Status code = 503:    &lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01//EN&amp;quot;&amp;quot;&lt;a href="http://www.w3.org/TR/html4/strict.dtd&amp;quot;"&gt;http://www.w3.org/TR/html4/strict.dtd&amp;quot;&lt;/a&gt;&amp;gt;     &lt;br /&gt;&amp;lt;HTML&amp;gt;&amp;lt;HEAD&amp;gt;&amp;lt;TITLE&amp;gt;Service Unavailable&amp;lt;/TITLE&amp;gt;     &lt;br /&gt;&amp;lt;META HTTP-EQUIV=&amp;quot;Content-Type&amp;quot; Content=&amp;quot;text/html; charset=us-ascii&amp;quot;&amp;gt;&amp;lt;/HEAD&amp;gt;     &lt;br /&gt;&amp;lt;BODY&amp;gt;&amp;lt;h2&amp;gt;Service Unavailable&amp;lt;/h2&amp;gt;     &lt;br /&gt;&amp;lt;hr&amp;gt;&amp;lt;p&amp;gt;HTTP Error 503. The service is unavailable.&amp;lt;/p&amp;gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;If you are rather Service Bus guy, you will figure out that Broker Service does not start. It is all the time in starting status. In both cases, take a look on status of Windows Fabric Host Service. You will probably notice that this service is not running. If so start it, stop the broker and start the broker again.    &lt;br /&gt;If you cannot stop the broker service while starting, got to task manager&amp;#160; and kill Microsoft.ServiceBus Message Broker process. Then start the broker service.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=329310" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/WCF/default.aspx">WCF</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category></item><item><title>Workflow Expression Error: Left and Right argument types should match for comparison operations</title><link>http://developers.de/blogs/damir_dobric/archive/2012/08/20/workflow-expression-error-left-and-right-argument-types-should-match-for-comparison-operations.aspx</link><pubDate>Mon, 20 Aug 2012 10:24:16 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:326828</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=326828</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2012/08/20/workflow-expression-error-left-and-right-argument-types-should-match-for-comparison-operations.aspx#comments</comments><description>&lt;p&gt;When building custom workflows in SharePoint or when building in general Workflows with WF 4.5, you might get following error:    &lt;br /&gt;    &lt;br /&gt;&lt;em&gt;”Left and Right argument types should match for comparison operations”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Due the new C# Expression support, this error will happen if you have an C# expression like shown at the next picture:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_1FA8747C.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_5F725B01.png" width="356" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To workaround this, change expression as follows:    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_06407142.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_181D050F.png" width="392" height="144" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=326828" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category></item><item><title>Is Service Bus Server an ESB product?</title><link>http://developers.de/blogs/damir_dobric/archive/2012/08/01/service-bus-server-is-not-an-esb-product.aspx</link><pubDate>Wed, 01 Aug 2012 06:23:00 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:324922</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=324922</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2012/08/01/service-bus-server-is-not-an-esb-product.aspx#comments</comments><description>&lt;p&gt;Service Bus 1.0 (also called Service Bus Server) is a Microsoft messaging product, which many people will compare with Enterprise Service Bus. Currently Microsoft is NOT positioning Service Bus Server as an ESB product. The reason for that is that Service Bus doesn’t support many of features which are supported by typical ESB. For example a common service bus supports features like We don’t have any of the ‘other’ ESB features like: protocol conversion, message transformation, adapters (in term of BizTalk), business monitoring etc.&lt;/p&gt;  &lt;p&gt;Service Bus is for now a messaging runtime focused on rich &lt;a href="http://developers.de/blogs/damir_dobric/archive/2012/06/17/about-direct-and-brokered-messaging.aspx"&gt;messaging patterns&lt;/a&gt; like pub-sub &amp;amp; queues. Moreover it guaranties &lt;u&gt;on-prem&lt;/u&gt; and &lt;u&gt;cloud&lt;/u&gt; symmetry.&lt;/p&gt;  &lt;p&gt;To recap, Service Bus is not an ESB product but rather a messaging platform.&lt;/p&gt;  &lt;p&gt;An interesting combination of Service Bus Server and Workflow enables however easy implementation&amp;#160; of highly scalable workflow based and long running scenarios, which make place for new innovative solutions.&lt;/p&gt;  &lt;p&gt;For more information take a look &lt;a href="http://developers.de/blogs/damir_dobric/archive/2012/07/17/hello-service-bus-for-server-server-windows-azure-workflow-and-sharepoint-workflow-host.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=324922" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/BizTalk/default.aspx">BizTalk</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/WCF/default.aspx">WCF</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category></item><item><title>Installing Workflow 1.0 BETA with Workflow Host</title><link>http://developers.de/blogs/damir_dobric/archive/2012/07/31/installing-workflow-1-0-beta-with-workflow-host.aspx</link><pubDate>Tue, 31 Jul 2012 07:34:36 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:324768</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=324768</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2012/07/31/installing-workflow-1-0-beta-with-workflow-host.aspx#comments</comments><description>First of all download all components from &lt;a title="http://www.microsoft.com/en-us/download/details.aspx?id=30369" href="http://www.microsoft.com/en-us/download/details.aspx?id=30369"&gt;http://www.microsoft.com/en-us/download/details.aspx?id=30369&lt;/a&gt; To install the Service Bus run &lt;u&gt;workflow.3f.3f.3fnew.exe&lt;/u&gt;.   &lt;br /&gt;Another possibility would be to use Web Platform installer.   &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_1060DC09.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_2C0567FF.png" width="780" height="535" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After start of installation setup will detect dependent components. Please note that restart will be required assuming that .NET 4.5 has not been previously installed. It is important to understand that Workflow Host has a dependency to Service Bus. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_300FB5D1.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_24E62B87.png" width="689" height="475" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you previously didn’t install Service Bus you can proceed with installation of Workflow Manager directly. Setup will automatically recognize missing dependencies.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_38C0ABCD.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_437E0322.png" width="698" height="536" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Click &lt;strong&gt;I Accep&lt;/strong&gt;t to proceed. Please also note that Workflow used in Workflow 1.0 BETA (the name might be changed future) is built on top of .NET 4.5. This means that this version of Workflow is almost identical with the common WF 4.5. This Workflow BETA 1 contains few more activities which support activation of workflow instances via service bus message. Moreover, current version does not support Messaging activities like ReceiveMessage. This is an important architecture issue you should be aware of!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_6BCF4E84.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_1DC6EF0F.png" width="700" height="472" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After installation of .NET 4.5 you will have to restart the machine.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_4FBE8F99.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_4495054F.png" width="689" height="476" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;At the end following appears:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_768CA5D9.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_6F6D6961.png" width="695" height="188" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After all Workflow will appear in start menu:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_4F525CA4.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_4428D25A.png" width="360" height="123" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Last but not least, do not forget to install Workflow Tools for Visual Studio.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;x86: &lt;a href="http://go.microsoft.com/fwlink/?LinkID=251615&amp;amp;clcid=0x409"&gt;http://go.microsoft.com/fwlink/?LinkID=251615&amp;amp;clcid=0x409&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;x64: &lt;a href="http://go.microsoft.com/fwlink/?LinkID=250946&amp;amp;clcid=0x409"&gt;http://go.microsoft.com/fwlink/?LinkID=250946&amp;amp;clcid=0x409&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you don’t install them new activities will not appear in designer and design time APIs cannot be uses (i.e. publishing of workflow).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=324768" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/WCF/default.aspx">WCF</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category></item><item><title>Installing Service Bus Server 1.0 BETA</title><link>http://developers.de/blogs/damir_dobric/archive/2012/07/24/installing-service-bus-server-1-0-beta.aspx</link><pubDate>Tue, 24 Jul 2012 13:35:00 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:324305</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=324305</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2012/07/24/installing-service-bus-server-1-0-beta.aspx#comments</comments><description>&lt;p&gt;   &lt;br /&gt;In July 2012 Microsoft has for the first time published a peace of Windows Azure which is installable locally (On-Premise). It is Service Bus (v1 BETA) which is slightly adapted version of Windows Azure Service Bus. If you are aware of this product this post will help you to install it. If you are new to Service Bus Server (this is how some people call it) it is highly recommended to take a look on this &lt;a href="http://developers.de/blogs/damir_dobric/archive/2012/07/17/hello-service-bus-for-server-server-windows-azure-workflow-and-sharepoint-workflow-host.aspx"&gt;article&lt;/a&gt;.    &lt;br /&gt;    &lt;br /&gt;Before you start with installation go to following URL and download all required components from &lt;a title="http://www.microsoft.com/en-us/download/details.aspx?id=30376" href="http://www.microsoft.com/en-us/download/details.aspx?id=30376"&gt;http://www.microsoft.com/en-us/download/details.aspx?id=30376&lt;/a&gt;. To install the Service Bus run &lt;u&gt;&lt;strong&gt;servicebus.3f.3f.3fnew.exe&lt;/strong&gt;&lt;/u&gt;. Another option to do that is to use Web Platform installer v4. Following picture shows two new components in Platform Installer. This post is related to installation of Service Bus 1.0. If you want to install Workflow 1.0 you will anyhow have to first install Service Bus.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_2B73A3F7.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_18BEAA40.png" width="771" height="536" /&gt;&lt;/a&gt;    &lt;br /&gt;    &lt;br /&gt;After start of Service Bus Server setup following dialog appears:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_0A803150.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_2A2F0B18.png" width="676" height="457" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Immediately after start the list of missing dependencies will appear (see picture below). Please note that after installation restart will be required! Note that if you previously have installed Windows Fabric component you will have to uninstall it. Note that it is not necessary to go to direct link (shown below). Simply click &amp;quot;I Accept&amp;quot; to proceed. Setup will automatically download and install required components.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_5ECF6753.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_5090EE63.png" width="698" height="478" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After installation of Service management Components 3.0 you will have to restart the machine.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_05314A9F.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_44FB3124.png" width="403" height="167" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After restart the installation will proceed automatically. At the end the start menu will contain the node “Windows Azure Service Bus” :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb17_5F00_04C517AA.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image_thumb[17]" border="0" alt="image_thumb[17]" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb17_5F00_thumb_5F00_5D8ACE74.png" width="360" height="123" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=324305" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/WCF/default.aspx">WCF</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/WinRT/default.aspx">WinRT</category></item><item><title>How to uninstall Service Bus Server and Workflow Host?</title><link>http://developers.de/blogs/damir_dobric/archive/2012/07/19/how-to-remove-service-bus-server-and-workflow-host.aspx</link><pubDate>Thu, 19 Jul 2012 05:42:00 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:323654</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=323654</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2012/07/19/how-to-remove-service-bus-server-and-workflow-host.aspx#comments</comments><description>&lt;p&gt;This post is related to BETA version of Service Bus Server and Workflow Host which is used in Share Point 2013. It should help you to uninstall previous version of Service Bus and Workflow.&lt;/p&gt;  &lt;p&gt;Use the following procedure to remove Workflow and Service Bus from a node in a farm. You must perform these actions on every node from which you want to delete Workflow and Service Bus.&lt;/p&gt;  &lt;p&gt;1. Go to stare menu locate AppFabric Server and start configuration wizard. Remove the node from the farm as described in &amp;quot;Leaving a Farm&amp;quot;. If you have lot of time you can also use PowerShell.&lt;/p&gt;  &lt;p&gt;2. Open the&amp;#160; Control Panel windows and uninstall following components:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Microsoft AppFabric&amp;#160; &lt;br /&gt;      &lt;br /&gt;Microsoft Windows Fabric&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;After these steps ServiceBus and Workflow including Windows Azure Fabric&amp;#160;&amp;#160; which is running locally are removed. However all databases will remain at the SQL server. If you want to remove them, you can/should first make a backup.&lt;/p&gt;  &lt;p&gt;You can use SQL Management Studio to remove the databases that were associated with Workflow and Service Bus.    &lt;br /&gt;Following databases are related to SB and WF Host:&lt;/p&gt;  &lt;p&gt;a. AppFabricManagementDB&lt;/p&gt;  &lt;p&gt;b. SbGatewayDatabase&lt;/p&gt;  &lt;p&gt;c. SBContainer01 &lt;/p&gt;  &lt;p&gt;d. WFInstanceManagementDB&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Last but not least. if you have Visual Studio installed at the machine and have previously installed Workflow Client, you will have to remove it too. If you don’t do it the installation of the new Workflow Client and Workflow itself will fail.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_5DDEA36E.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_4B95DCAC.png" width="730" height="46" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=323654" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/WCF/default.aspx">WCF</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category></item><item><title>Hello Service Bus 1.0, Workflow 1.0 and SharePoint Workflow Host</title><link>http://developers.de/blogs/damir_dobric/archive/2012/07/17/hello-service-bus-for-server-server-windows-azure-workflow-and-sharepoint-workflow-host.aspx</link><pubDate>Tue, 17 Jul 2012 04:08:18 GMT</pubDate><guid isPermaLink="false">7e491611-45ad-4dae-a68f-c4cb64439510:320678</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/damir_dobric/rsscomments.aspx?PostID=320678</wfw:commentRss><comments>http://developers.de/blogs/damir_dobric/archive/2012/07/17/hello-service-bus-for-server-server-windows-azure-workflow-and-sharepoint-workflow-host.aspx#comments</comments><description>&lt;p&gt;The &lt;font style="background-color:#ffff00;"&gt;OnPrem&lt;/font&gt; version of&lt;font style="background-color:#ffff00;"&gt; Windows Azure Service Bus&lt;/font&gt; is probably firs peace of Azure Cloud which can be installed on your laptop. Personally I would call it Enterprise Service Bus, which can and should be used for almost any kind of messaging in enterprise. The good thin on this is that the exactly (more or less) the same version is running in the Windows Azure Cloud. The exactly same means in term of API which developers will used. “More or less” means that there are still few differences.     &lt;br /&gt;First and probably less important difference is Relaying feature. This feature is currently supported in the cloud only (at least for now). Queue and Topic messaging is fully supported.&lt;/p&gt;  &lt;h4&gt;Windows Token&lt;/h4&gt;  &lt;p&gt;However from the architecture point of view, it is more important that On-Premise version (Service Bus Server) additionally to ACS use Windows Token to access queues and topics. To make this working, SB supports internally some kind of Security Token Service, which is able to issue the ACS compatible token on behalf of Windows Token tight in the first message request.    &lt;br /&gt;This is all you should now for now about this STS. In fact it is transparent for developer and you shouldn’t eve know that it exist. This information is interesting to understand that there is no any magic behind changed security system. Please note that Service Bus Server can also create a namespace in SB&amp;#160; which uses ACS just like SB in azure.     &lt;br /&gt;&lt;/p&gt;  &lt;h4&gt;Service Bus Configuration in PowerShell&lt;/h4&gt;  &lt;p&gt;The currently available release supports Power Shell Based configuration only. The RTM version will additionally support a Configuration Wizard.    &lt;br /&gt;Note the Service Bus Explorer supports Service Bus Server (see link below). &lt;/p&gt;  &lt;h4&gt;Installation via WEB PI 4&lt;/h4&gt;  &lt;br /&gt;  &lt;p&gt;Currently you will have to use WEB Platform Installer v4 &lt;a title="http://www.microsoft.com/web/downloads/platform.aspx" href="http://www.microsoft.com/web/downloads/platform.aspx"&gt;http://www.microsoft.com/web/downloads/platform.aspx&lt;/a&gt;. to install the bits. The setup contains in fact two products: Windows Azure Workflow and Service Bus. Both products are installable on your machine. Yes, that’s right. Windows Azure Workflow is installable on the local machine. Depending on what you want to install, select SB or/and WF and proceed with installation.     &lt;br /&gt;&lt;/p&gt;  &lt;h4&gt;Topology Facts&lt;/h4&gt;  &lt;p&gt;The SB cluster is supported with High Availability feature similar to caching service. That means HA is supported by 3+ nodes in the cluster.    &lt;br /&gt;The underlying database can be SQL Express (no joke), SQL 2008 and even SQL 2012.     &lt;br /&gt;Workgroups are supported too.     &lt;br /&gt;Up to now, bits can be installed on Windows 7 and Windows 8 client OS family. Both are currently supported for development purposes only.     &lt;br /&gt;&lt;/p&gt;  &lt;h3&gt;Workflow 1.0 &lt;/h3&gt;  &lt;p&gt;The workflow version installed here needs much more space and time to be explained. For now it is important that you can run your Workflows in Windows Azure. The same version can also be run on-premise. Unfortunately this version cannot use Windows Server AppFabric. The team has internally decided to build the new host for massive scale which activates Workflow Instances from Service Bus topic. At the moment you will have decide whether to use the Windows Server AppFabric host or this one. The new host has been specifically built for SharePoint 15 which is first Microsoft product which will span its workflows on top of Service Bus on premise.    &lt;br /&gt;Note that the same host and workflow will be used by SharePoint Online Version.     &lt;br /&gt;With this version SharePoint has finally a serious host for running processes outside of SPS pool. My best wishes.(I was waiting almost 10 years for this). More experienced architects and developers might start to think about SharePoint as a SAP Netweaver. Please just don’t overuse it in this case (as often in the past of SPS).&amp;#160; &lt;br /&gt;Authoring of Workflows and SPS13 Workflows is WF 4.5.     &lt;br /&gt;NOTE, that not all activities of the common WF 4.5 version are supported. For example messaging activities (i.e. ReceiceMessage) and versioning are not supported. Fortunately there are special activities which can perform activation of workflow by message. In fact this is the only way to start he workflow.     &lt;br /&gt;If you want to use custom activities in&lt;em&gt; On-Prem&lt;/em&gt; version of workflow, there are few extra steps which you have to manually (for now) perform.     &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;Following sample illustrate how to receive the message from topic.     &lt;br /&gt;&lt;/p&gt;  &lt;table style="border-bottom:medium none;border-left:medium none;list-style-type:disc;border-collapse:collapse;background:#daeef3;border-top:medium none;border-right:medium none;mso-background-themecolor:accent5;mso-background-themetint:51;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;" class="MsoTableGrid" cellspacing="0" cellpadding="0"&gt;     &lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;       &lt;td style="border-bottom:windowtext 1pt solid;border-left:windowtext 1pt solid;padding-bottom:0cm;padding-left:5.4pt;padding-right:5.4pt;border-top:windowtext 1pt solid;border-right:windowtext 1pt solid;padding-top:0cm;mso-border-alt:solid windowtext .5pt;"&gt;         &lt;p style="line-height:normal;margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="mso-ansi-language:en-us;"&gt;&lt;font color="#0000ff" face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:en-us;"&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt; System;&lt;/font&gt;                   &lt;br /&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; System.Collections.Generic;&lt;/font&gt;                   &lt;br /&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; System.Net;&lt;/font&gt;                   &lt;br /&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; Microsoft.ServiceBus;&lt;/font&gt;                   &lt;br /&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; Microsoft.ServiceBus.Description;&lt;/font&gt;                   &lt;br /&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;using&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; Microsoft.ServiceBus.Messaging;&lt;/font&gt;                   &lt;br /&gt;                  &lt;br /&gt;                  &lt;br /&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;namespace&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt; Daenet.ServiceBus                    &lt;br /&gt;{                     &lt;br /&gt;                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;class&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;Subscriber&lt;/font&gt;&lt;/span&gt;                   &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;font face="Consolas"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{                     &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;strike&gt;&lt;font face="Consolas"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;private&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt; ServiceNamespace;                      &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;private&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt; Issuer;                      &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;private&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000" face="Consolas"&gt; Key;                    &lt;br /&gt;&lt;/font&gt;&lt;/strike&gt;&lt;font face="Consolas"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font color="#000000"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;private&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; TopicName = &lt;/font&gt;&lt;span&gt;&lt;font color="#a31515"&gt;&amp;quot;demotopic&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;;                    &lt;br /&gt;                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; Main(&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;[] args)                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{                     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;ServicePointManager&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;.ServerCertificateValidationCallback = (a, b, c, d) =&amp;gt;                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{                     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;true&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;;                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;};                     &lt;br /&gt;                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;Uri&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; rootAddressManagement =                    &lt;br /&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ServiceBusEnvironment&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.CreatePathBasedServiceUri(&lt;/font&gt;&lt;span&gt;&lt;font color="#a31515"&gt;&amp;quot;https&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;,                    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; “testspace01”, &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.Format(&lt;/font&gt;&lt;span&gt;&lt;font color="#a31515"&gt;&amp;quot;{0}:{1}&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;span&gt;&lt;font color="#a31515"&gt;&amp;quot;YOURHOST&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;, 4446));                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;Uri&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; rootAddressRuntime = &lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;ServiceBusEnvironment&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.CreatePathBasedServiceUri(&lt;/font&gt;&lt;span&gt;&lt;font color="#a31515"&gt;&amp;quot;sb&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;,                    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; “testspace01”, &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.Format(&lt;/font&gt;&lt;span&gt;&lt;font color="#a31515"&gt;&amp;quot;{0}:{1}&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;span&gt;&lt;font color="#a31515"&gt;&amp;quot;YOURHOST&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;, 9354));                    &lt;br /&gt;                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;NamespaceManagerSettings&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; nmSettings = &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;NamespaceManagerSettings&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;();                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;nmSettings.TokenProvider = &lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;TokenProvider&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.CreateWindowsTokenProvider(&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;List&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;lt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;Uri&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;&amp;gt;() { rootAddressManagement });                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;NamespaceManager&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; namespaceManager = &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;NamespaceManager&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;(rootAddressManagement, nmSettings);                    &lt;br /&gt;                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;MessagingFactorySettings&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; mfSettings = &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;MessagingFactorySettings&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;();                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;mfSettings.TokenProvider = &lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;TokenProvider&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.CreateWindowsTokenProvider(&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;List&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;lt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;Uri&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;&amp;gt;() { rootAddressManagement });                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;MessagingFactory&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; factory = &lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;MessagingFactory&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;.Create(rootAddressRuntime, mfSettings);                    &lt;br /&gt;                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;SubscriptionClient&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; subscriptionClient =                    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; factory.CreateSubscriptionClient(TopicName, &lt;/font&gt;&lt;span&gt;&lt;font color="#a31515"&gt;&amp;quot;Subscription1&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;, &lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;ReceiveMode&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;.PeekLock);                    &lt;br /&gt;                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;while&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; (&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;true&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;)                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{                     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;BrokeredMessage&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; message = subscriptionClient.Receive(&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;TimeSpan&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;.FromSeconds(1500));                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt; (message == &lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;)                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;break&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;;                    &lt;br /&gt;                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;try&lt;/font&gt;&lt;/span&gt;                   &lt;br /&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{                     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;Console&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.WriteLine(&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.Format(&lt;/font&gt;&lt;span&gt;&lt;font color="#a31515"&gt;&amp;quot;Message received: SEQUENCE = {0}, Id = {1},                      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Body = {1}&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;, message.Properties[&lt;/font&gt;&lt;span&gt;&lt;font color="#a31515"&gt;&amp;quot;SEQUENCE&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;], message.MessageId, message.GetBody&amp;lt;&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;&amp;gt;()));                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;message.Complete();                     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}                     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#0000ff"&gt;catch&lt;/font&gt;&lt;/span&gt;                   &lt;br /&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#000000"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{                     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;message.Abandon();                     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}                     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}                     &lt;br /&gt;                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;Console&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.WriteLine(&lt;/font&gt;&lt;span&gt;&lt;font color="#a31515"&gt;&amp;quot;\nEnd of receiving, press any key to exit.&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;font color="#000000"&gt;);                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span&gt;&lt;font color="#2b91af"&gt;Console&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;.ReadLine();                    &lt;br /&gt;                    &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;subscriptionClient.Close();                     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}                     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}                     &lt;br /&gt;}&lt;/font&gt;&lt;/font&gt;&lt;span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;It is important in this sample that things like Issuer and Key are not required. The scope used by issuing of the token is like    &lt;br /&gt;    &lt;br /&gt;&lt;em&gt;scope=http%3a%2f%2yourhostname%2ftestspace01%2fdemotopic%2fSubscriptions%2fSubscription1.&lt;/em&gt;     &lt;br /&gt;    &lt;br /&gt;The issued token is is private for developers and it will be passed internally to all calls to service bus. On thing of your interest is that this token contains claims which describe users AD membership. Based on this information SB will perform authorization.     &lt;br /&gt;    &lt;br /&gt;Resources:     &lt;br /&gt;&lt;/p&gt;  &lt;h5&gt;Service Bus Beta resources:&lt;/h5&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=30376"&gt;Service Bus 1.0 Beta (download)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/jj193022%28v=azure.10%29.aspx"&gt;Service Bus for Windows Server (Service Bus 1.0 Beta)&lt;/a&gt; MSDN documentation&lt;/p&gt;  &lt;p&gt;&lt;a href="http://download.microsoft.com/download/F/9/6/F963B6DB-A327-4D10-B3E5-024D597BEE36/ServiceBusExplorer-Server.zip"&gt;Service Bus Explorer for Windows Server&lt;/a&gt;&lt;/p&gt;  &lt;h5&gt;Workflow 1.0 Beta resources &lt;/h5&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=30369"&gt;Workflow 1.0 Beta (download)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/library/jj193528"&gt;Workflow 1.0 Beta MSDN Documentation&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/wlEmoticon_2D00_smile_5F00_07E77125.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=320678" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/WCF/default.aspx">WCF</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx">AppFabric</category></item></channel></rss>