<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://developers.de/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Damir Dobric Posts</title><subtitle type="html">My corner on advanced Windows Development</subtitle><id>http://developers.de/blogs/damir_dobric/atom.aspx</id><link rel="alternate" type="text/html" href="http://developers.de/blogs/damir_dobric/default.aspx" /><link rel="self" type="application/atom+xml" href="http://developers.de/blogs/damir_dobric/atom.aspx" /><generator uri="http://communityserver.org" version="4.0.30619.63">Community Server</generator><updated>2013-04-13T10:14:33Z</updated><entry><title>New WCF Bug fixes released in KB2805222</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/06/18/new-wcf-bug-fixes-released-in-kb2805222.aspx" /><id>/blogs/damir_dobric/archive/2013/06/18/new-wcf-bug-fixes-released-in-kb2805222.aspx</id><published>2013-06-18T08:35:42Z</published><updated>2013-06-18T08:35:42Z</updated><content type="html">&lt;p&gt;In the .NET Framework 4.5, WCF introduces a new method named &amp;quot;Reflection Emit&amp;quot; that generates the XML Serialization assembly. This method enables scenarios where the client application cannot write a temporary serialization assembly to disk. In some cases, this may cause issues after you upgrade to the .NET Framework 4.5.   &lt;br /&gt;The ability to opt out of this new behavior and revert to the WCF 4 XML serialization is documented in the following KB article:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/kb/2748720"&gt;2748720&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;(&lt;a href="http://support.microsoft.com/kb/2748720/"&gt;http://support.microsoft.com/kb/2748720/&lt;/a&gt; ) &lt;/p&gt;  &lt;p&gt;Serialization or deserialization failures when you run existing XML serialization code in WCF 4.5 &lt;/p&gt;  &lt;p&gt;In a .NET Framework 4.5-based application, you can use the following code as the workaround that is described in KB 2748720:&lt;/p&gt;  &lt;pre&gt;&amp;lt;configuration&amp;gt;    &amp;lt;system.xml.serialization&amp;gt;        &amp;lt;xmlSerializer useLegacySerializerGeneration=&amp;quot;true&amp;quot;/&amp;gt;&amp;lt;/system.xml.serialization&amp;gt;&amp;lt;configuration&amp;gt;&lt;/pre&gt;

&lt;p&gt;Assume that you also use the same application.config file or web.config file to target both the .NET Framework 4 and the .NET Framework 4.5. In this situation, you encounter an exception that indicates the &lt;b&gt;&amp;lt;xmlserializer&amp;gt;&lt;/b&gt; element cannot be recognized under the &lt;b&gt;&amp;lt;system.xml.serialization&amp;gt;&lt;/b&gt; attribute.

  &lt;br /&gt;For applications that try to target the .NET Framework 4 and the .NET Framework 4.5, we recommend that you apply the following &amp;lt;appSetting&amp;gt; configuration to a replace the previous switch:&lt;/p&gt;

&lt;pre&gt;&amp;lt;appSettings&amp;gt;    &amp;lt;add key=&amp;quot;System:Xml:Serialization:UseLegacySerializerGeneration&amp;quot; value=&amp;quot;true&amp;quot;/&amp;gt;&amp;lt;/appSettings&amp;gt;&lt;/pre&gt;

&lt;p&gt;&lt;b&gt;Notes &lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Both switches work in the .NET Framework 4.5. However, the &amp;lt;appSettings&amp;gt; switch will make sure that the app.config file or web.config file can be transferred between the .NET Framework 4.0 and the .NET Framework 4.5. If you apply both the switches, only the &amp;lt;appSettings&amp;gt; switch will be used. &lt;/li&gt;

  &lt;li&gt;When a .NET Framework 4.0 application uses the &amp;quot;UseLegacySerializerGeneration&amp;quot; configuration element, the application returns a configuration error.&lt;/li&gt;
&lt;/ul&gt;

&lt;br /&gt;This update also resolves the following issues after you upgrade to the .NET Framework 4.5.

&lt;br /&gt;&lt;b&gt;Issue 1&lt;/b&gt;

&lt;br /&gt;When you deserialize simple arrays that are serialized as an XmlAttribute, the operation fails. Additionally, you receive the following error message:

&lt;p&gt;System.XML.XmlException ‘EndElement’ is an invalid XmlNode Type.&lt;/p&gt;

&lt;p&gt;After you upgrade to .NET Framework 4.5, IIS may return an &lt;b&gt;HTTP&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;400&lt;/b&gt;&lt;b&gt; - &amp;#39;&lt;/b&gt;&lt;b&gt;Bad Request&lt;/b&gt;&lt;b&gt;&amp;#39; &lt;/b&gt;error.

  &lt;br /&gt;&lt;b&gt;Issue 2&lt;/b&gt;

  &lt;br /&gt;Consider the following scenario:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;A base class &amp;quot;A&amp;quot; and a derived class &amp;quot;B&amp;quot; try to serialize or deserialize an object of &amp;quot;B&amp;quot;. &lt;/li&gt;

  &lt;li&gt;A virtual property is defined in &amp;quot;A&amp;quot; and is overridden by &amp;quot;B&amp;quot;. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this scenario, the serializer outputs the property that is defined in &amp;quot;A&amp;quot; instead of &amp;quot;B&amp;quot;.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;DOWNLOAD KB: &lt;a title="http://support.microsoft.com/kb/2805222" href="http://support.microsoft.com/kb/2805222"&gt;http://support.microsoft.com/kb/2805222&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=551346" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="WCF" scheme="http://developers.de/blogs/damir_dobric/archive/tags/WCF/default.aspx" /></entry><entry><title>Ordered Workflow Activation in (SharePoint) Workflow Manager</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/06/11/ordered-workflow-activation-in-sharepoint-workflow-manager.aspx" /><id>/blogs/damir_dobric/archive/2013/06/11/ordered-workflow-activation-in-sharepoint-workflow-manager.aspx</id><published>2013-06-11T18:18:00Z</published><updated>2013-06-11T18:18:00Z</updated><content type="html">&lt;p&gt;Imaging you are receiving some events which have to be used to activate new workflow instance Wi of some workflow type W.   &lt;br /&gt;As long the workflow completes faster than new events arrives, successive workflow activation will execute ordered. That means for each event Ek, workflow instance Wk will be activated in the same order as events arrive. However, sometimes you expect ordered execution of workflows by design. That means next instance of the same workflow must not be started until the previous one has completed successfully.    &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_1FDD0A31.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_78A2C0FB.png" width="232" height="203" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;h3&gt;Technical Design&lt;/h3&gt;  &lt;p&gt;Due asynchronous activation on Service Bus, you are not in control of activation of specific instance. So, to make asynchronous thing synchron is not easy task. This blog post describes one of more or less solutions which do not require any additional service or similar artifact.&lt;/p&gt;  &lt;p&gt;To make this working, implement your workflow in XAML. Then create new workflow (see blue shape below) and paste all activities from your workflow in the new workflow (black frame on picture below).&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_151AA2BE.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_26F7368B.png" width="362" height="281" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The circle on top of the workflow is the part which you have to implement. That part of workflow will guarantee the ordered execution. We will pump activation messages in the Service Bus queue as they arrive and Workflow will execute them in the received sequence. Following picture shows more details. If the workflow instance ( the only running instance) fails during execution Service Bus will automatically retry failed message when workflow is resurrected.   &lt;br /&gt;This is because Workflow Manager receives messages by “Peek And Lock” . If the workflow fails the message will be abandoned 10 times. This means workflow can fail up to 10 times!! This is default behavior which can be changed by manipulating the topic.    &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_4DC54CCB.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_5478564E.png" width="770" height="511" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;How to create Workflow which receive notifications?   &lt;br /&gt;&lt;/h3&gt;  &lt;p&gt;The blue shape on the picture above can be implemented as follows:   &lt;br /&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_7F50BA60.png" width="652" height="621" /&gt;&lt;/p&gt;  &lt;p&gt;Notice following 3 activities: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;BuildMatchAllFilter&lt;/li&gt;    &lt;li&gt;Subscribe&lt;/li&gt;    &lt;li&gt;ReceiveNotification     &lt;br /&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;BuildMatchAllFilter&lt;/strong&gt; is the activity which is usually used by publishing of the workflow. It defines the message which will activate the workflow.    &lt;br /&gt;Following code shows how this works:&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;   &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#ccffff;border-collapse:collapse;border-bottom:medium none;border-left:medium none;width:576.9pt;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:576.9pt;mso-border-alt:solid windowtext .5pt;"&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;color:black;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;/span&gt;&lt;/span&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;color:black;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;/span&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; client.PublishWorkflow(wf.Name, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;wf.Name&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;,&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;MatchAllSubscriptionFilter&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;()                &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&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;color:black;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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Matches =&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&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;color:maroon;mso-ansi-language:en-us;"&gt;&amp;quot;RunWorkflow&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;mso-ansi-language:en-us;"&gt;“&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;Ordered”}&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&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;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&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;/span&gt; &lt;/p&gt;            &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/table&gt; &lt;/p&gt;  &lt;p&gt;The designer equivalent of the same code looks like shown below:&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_261ED0A1.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_65E8B726.png" width="817" height="353" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;MatchFilter&lt;/strong&gt;&lt;/em&gt; must first define the messages, which will activate it. The definition of this filter is then saved in the variable &lt;strong&gt;&lt;em&gt;SubscriptionHandle&lt;/em&gt;&lt;/strong&gt;.     &lt;br /&gt;As next Subscribe Activity must be configured. &lt;/p&gt; When executed the &lt;strong&gt;&lt;em&gt;SubscribeActivity&lt;/em&gt;&lt;/strong&gt; practically creates the subscription on the Workflow Topic and appends the Rule defined by the filter.   &lt;br /&gt;Exact description of this is behind scope of this article, but Service Bus folks will understand what this could mean.   &lt;br /&gt;  &lt;p&gt;   &lt;br /&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_25B29DAC.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_7A6E06A4.png" width="699" height="153" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The last important activity in this scenario is &lt;strong&gt;&lt;em&gt;ReceiveNotificationActivity&lt;/em&gt;&lt;/strong&gt;. In the world of AppFabric this would be ReceiveActivity, which listens on SOAP messages.    &lt;br /&gt;in contrast to ReceiveActivity,&lt;strong&gt;&lt;em&gt; ReceiveNotificationActivity&lt;/em&gt;&lt;/strong&gt; listens for messages on the topic subscription.     &lt;br /&gt;    &lt;br /&gt;By configuring of this activity, you can leave Properties empty if you work with filter and subscription handle as we do in this case.    &lt;br /&gt;To receive the message you have two options:    &lt;br /&gt;    &lt;br /&gt;- To use filter or    &lt;br /&gt;- To use SubscriptionHandle&lt;/p&gt;  &lt;p&gt;You cannot use both!&lt;/p&gt;  &lt;p&gt;If you use Filter, then &lt;strong&gt;ReceiveNotificationActivity&lt;/strong&gt; will receive message and immediately remove the subscription from topic. In workflow like our one when &lt;strong&gt;&lt;em&gt;ReceiveNotification&lt;/em&gt;&lt;/strong&gt; is inside of the loop is using of filter (as property of ReceiveNotification) &lt;strong&gt;no-go&lt;/strong&gt;!    &lt;br /&gt;Why? Assume some client is sending lot of messages which have to be processed. This is exactly scenario which we are describing in this article. In this case, the message will be received and subscription removed.    &lt;br /&gt;As long the workflow activities are executing business logic after the message is received, all upcoming messages will not be delivered to subscription, because subscription does not exist at all (remember, it is removed after receive). Practically you will loose messages.    &lt;br /&gt;To fix this you have option to leave Filter property empty (like in picture below) and to set &lt;strong&gt;SubscriptionHandle&lt;/strong&gt;. As long this handle instance exists, subscription exists and messages are delivered to it. hat mean they ill remain inthere as long the business logic is executing. &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_5E5D47B9.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_6C2F8DB4.png" width="426" height="247" /&gt;&lt;/a&gt;     &lt;br /&gt;The logic which I used to approve this scenario looks like shown below:    &lt;br /&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_7E0C2181.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_3DD60807.png" width="623" height="664" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I have counted and persisted all incoming messages in several scenarios to approve this. The best way to see this in action is to put Delay activity to slows down the processing logic while   &lt;br /&gt;activation messages are pumped in. Following code snippet shows how this work.    &lt;br /&gt;After all messages are sent, attach to Workflow Host process and investigate how all messages are processed.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#ccffff;border-collapse:collapse;border-bottom:medium none;border-left:medium none;width:576.9pt;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:576.9pt;mso-border-alt:solid windowtext .5pt;"&gt;         &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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; x = 1000;               &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;color:blue;mso-ansi-language:en-us;"&gt;while&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; (x &amp;gt; 0)             &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; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;var&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; res = client.PublishNotification(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;WorkflowNotification&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;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;Properties =              &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;&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;&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;mso-ansi-language:en-us;"&gt;&amp;quot;RunWorkflow&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;mso-ansi-language:en-us;"&gt;&amp;quot;Ordered&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;&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;Content = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;Dictionary&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;object&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;&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;&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;mso-ansi-language:en-us;"&gt;&amp;quot;Arg1&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;, x.ToString() },             &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;&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;mso-ansi-language:en-us;"&gt;&amp;quot;Arg2&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;Random&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;().Next() }             &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;&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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;Trace&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;.WriteLine(res);             &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;Thread&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;.Sleep(0);             &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;x--;              &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&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_516877C6.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_177934DA.png" width="240" height="194" /&gt;&lt;/a&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;br style="mso-special-character:line-break;" /&gt;    &lt;br style="mso-special-character:line-break;" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote style="margin-right:0px;" dir="ltr"&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=535055" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="WCF" scheme="http://developers.de/blogs/damir_dobric/archive/tags/WCF/default.aspx" /><category term="Workflow" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Workflow/default.aspx" /><category term="cloud" scheme="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx" /><category term="azure" scheme="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx" /><category term="AppFabric" scheme="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx" /><category term="windows azure" scheme="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx" /><category term="ServiceBus" scheme="http://developers.de/blogs/damir_dobric/archive/tags/ServiceBus/default.aspx" /><category term="Workflow Manager" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Workflow+Manager/default.aspx" /></entry><entry><title>AppFabric Security groups at once</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/06/06/appfabric-security-groups-at-once.aspx" /><id>/blogs/damir_dobric/archive/2013/06/06/appfabric-security-groups-at-once.aspx</id><published>2013-06-06T17:02:00Z</published><updated>2013-06-06T17:02:00Z</updated><content type="html">&lt;p&gt;When working with App Fabric you might be confused with security model. In this post I will try to describe all security at once.   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Application Server Observers&lt;/strong&gt;    &lt;br /&gt;This administrative role gives you full visibility into application persistence and monitoring data. Application Server Observers can:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Enumerate applications and services&lt;/li&gt;    &lt;li&gt;View application and service configuration&lt;/li&gt;    &lt;li&gt;View monitoring data&lt;/li&gt;    &lt;li&gt;Examine persisted instances&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Application Server Administrators&lt;/strong&gt;    &lt;br /&gt;This administrative role gives you full control over application configuration, monitoring, and persistence. Application Server Administrators can execute all tasks that the Application Server Observers group can do, as well as the following tasks:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Suspend, resume, terminate, cancel, and delete persisted instances&lt;/li&gt;    &lt;li&gt;Create and remove event sources and event collectors&lt;/li&gt;    &lt;li&gt;View, purge, and archive monitoring data&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Application Server Users (IIS_IUSRS) &lt;/strong&gt;    &lt;br /&gt;The runtime role is used by IIS at run time to assign the identities of all its application pools hosting applications. This gives the services contained in the applications shared access to persistence databases and system services.    &lt;br /&gt;This role is used in instance store database only!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Monitoring&lt;/h3&gt;  &lt;p&gt;Following “diagram” shows securables of AppFabric Roles in monitoring database.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_295A4B0F.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_68B7FE9F.png" width="1158" height="1198" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Peristence &lt;/h3&gt;  &lt;p&gt;Following “diagram” shows securables of AppFabric Roles in instance store (persistence) database.&lt;/p&gt;  &lt;p&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_2815B230.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_5281E34D.png" width="1158" height="1335" /&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=536212" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="AppFabric" scheme="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx" /></entry><entry><title>Workflow Activation in (SharePoint) Workflow Manager</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/06/06/workflow-activation-in-sharepoint-workflow-manager.aspx" /><id>/blogs/damir_dobric/archive/2013/06/06/workflow-activation-in-sharepoint-workflow-manager.aspx</id><published>2013-06-06T06:00:00Z</published><updated>2013-06-06T06:00:00Z</updated><content type="html">&lt;p&gt;If you want to implement the long running business process or in other words to automate the business process, the Windows Workflow Foundation is definitely great choice.    &lt;br /&gt;In addition you might probably want to use the host like AppFabric and Workflow Manager. Assuming that you are SharePoint guy or you simply do not want to&amp;#160; use SPC activation (Web Services, Workflow Services and Co.) your way of choice will be Workflow Manager.&lt;/p&gt;  &lt;h3&gt;Create and Publish &lt;/h3&gt;  &lt;p&gt;In this case you will implement some workflow. Let’s take a look on following sample workflow:&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_2EC4548E.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_2E582199.png" width="518" height="492" /&gt;&lt;/a&gt;     &lt;br /&gt;This workflow check input argument value ‘Arg1’ of type string. If it is “stop” it will be terminated. Otherwise it will increment some counter, Assign the Msg-value and set the user status. All this is not for now simulation of some business logic.     &lt;br /&gt;To activate this workflow you have to do two things:&lt;/p&gt;  &lt;p&gt;1. Publish&amp;#160; the workflow    &lt;br /&gt;2. Start the workflow.     &lt;br /&gt;    &lt;br /&gt;In a case of SharePoint you do not have to do these steps. SPS will create and publish the workflow for you. However if you want to do more advanced implementation, you will have to do it by yourself.     &lt;br /&gt;Following code snippets shows how to publish the workflow by using of few helper methods.&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#ccffff;border-collapse:collapse;border-bottom:medium none;border-left:medium none;width:576.9pt;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:576.9pt;mso-border-alt:solid windowtext .5pt;"&gt;         &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;. . .              &lt;br style="mso-special-character:line-break;" /&gt;              &lt;br style="mso-special-character:line-break;" /&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;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;var&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; client = rootClient.CreateChildScope(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;mso-ansi-language:en-us;"&gt;&amp;quot;MyScope&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;mso-ansi-language:en-us;"&gt;&amp;quot;Host workflow which execute ordered workflows in sequence.&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;);              &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;             &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;client.Activities.PublishWorkflow(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;“WorkflowName”, “C:\\Temp\…\workflow.xaml”); &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;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;. . .&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;CreateChildScope will create the child scope under the scope defined by ScopePath property of WorkflowManagementClient instance.&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#ccffff;border-collapse:collapse;border-bottom:medium none;border-left:medium none;width:576.9pt;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:576.9pt;mso-border-alt:solid windowtext .5pt;"&gt;         &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;&amp;#160; public&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;static&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;WorkflowManagementClient&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; CreateChildScope(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;this&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;WorkflowManagementClient&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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; client,&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt; string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; scopeName, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; comment)              &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;var&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; sD =&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;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;ScopeDescription&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;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;UserComments = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;.Format(comment, scopeName)              &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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;return&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; client.CurrentScope.PublishChildScope(scopeName, sD);&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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;             &lt;br style="mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;One of very important steps in publishing process is translation of expressions. Unfortunately this is required as long .NET framework cannot    &lt;br /&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;"&gt;&lt;font style="background-color:#ffffff;" face="Trebuchet MS"&gt;perform his on the fly, due missing compiler services, which will come soon.&lt;/font&gt;         &lt;br style="mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;"&gt;&lt;/span&gt;    &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#ccffff;border-collapse:collapse;border-bottom:medium none;border-left:medium none;width:576.9pt;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:576.9pt;mso-border-alt:solid windowtext .5pt;"&gt;         &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;&amp;#160;&amp;#160; public&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;static&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;XElement&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; Translate(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; xamlFile)              &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; translatedWorkflowString = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;null&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;using&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; (&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;XamlReader&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; xamlReader = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;XamlXmlReader&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;(xamlFile))              &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;TranslationResults&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; result = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;ExpressionTranslator&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;.Translate(xamlReader);              &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;if&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; (result.Errors.Count == 0)              &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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;StringBuilder&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; sb = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;StringBuilder&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;using&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; (&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;XmlWriter&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; xmlWriter = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;XmlWriter&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;.Create(sb,              &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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;XmlWriterSettings&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; { Indent = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;true&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;, OmitXmlDeclaration = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;true&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;using&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; (&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;XamlXmlWriter&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; writer =              &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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;XamlXmlWriter&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;(xmlWriter, result.Output.SchemaContext))              &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;&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;&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;color:#2b91af;mso-ansi-language:en-us;"&gt;XamlServices&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;.Transform(result.Output, writer);              &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; &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;&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;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;translatedWorkflowString = sb.ToString();               &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;else&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;throw&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;InvalidOperationException&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;mso-ansi-language:en-us;"&gt;&amp;quot;Translation errors&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;return&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;XElement&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;.Parse(translatedWorkflowString);              &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 style="mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;&lt;font style="background-color:#ffffff;" color="#000000"&gt;&lt;font face="Trebuchet MS"&gt;Finally we can publish the workflow. In this step we will create the workflow on the fly (new WorkflowDescription). The body of this workflow will be        &lt;br /&gt;activity whose path is passed in argument &lt;em&gt;xamlFilePath&lt;/em&gt;. Note that in this process we do not need any compiler. We simply take a XAML and publish it.         &lt;br /&gt;If your workflow references some custom types which are not a part of type system you will have to &lt;/font&gt;&lt;a href="http://developers.de/blogs/damir_dobric/archive/2012/09/16/workflow-trusted-surface.aspx"&gt;&lt;font face="Trebuchet MS"&gt;extend the trusted surface&lt;/font&gt;&lt;/a&gt;&lt;font face="Trebuchet MS"&gt;, &lt;u&gt;before&lt;/u&gt; you publish the workflow&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;"&gt;     &lt;br style="mso-special-character:line-break;" /&gt;      &lt;br style="mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;"&gt;   &lt;p&gt;&lt;/p&gt; &lt;/span&gt;  &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#ccffff;border-collapse:collapse;border-bottom:medium none;border-left:medium none;width:576.9pt;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:576.9pt;mso-border-alt:solid windowtext .5pt;"&gt;         &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;public&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;static&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;void&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; PublishWorkflow(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;this&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;WorkflowManagementClient&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; client,              &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;&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;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; workflowName, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; xamlFilePath&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:green;mso-ansi-language:en-us;"&gt;// publish the activity description related with the workflow&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;client.Activities.Publish(               &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;ActivityDescription&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;(Translate(xamlFilePath)) { Name = workflowName });              &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:green;mso-ansi-language:en-us;"&gt;// now, publish the workflow description&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;WorkflowDescription&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; description = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;WorkflowDescription&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;Name = workflowName,               &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;ActivityPath = workflowName,               &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; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:green;mso-ansi-language:en-us;"&gt;// publish!&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&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;client.Workflows.Publish(description);               &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;/span&gt;&lt;span style="mso-ansi-language:en-us;"&gt;              &lt;br style="mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt; &lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;   &lt;br /&gt;&lt;/span&gt;  &lt;p&gt;&lt;/p&gt; &lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;/span&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;Start/Activate&lt;/h3&gt; &lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;   &lt;p&gt;     &lt;br /&gt;&lt;/p&gt;   &lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;"&gt;If you want to start this workflow, you need to send the activation message to Workflow Manager Front End service. The simplest way to start (activate) the workflow is to send call Start() method.&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;"&gt;      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;    &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#ccffff;border-collapse:collapse;border-bottom:medium none;border-left:medium none;width:576.9pt;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:576.9pt;mso-border-alt:solid windowtext .5pt;"&gt;           &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&gt;&lt;span style="mso-ansi-language:en-us;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;client.Workflows.Start(m_WorkflowName1);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/table&gt;   &lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;    &lt;p&gt;&lt;/p&gt; However this does not give you any flexibility, like input arguments, configuration etc.     &lt;br /&gt;For example, let’s assume the workflow has argument: ‘myarg’ of type string.     &lt;br /&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_49FCAD8F.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_2DEBEEA4.png" width="531" height="91" /&gt;&lt;/a&gt;     &lt;br /&gt;In this case you would start the workflow as follows:     &lt;br /&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;      &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#ccffff;border-collapse:collapse;border-bottom:medium none;border-left:medium none;width:576.9pt;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:576.9pt;mso-border-alt:solid windowtext .5pt;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;WorkflowStartParameters&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; startParameters = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;WorkflowStartParameters&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;();                &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;                &lt;br /&gt;startParameters.Content.Add(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;myarg&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;Value1&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;);                &lt;br /&gt;                &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; instanceId = client.Workflows.Start(m_WorkflowName1, startParameters);&lt;/span&gt; &lt;/td&gt;         &lt;/tr&gt;       &lt;/table&gt;     &lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;       &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;/span&gt;Sometimes things are getting more complicated. Imagine you are receiving some data and have lot of different workflows which you want to activate based on data.     &lt;br /&gt;In his case you can inject the activation filter in workflow during publishing process.     &lt;br /&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;      &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#ccffff;border-collapse:collapse;border-bottom:medium none;border-left:medium none;width:576.9pt;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:576.9pt;mso-border-alt:solid windowtext .5pt;"&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;color:black;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;client.PublishWorkflow(workflowName, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#a31515;mso-ansi-language:en-us;"&gt;@&amp;quot;myworkflow.xaml&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;,&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;MatchAllSubscriptionFilter&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;()                  &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&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;color:black;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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Matches =&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&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;color:maroon;mso-ansi-language:en-us;"&gt;&amp;quot;ActivationProp1Name&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;mso-ansi-language:en-us;"&gt;“Tenant1”&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;}&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&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;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&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;/span&gt; &lt;/p&gt;           &lt;/td&gt;         &lt;/tr&gt;       &lt;/table&gt;     &lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;       &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;  &lt;p&gt;This means the workflow will be activate if Service Bus receives the message with property ActivationProp1Name which has a value “Tenant1”.    &lt;br /&gt;To send this message (to start/activate this workflow) you can do following:     &lt;br /&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;      &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#ccffff;border-collapse:collapse;border-bottom:medium none;border-left:medium none;width:576.9pt;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:576.9pt;mso-border-alt:solid windowtext .5pt;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;client.PublishNotification(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;WorkflowNotification&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&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;Properties =                 &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; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;ActivationProp1Name&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;Tenant1&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&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;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;});&lt;/span&gt; &lt;/td&gt;         &lt;/tr&gt;       &lt;/table&gt;     &lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;       &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;/span&gt;    &lt;p&gt;&lt;/p&gt; &lt;/p&gt; &lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;"&gt;&lt;font color="#0000ff" face="Consolas"&gt;&lt;/font&gt;If you didn’t understand the power of this, take a look on next example which publishes lot of different workflows for different tenants.     &lt;br style="mso-special-character:line-break;" /&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;    &lt;p&gt;     &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#ccffff;border-collapse:collapse;border-bottom:medium none;border-left:medium none;width:576.9pt;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:576.9pt;mso-border-alt:solid windowtext .5pt;"&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;color:black;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;foreach(var wf in Workflows)&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;/span&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;color:black;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;/span&gt;client.PublishWorkflow(wf.Name, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;wf.Name&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;,&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;mso-ansi-language:en-us;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;mso-ansi-language:en-us;"&gt;MatchAllSubscriptionFilter&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;()                  &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&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;color:black;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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Matches =&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&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;color:maroon;mso-ansi-language:en-us;"&gt;&amp;quot;ActivationProp1Name&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;mso-ansi-language:en-us;"&gt;wf.Tenant&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;mso-ansi-language:en-us;"&gt;}&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;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;&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;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&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;/span&gt; &lt;/p&gt;              &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;/p&gt;           &lt;/td&gt;         &lt;/tr&gt;       &lt;/table&gt;   &lt;/p&gt;   &lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;    &lt;p&gt;     &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#ccffff;border-collapse:collapse;border-bottom:medium none;border-left:medium none;width:576.9pt;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:576.9pt;mso-border-alt:solid windowtext .5pt;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;service.Receive(string tenant){                &lt;br /&gt;                &lt;br /&gt;PublishNotification(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;WorkflowNotification&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&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;Properties =                 &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; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;mso-ansi-language:en-us;"&gt;ActivationProp1Name&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;tenant&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&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;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; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;});&lt;/span&gt;               &lt;br /&gt;}&lt;/td&gt;         &lt;/tr&gt;       &lt;/table&gt;   &lt;/p&gt;    &lt;p&gt;&lt;/p&gt;&amp;#160;&amp;#160; If the workflow expects input arguments, you can append them to activation message:&lt;/span&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;   &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;background:#ccffff;border-collapse:collapse;border-bottom:medium none;border-left:medium none;width:576.9pt;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;padding-left:5.4pt;border-left:windowtext 1pt solid;padding-right:5.4pt;width:576.9pt;mso-border-alt:solid windowtext .5pt;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;client.PublishNotification(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;WorkflowNotification&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&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;Properties =               &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; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;mso-ansi-language:en-us;"&gt;ActivationProp1Name&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;Tenant1&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&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;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;Content = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;Dictionary&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;string&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;object&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&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; &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;mayarg&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;, “&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;value1”&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:maroon;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;myarg2&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;123&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&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;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;/span&gt; &lt;/td&gt;       &lt;/tr&gt;     &lt;/table&gt; &lt;/p&gt; &lt;span style="font-size:9.5pt;font-family:consolas;background:yellow;color:blue;line-height:115%;mso-highlight:yellow;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;   &lt;p&gt;&lt;/p&gt; &lt;/span&gt;  &lt;p&gt;POST &lt;a href="https://sb17.daenet.lab:12290/myworkflow/"&gt;https://sb17.daenet.lab:12290/myworkflow/&lt;/a&gt;$Workflows/Workflow1/$Start HTTP/1.1     &lt;br /&gt;User-Agent: Microsoft-WF/1.0.1     &lt;br /&gt;Accept: application/xml     &lt;br /&gt;Content-Type: application/xml     &lt;br /&gt;E2EActivity: i3SI8snqbEShZdcB8Tb7dg==     &lt;br /&gt;Authorization: Negotiate ******==     &lt;br /&gt;Host: sb17.daenet.lab:12290     &lt;br /&gt;Content-Length: 406     &lt;br /&gt;Expect: 100-continue &lt;/p&gt;  &lt;p&gt;&amp;lt;WorkflowNotification xmlns=&amp;quot;&lt;a href="http://schemas.microsoft.com/workflow/2012/xaml/activities&amp;quot;"&gt;http://schemas.microsoft.com/workflow/2012/xaml/activities&amp;quot;&lt;/a&gt; xmlns:i=&amp;quot;&lt;a href="http://www.w3.org/2001/XMLSchema-instance&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;/a&gt;&amp;gt;&amp;lt;Content i:type=&amp;quot;a:ArrayOfKeyValueOfstringanyType&amp;quot; xmlns:a=&amp;quot;&lt;a href="http://schemas.microsoft.com/2003/10/Serialization/Arrays&amp;quot;"&gt;http://schemas.microsoft.com/2003/10/Serialization/Arrays&amp;quot;&lt;/a&gt;&amp;gt;&amp;lt;a:KeyValueOfstringanyType&amp;gt;&amp;lt;a:Key&amp;gt;mayarg&amp;lt;/a:Key&amp;gt;&amp;lt;a:Value i:type=&amp;quot;b:string&amp;quot; xmlns:b=&amp;quot;&lt;a href="http://www.w3.org/2001/XMLSchema&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/a&gt;&amp;gt;value1&amp;lt;/a:Value&amp;gt;&amp;lt;/a:KeyValueOfstringanyType&amp;gt;&amp;lt;a:KeyValueOfstringanyType&amp;gt;&amp;lt;a:Key&amp;gt;myarg2&amp;lt;/a:Key&amp;gt;&amp;lt;a:Value i:type=&amp;quot;b:int&amp;quot; xmlns:b=&amp;quot;&lt;a href="http://www.w3.org/2001/XMLSchema&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/a&gt;&amp;gt;123&amp;lt;/a:Value&amp;gt;&amp;lt;/a:KeyValueOfstringanyType&amp;gt;&amp;lt;/Content&amp;gt;&amp;lt;Properties xmlns:a=&amp;quot;&lt;a href="http://schemas.microsoft.com/2003/10/Serialization/Arrays&amp;quot;"&gt;http://schemas.microsoft.com/2003/10/Serialization/Arrays&amp;quot;&lt;/a&gt;&amp;gt;&amp;lt;a:KeyValueOfstringanyType&amp;gt;&amp;lt;a:Key&amp;gt;ActivationProp1Name&amp;lt;/a:Key&amp;gt;&amp;lt;a:Value i:type=&amp;quot;b:string&amp;quot; xmlns:b=&amp;quot;&lt;a href="http://www.w3.org/2001/XMLSchema&amp;quot;"&gt;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/a&gt;&amp;gt;tenant1&amp;lt;/a:Value&amp;gt;&amp;lt;/a:KeyValueOfstringanyType&amp;gt;&amp;lt;/Properties&amp;gt;&amp;lt;/WorkflowNotification&amp;gt;&lt;/p&gt;  &lt;p&gt;The same data formatted as XML:&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_69AB8757.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_095A6120.png" width="732" height="309" /&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=535051" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="Workflow" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Workflow/default.aspx" /><category term="azure" scheme="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx" /><category term="AppFabric" scheme="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx" /><category term="windows azure" scheme="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx" /><category term="ServiceBus" scheme="http://developers.de/blogs/damir_dobric/archive/tags/ServiceBus/default.aspx" /><category term="Workflow Manager" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Workflow+Manager/default.aspx" /></entry><entry><title>Messaging on Windows RT</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/06/04/messaging-on-windows-rt.aspx" /><id>/blogs/damir_dobric/archive/2013/06/04/messaging-on-windows-rt.aspx</id><published>2013-06-04T20:36:00Z</published><updated>2013-06-04T20:36:00Z</updated><content type="html">&lt;p&gt;As probably known the cloud messaging platform in Windows Azure is based on Service Bus technology. Few months ago Microsoft has published the &lt;em&gt;&lt;a href="http://watwindows8.codeplex.com/"&gt;Windows Azure Toolkit for Windows&lt;/a&gt; 8 &lt;/em&gt;which provided the same API for Windows RT.    &lt;br /&gt;Unfortunately this library has been deprecated. The new &lt;strong&gt;WinRT&lt;/strong&gt; library for Service Bus is now part of Windows Azure Mobile Services and can be downloaded &lt;a href="https://nuget.org/packages/windowsazure.messaging.managed%20"&gt;here&lt;/a&gt;.    &lt;br /&gt;Note that the new so called messaging managed library is simplification around existing Service Bus SDK. Do not be surprised if you cannot find yourself in the new library. The good thing is hat If you are novice in this are you will feel relaxed. :)    &lt;br /&gt;&lt;/p&gt;  &lt;h3&gt;API style is changed&lt;/h3&gt;  &lt;p&gt;In common version of Service Bus SDK (currently 2.1) you can do something like this:&lt;/p&gt;  &lt;blockquote&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;var&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; appuserCli = &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;QueueClient&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;.CreateFromConnectionString(“…”, “myQueue”, &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;ReceiveMode&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;.ReceiveAndDelete);&lt;/span&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;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;mso-ansi-language:en-us;"&gt;appuserCli.Send(&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;BrokeredMessage&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:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;abc&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;/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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;var&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; m = appuserCli.Receive();&lt;/span&gt;&lt;span&gt;       &lt;p&gt;&lt;/p&gt;     &lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;However the WinRT version is very different. For example WinRT version does not know anything about &lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;BrokeredMessage&lt;/span&gt;. There is now the new message simply called &lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;Message&lt;/span&gt;. The WCF guys and most old school guys will be probably disappointed with this, because Message is well known type from &lt;em&gt;System.ServiceModel&lt;/em&gt;. But who cares? Most hobbyists who develop apps do not known what service model is (This is something behind WCF).     &lt;br /&gt;    &lt;br /&gt;Another interesting thing that API style is shifting from commonly well known used style in .NET framework. For Example &lt;em&gt;QueueClient&lt;/em&gt; is the class which provides operations to deal with Messaging Entities like Queue or Topic.    &lt;br /&gt;It looks like:     &lt;br /&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;QueueClient.DoSomethingOn(Queue);       &lt;br /&gt;QueueClient.DoSomethingElseWith(BrokeredMessage);&lt;/em&gt;      &lt;br /&gt;      &lt;br /&gt;The new API on WinRT looks different:      &lt;br /&gt;      &lt;br /&gt;There is no QueueClient and similar things!!!      &lt;br /&gt;Message entities are no more entities. They are now active objects, similarly like in C++ era in he late 90-ties. Here is an example:      &lt;br /&gt;      &lt;br /&gt;&lt;em&gt;Queue.DoSomethingWith(Message);&lt;/em&gt;      &lt;br /&gt;      &lt;br /&gt;To me, the number of types is reduces (it is simpler), but the API design is not the best one or not the common one at least in the .NET framework.      &lt;br /&gt;      &lt;br /&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:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;Queue&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; queue = &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;Queue&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;(m_QueueName, m_ConnStr);&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;p&gt;&lt;/p&gt;     &lt;/span&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;mso-ansi-language:en-us;"&gt;await&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; queue.SendAsync(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;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;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;Message&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;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:#a31515;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;bla&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;));&lt;/span&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;mso-ansi-language:en-us;"&gt;await&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; queue.ReceiveAsync(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;);&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;h3&gt;Serialization Defaults are different&lt;/h3&gt;    &lt;p&gt;The most interesting thing is that by default these two libraries are even not compatible with each other. Of course they are, bit take a look on following example and you will understand what I mean with incompatible.     &lt;br /&gt;In following example Desktop application sends the message which will be consumed by WinRT app. In this case WinRT app will fail with serialization error.      &lt;br /&gt;      &lt;br /&gt;Desktop:&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;var&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; appuserCli = &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;QueueClient&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;.CreateFromConnectionString(“…”, “myQueue”, &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;ReceiveMode&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;.ReceiveAndDelete);       &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;appuserCli.Send(&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;BrokeredMessage&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:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;abc&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;/p&gt;    &lt;p&gt;     &lt;br /&gt;WinRT      &lt;br /&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:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;Queue&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; queue = &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;Queue&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;(m_QueueName, m_ConnStr);&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;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;var msg = await&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; queue.ReceiveAsync(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;);&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;Ok, then let’s try following:      &lt;br /&gt;      &lt;br /&gt;WinRT&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:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;Queue&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; queue = &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;Queue&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;(m_QueueName, m_ConnStr);&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;p&gt;&lt;/p&gt;     &lt;/span&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;mso-ansi-language:en-us;"&gt;await&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; queue.SendAsync(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;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;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;Message&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;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:#a31515;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;bla&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;));&lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Desktop&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&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;var&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; appuserCli = &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;QueueClient&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;.CreateFromConnectionString(“…”, “myQueue”, &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;ReceiveMode&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;.ReceiveAndDelete);&lt;/span&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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;var&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; m = appuserCli.Receive();&lt;/span&gt;&lt;span&gt;       &lt;p&gt;&lt;/p&gt;     &lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Now, Desktop application will fail with serialization error. So what is the point?   &lt;br /&gt;The Desktop SDK uses under the hub XmlObjectserializer to deal with messages. WinRT bits however use DataContractJsonSerializer. The result of this is messages send from different Windows Platform are differently formatted and not compatible.    &lt;br /&gt;To fix this, you new to provide the expected serializer.    &lt;br /&gt;    &lt;br /&gt;If you are polite you should do it in the desktop application as follows:    &lt;br /&gt;&lt;/p&gt;  &lt;blockquote&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;var&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; appuserCli = &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;QueueClient&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;.CreateFromConnectionString(“…”, “myQueue”, &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;ReceiveMode&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;.ReceiveAndDelete);&lt;/span&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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;var&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; msg = appuserCli.Receive();&lt;/span&gt;&lt;span&gt;       &lt;p&gt;&lt;/p&gt;     &lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&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;mso-ansi-language:en-us;"&gt;var&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; txt = msg.GetBody&amp;lt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;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;line-height:115%;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:blue;line-height:115%;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;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;DataContractJsonSerializer&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;typeof&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;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;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;)));&lt;/span&gt;&lt;span style="mso-ansi-language:en-us;"&gt;       &lt;p&gt;&lt;/p&gt;     &lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=535034" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="Core.Net" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Core.Net/default.aspx" /><category term="WCF" scheme="http://developers.de/blogs/damir_dobric/archive/tags/WCF/default.aspx" /><category term="cloud" scheme="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx" /><category term="azure" scheme="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx" /><category term="windows azure" scheme="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx" /><category term="WinRT" scheme="http://developers.de/blogs/damir_dobric/archive/tags/WinRT/default.aspx" /><category term="Windows" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Windows/default.aspx" /><category term="ServiceBus" scheme="http://developers.de/blogs/damir_dobric/archive/tags/ServiceBus/default.aspx" /><category term="Integration" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Integration/default.aspx" /><category term="Apps and Devices" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Apps+and+Devices/default.aspx" /></entry><entry><title>Expression Translation Error when Publishing SharePoint Workflow</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/05/30/expression-translation-error-when-publishing-sharepoint-workflow.aspx" /><id>/blogs/damir_dobric/archive/2013/05/30/expression-translation-error-when-publishing-sharepoint-workflow.aspx</id><published>2013-05-30T08:15:00Z</published><updated>2013-05-30T08:15:00Z</updated><content type="html">&lt;p&gt;When publishing the workflow with &lt;/p&gt;  &lt;p&gt;client.PublishWorkflow(workflowName, &amp;quot;MyWorkflow.xaml&amp;quot;);&lt;/p&gt;  &lt;p&gt;you may notice&lt;strong&gt; ExpressionTranslation&lt;/strong&gt; Errors. Usually these errors briefly explain the problem. Unfortunately there is one strange case, which is difficult to explain.    &lt;br /&gt;To understand this take a look on following picture:&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_2756133C.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_7249840B.png" width="1068" height="307" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Interestingly, you will probably in this case notice that you even don’t have this file. Why then, translator is training to load some not existing file?   &lt;br /&gt;The problem here is the name of the path. ..\\External Variables\\C# (not shown in the error message, because expression translator cannot read it).    &lt;br /&gt;&lt;strong&gt;C# &lt;/strong&gt;is the part of path which cannot be used. To workaround this issue, copy your project to any more human readable path and all will work.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Please also note, sometimes some workflow on the same path do not have this issue. These are probably VB-Expression based workflows, which comes from version 4.0 of Workflow Foundation.   &lt;br /&gt;That means this problem will happen on WF 4.5 C# workflows only.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=534397" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="Workflow" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Workflow/default.aspx" /><category term="Workflow Manager" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Workflow+Manager/default.aspx" /></entry><entry><title>SmtpClient error</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/05/23/smtpclient-error.aspx" /><id>/blogs/damir_dobric/archive/2013/05/23/smtpclient-error.aspx</id><published>2013-05-23T08:46:00Z</published><updated>2013-05-23T08:46:00Z</updated><content type="html">&lt;p&gt;When working with SMTP client, you might get following error:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.1 Client was not authenticated&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;There are lot of answers out there related this error, because it can be caused by many different things.&lt;/p&gt;  &lt;p&gt;The code shown below shows how you should implement the client which sends the mail.&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;NetworkCredential&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; cred = &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;NetworkCredential&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;DOMAIN\\user&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;pwd&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;);&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;SmtpClient&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; client = &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;SmtpClient&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;smtpservername.com&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;);&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;MailMessage&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; msg = &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;MailMessage&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;MailAddress&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;a href="mailto:from@abc.de"&gt;&lt;span style="mso-ansi-language:en-us;"&gt;from@abc.de&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;),&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;MailAddress&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;a href="mailto:to@abc.de"&gt;&lt;span style="mso-ansi-language:en-us;"&gt;to@abc.de&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;));&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;msg.Body = &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;Hello.&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;client.UseDefaultCredentials = &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;false&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;client.Credentials = cred;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;client.Send(msg);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;"&gt;     &lt;br style="mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;"&gt;Unfortunately, there is one more thin you should be aware of. You first have to set &lt;em&gt;&lt;strong&gt;UseDefaultCredentials&lt;/strong&gt;&lt;/em&gt; to false and then to set credentials.      &lt;br /&gt;If you do it apposite way as next example demonstrates, you will get exception shown above.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;NetworkCredential&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; cred = &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;NetworkCredential&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;DOMAIN\\user&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;, &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;pwd&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;);&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;SmtpClient&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; client = &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;SmtpClient&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;smtpservername.com&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;);&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;MailMessage&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; msg = &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;MailMessage&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;MailAddress&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;a href="mailto:from@abc.de"&gt;&lt;span style="mso-ansi-language:en-us;"&gt;from@abc.de&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;),&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;new&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#2b91af;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;MailAddress&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;(&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;a href="mailto:to@abc.de"&gt;&lt;span style="mso-ansi-language:en-us;"&gt;to@abc.de&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;));&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;msg.Body = &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:#a31515;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;quot;Hello.&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;client.Credentials = cred;         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;client.UseDefaultCredentials = &lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:blue;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;false&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;;&lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:consolas;color:black;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;client.Send(msg);     &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:11pt;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;line-height:115%;mso-ansi-language:de;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;"&gt;     &lt;br style="mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=531163" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="Windows" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Windows/default.aspx" /></entry><entry><title>Behind Service Bus Connection String</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/05/21/behind-service-bus-connection-string.aspx" /><id>/blogs/damir_dobric/archive/2013/05/21/behind-service-bus-connection-string.aspx</id><published>2013-05-21T06:14:00Z</published><updated>2013-05-21T06:14:00Z</updated><content type="html">&lt;p&gt;When working with Service Bus, it is very useful to make a usage of Service Bus Connection String to create SB-entities.   &lt;br /&gt;For example, following line of code can be used to create the QueueClient instance which can be used to send and receive messages:&lt;/p&gt;  &lt;p&gt;var client = QueueClient.CreateFromConnectionString(connStr, “queuname”);   &lt;br /&gt;    &lt;br /&gt;Connection string looks usually like:    &lt;br /&gt;    &lt;br /&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#a31515;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;Endpoint=sb://yournamespacename.servicebus.windows.net/;SharedSecretIssuer=bla;SharedSecretValue=**obfuscated..=&amp;quot;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;;&lt;/span&gt;&lt;span style="mso-ansi-language:en-us;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Connection String is very useful, because many information like service bus namespace and all credentials are contained inside of that staring. This enables creation of for example QueueClient in a single line of code.   &lt;br /&gt;In general Connection String is consisted of a moniker (sb://..) which includes protocol and URI with namespace. This defines the Endpoints and/or StsEndpoints.    &lt;br /&gt;Additionally it contains a number of so called connection properties which describe credentials.    &lt;br /&gt;    &lt;br /&gt;Following picture illustrates the code which extracts all these artifacts inside of Service Bus library.&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_294D82A0.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_76E9AF20.png" width="946" height="213" /&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=529480" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="cloud" scheme="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx" /><category term="windows azure" scheme="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx" /><category term="Windows" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Windows/default.aspx" /><category term="ServiceBus" scheme="http://developers.de/blogs/damir_dobric/archive/tags/ServiceBus/default.aspx" /></entry><entry><title>What is new in Service Bus 2.0?</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/05/01/what-is-new-in-service-bus-2-0.aspx" /><id>/blogs/damir_dobric/archive/2013/05/01/what-is-new-in-service-bus-2-0.aspx</id><published>2013-05-01T09:30:03Z</published><updated>2013-05-01T09:30:03Z</updated><content type="html">&lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;p&gt;This post should give you a quick overview of new features of Service Bus. Note that I didn’t describe the &lt;a href="http://code.msdn.microsoft.com/Service-Bus-Message-Browse-4e434ffe"&gt;MessageBrowse Feature&lt;/a&gt;, because it is already well described by other SB team colleagues.&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_65DE96BF.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_29B2CB17.png" width="414" height="485" /&gt;&lt;/a&gt; &lt;/h3&gt;  &lt;h3&gt;MessagePump&lt;/h3&gt;  &lt;p&gt;When receiving messages from queue, you have been responsible to implement some kind of listener which will receive messages and dispatch them to some message processor.    &lt;br /&gt;With Service Bus 2.0 you can give this responsibility away. SB v2 provides an event driven message receiver based on message pump implementation.     &lt;br /&gt;Following code snippet shows how easy you can receive messages now.&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;border-collapse:collapse;border-bottom:medium none;border-left:medium none;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;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: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; &lt;/span&gt;client.OnMessage((msg) =&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;/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;ThreadId: {0}, Message: {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;, &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;             &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; &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; Thread&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;.CurrentThread.ManagedThreadId, msg.GetBody&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;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;/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;if&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; (cnt == 10) &lt;font color="#008000"&gt;// because we expect 10 messages.&lt;/font&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;/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;return&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 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; &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;&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;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;OnMessageOptions&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 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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;"&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;AutoComplete = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;"&gt;true&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;"&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;MaxConcurrentCalls = 5               &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; &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&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;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;      &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;OnMessageOptions can be used to specified the number of concurrently processing messages. If you want to process one by one message ( one thread only) specify value one here.    &lt;br /&gt;Independent on his value messages are always processed on another thread.&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_7E6E340F.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_29469822.png" width="674" height="339" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Last but not least in OnMessageOptions you set AutoComplete, if you want that message is completed after&amp;#160; successful execution of callback.&lt;/p&gt;  &lt;h3&gt;Suspend and Resume Queue&lt;/h3&gt;  &lt;p&gt;The queues and topics can be now suspended and resumed. This can be achieved by manipulating the status of the queue:    &lt;br /&gt;&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;border-collapse:collapse;border-bottom:medium none;border-left:medium none;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;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:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// Summary:&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 style="mso-spacerun:yes;"&gt;&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:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;//&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Enumerates the possible values for the status of a messaging entity.&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 style="mso-spacerun:yes;"&gt;&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;DataContract&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;(Name = &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;EntityStatus&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;, Namespace = &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;http://schemas.microsoft.com/netservices/2010/10/servicebus/connect&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;span style="mso-spacerun:yes;"&gt;&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;enum&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;EntityStatus&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 style="mso-spacerun:yes;"&gt;&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// Summary:&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 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:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;//&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;The status of the messaging entity is active.&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 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:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;EnumMember&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 style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Active = 0,               &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// Summary:&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 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:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;//&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;The status of the messaging entity is disabled.&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 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:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;EnumMember&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 style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Disabled = 1,               &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// Summary:&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 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:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;//&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Resuming the previous status of the messaging entity.&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 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:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;EnumMember&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 style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Restoring = 2,               &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// Summary:&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 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:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;//&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;The sending status of the messaging entity is disabled.&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 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:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;EnumMember&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 style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;SendDisabled = 3,               &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// Summary:&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 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:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;//&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;The receiving status of the messaging entity is disabled.&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 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:#2b91af;mso-highlight:white;"&gt;EnumMember&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;"&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;ReceiveDisabled = 4,               &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&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&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;&amp;#160;&lt;/p&gt;  &lt;p&gt;Following sample illustrates how this work:&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;border-collapse:collapse;border-bottom:medium none;border-left:medium none;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;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:9.5pt;font-family:consolas;background:white;color:gray;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ///&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;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:gray;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;lt;summary&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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:gray;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:green;mso-highlight:white;mso-ansi-language:en-us;"&gt; Suspend and Resume sample.&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 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:gray;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:green;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:gray;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;lt;/summary&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;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;/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;private&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: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; suspendResumeSamnple()              &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;/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; qName = &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;hello/msgpump&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 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:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;var&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; qDesc = prepareQueue(qName);              &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;/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;var&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; client = &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;QueueClient&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;.CreateFromConnectionString(m_ConnStr,              &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; qName, &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;ReceiveMode&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;.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;/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;Sending messages...&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 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:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;for&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;int&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; i = 0; i &amp;lt; 10; i++)              &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;client.Send(&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;BrokeredMessage&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:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;i = &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; + i.ToString() + &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;, payload = &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;&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; + &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;Random&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;().Next().ToString()));              &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;/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;int&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; cnt = 10;              &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;client.OnMessage((msg) =&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;/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;ThreadId: {0}, Message: {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;, &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;             &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; Thread&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;.CurrentThread.ManagedThreadId, msg.GetBody&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;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;/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;Thread&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;.Sleep(1000);              &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;/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;if&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; (cnt == 10)              &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;/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;return&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 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; &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;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;OnMessageOptions&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 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; &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; &lt;/span&gt;AutoComplete = &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 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; &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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// Wait to receive few messages.&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 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;Thread&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;.Sleep(2000);              &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;/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;NamespaceManager&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; namespaceManager = &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;             &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; NamespaceManager&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;.CreateFromConnectionString(m_ConnStr);              &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; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&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; &lt;font color="#008000"&gt;&amp;#160; // Suspend Queue&lt;/font&gt;&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; &lt;font color="#ff0000"&gt;&lt;/font&gt;&lt;/span&gt;&lt;font color="#ff0000"&gt;qDesc.Status = &lt;/font&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;&lt;font color="#ff0000"&gt;EntityStatus&lt;/font&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;font color="#ff0000"&gt;.ReceiveDisabled;&lt;/font&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;namespaceManager.UpdateQueue(qDesc);               &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;/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;Receive disabled!&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;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; &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;Thread&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;.Sleep(25000);              &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&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; &lt;font color="#008000"&gt;&amp;#160; // Resume Queue                  &lt;br /&gt;&lt;/font&gt;&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;&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 color="#ff0000"&gt;qDesc.Status = &lt;/font&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;&lt;font color="#ff0000"&gt;EntityStatus&lt;/font&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;font color="#ff0000"&gt;.Active;&lt;/font&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 color="#ff0000"&gt;namespaceManager.UpdateQueue(qDesc);                &lt;br /&gt;                &lt;br /&gt;&lt;/font&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;Receive enabled...&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 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;.ReadLine();              &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;/span&gt;&lt;span style="mso-ansi-language:en-us;"&gt;              &lt;br style="mso-special-character:line-break;" /&gt;              &lt;br style="mso-special-character:line-break;" /&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;"&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;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;And finally, the picture below shows that receiving of messages is stopped for a while. Note that message pump might already has received a message in the moment of    &lt;br /&gt;disabling of receive operation. See blue underlined message. To resume the receiving (or any other suspended) operation just set the queue state to active again.     &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_69107EA7.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_08BF5870.png" width="648" height="223" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;h3&gt;AutoDelete Queue on Idle&lt;/h3&gt;  &lt;p&gt;This features enables removal of queues which are not used for a while.    &lt;br /&gt;Following sample illustrate this. After sleep time (higher than specified delete on idle time) you can check if the queue exists.     &lt;br /&gt;If all works fine the queue will not exist. Note that specified time is not very exact. Do not expect that this time is exact like Swiss Watch.     &lt;br /&gt;The queue will not be deleted one second after specified time. I tried with idle of 5min and sleep of 6 and queue has not been deleted.&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;border-collapse:collapse;border-bottom:medium none;border-left:medium none;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;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: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; &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;private&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: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; autodeletOnIdle()              &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;/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;var&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; qDesc = prepareQueue(&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;hello/autodelete&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 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;qDesc.AutoDeleteOnIdle = &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;TimeSpan&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;.FromMinutes(5);              &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; &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;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;/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;NamespaceManager&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; namespaceManager = &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;NamespaceManager&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;.CreateFromConnectionString(m_ConnStr);              &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&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;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; namespaceManager.UpdateQueue(qDesc);&lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&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;&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Thread&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;.Sleep(6 * 60000);              &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&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:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;if&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; (namespaceManager.QueueExists(&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;hello/autodelete&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;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;/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;Queue has been deleted&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;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; &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;else&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 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;/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;Queue has NOT been deleted!&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;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:black;mso-highlight:white;"&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;"&gt;Console&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;"&gt;.ReadLine();              &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;/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;/td&gt;     &lt;/tr&gt;   &lt;/table&gt; &lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;    &lt;br style="mso-special-character:line-break;" /&gt;    &lt;br style="mso-special-character:line-break;" /&gt;&lt;/span&gt;  &lt;p&gt;The value supplied for TimeSpan of AutoDelete must be between 00:05:00 and 10675199.02:48:05.4775807.    &lt;br /&gt;All previously created queue (before version of SB 2.0) have the same default value like newly queues created queues. This value is the maximum allowed value 10675199.02:48:05.4775807, which is &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;more details about this in Haishi’s &lt;a href="http://haishibai.blogspot.de/2013/01/new-features-in-service-bus-preview_27.html"&gt;post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Authorization Rules&lt;/h3&gt;  &lt;p&gt;One of really interesting improvements in V2 is support for ShareAccessSignature. The problem we usually have a related to sharing of keys and maintaining service identities in Access Control Service.    &lt;br /&gt;This is a task which I and most of you out there do not like. Now you can set permission on the queue/topic directly. The authorization is defined as list of rules and one rule would look like:&lt;/p&gt;  &lt;p&gt;authorizationRule =&amp;#160; ( KeyName, KeyValue, [AccessRule1, .., AccessRuleN]);    &lt;br /&gt;    &lt;br /&gt;Programmatically authorization rule can be created as follows:&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&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;SharedAccessAuthorizationRule&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:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;demouser1_can_Send&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;, key1, &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;AccessRights&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;AccessRights&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;.Send }));      &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;The first argument is simply the name of the rule. For example: Rule1, ReadRule or transferAccountQueue.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;The key must be 44 bytes long. I guess this is 256 bits base64 encoded. Otherwise you will get following error:    &lt;br /&gt;    &lt;br /&gt;&lt;em&gt;The remote server returned an error: (400) Bad Request. A SharedAccessAuthorizationRule only supports keys of size 44 bytes..&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Anyhow, the be sure you can use a helper method to create the key:    &lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&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;&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;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; key1 = &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;SharedAccessAuthorizationRule&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;.GenerateRandomKey();&lt;/span&gt;&lt;/p&gt;  &lt;br /&gt;  &lt;p&gt;Then you have to append the list of rights:&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;border-collapse:collapse;border-bottom:medium none;border-left:medium none;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;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:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// Summary:&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 style="mso-spacerun:yes;"&gt;&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:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;//&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Specifies the possible access rights for a user.&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 style="mso-spacerun:yes;"&gt;&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;DataContract&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;(Name = &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;AccessRights&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;, Namespace = &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;http://schemas.microsoft.com/netservices/2010/10/servicebus/connect&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;span style="mso-spacerun:yes;"&gt;&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;enum&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;AccessRights&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 style="mso-spacerun:yes;"&gt;&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; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// Summary:&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 style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&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:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;//&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;The access right is Manage.&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 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:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;EnumMember&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 style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Manage = 0,               &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// Summary:&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 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:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;//&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;The access right is Send.&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 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:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;EnumMember&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 style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Send = 1,               &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// Summary:&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 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:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;//&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;The access right is Listen.&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 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:#2b91af;mso-highlight:white;"&gt;EnumMember&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;"&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;Listen = 2,               &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&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&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;&amp;#160;&lt;/p&gt;  &lt;p&gt;After you setup permissions, participants can do following to access the entity:    &lt;br /&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;var&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; factory1 = &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;MessagingFactory&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;.Create(&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;Uri&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:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;sb://xyyyyy.servicebus.windows.net&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;&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;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;mso-ansi-language:en-us;"&gt;TokenProvider&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;.CreateSharedAccessSignatureTokenProvider(&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;your rule key 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;, yourkey));      &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;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;"&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;var&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; clientDemoUser1 = factory1.CreateQueueClient(qName, &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;ReceiveMode&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;.PeekLock);      &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;/span&gt;&lt;/p&gt;  &lt;p&gt;As long the keyName and key match all will work fine. Note that in this sample we didn’t use any credential from Access Control Service.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Following full sample illustrates how to deal with Shared Access Signatures.&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border-top:medium none;border-right:medium none;border-collapse:collapse;border-bottom:medium none;border-left:medium none;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:1184;mso-padding-alt:0in 5.4pt 0in 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:0in;padding-top:0in;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:9.5pt;font-family:consolas;background:white;color:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;private&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: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; authorizationRulesSample()              &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;/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;NamespaceManager&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; namespaceManager = &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;NamespaceManager&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;.CreateFromConnectionString(m_ConnStr);              &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;/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; qName = &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;hello/rule1q&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 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: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; key1 = &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;SharedAccessAuthorizationRule&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;.GenerateRandomKey();              &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;/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; key2 = &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;SharedAccessAuthorizationRule&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;.GenerateRandomKey();              &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;/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;if&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; (namespaceManager.QueueExists(qName))              &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;namespaceManager.DeleteQueue(qName);               &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;/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;QueueDescription&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; qDesc1 = &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;QueueDescription&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;(qName);              &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;qDesc1.Authorization.Add(&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;SharedAccessAuthorizationRule&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:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;demouser1_can_Send&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;, key1, &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;AccessRights&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;AccessRights&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;.Send }));              &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;qDesc1.Authorization.Add(&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;SharedAccessAuthorizationRule&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:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;demouser2_can_Listen&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;, key2, &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;AccessRights&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;AccessRights&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;.Listen }));              &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;//qDesc1.Authorization.Add(new SharedAccessAuthorizationRule(&amp;quot;how_to_set_admin_perm&amp;quot;, key3, new AccessRights[] { AccessRights.Manage, AccessRights.Listen, AccessRights.Send }));&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 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;namespaceManager.CreateQueue(qDesc1);               &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;/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;var&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; factory1 = &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;MessagingFactory&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;.Create(&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;Uri&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:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;sb://frankfurt.servicebus.windows.net&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;TokenProvider&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;.CreateSharedAccessSignatureTokenProvider(&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;demouser1_can_Send&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;, key1));              &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;/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;var&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; factory2 = &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;MessagingFactory&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;.Create(&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;Uri&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:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;sb://frankfurt.servicebus.windows.net&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;TokenProvider&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;.CreateSharedAccessSignatureTokenProvider(&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;demouser2_can_Listen&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;, key2));              &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;/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;var&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; clientDemoUser1 = factory1.CreateQueueClient(qName, &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;ReceiveMode&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;.PeekLock);              &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;/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;var&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; clientDemoUser2 = factory2.CreateQueueClient(qName, &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;ReceiveMode&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;.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;clientDemoUser1.Send(&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;BrokeredMessage&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:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;abc&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 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:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;try&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 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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// This one has not a right to send to queue.&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 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;clientDemoUser2.Send(&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;BrokeredMessage&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:#a31515;mso-highlight:white;mso-ansi-language:en-us;"&gt;&amp;quot;abc&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;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 style="mso-spacerun:yes;"&gt;&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;/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;catch&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;UnauthorizedAccessException&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 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;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;/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;try&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 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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// This one has not a right to Listen on queue.&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 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;/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;var&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; msg = clientDemoUser1.Receive();              &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; &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;catch&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;UnauthorizedAccessException&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 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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:green;mso-highlight:white;mso-ansi-language:en-us;"&gt;// This one can listen.&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 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:blue;mso-highlight:white;mso-ansi-language:en-us;"&gt;var&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; msg2 = clientDemoUser2.Receive();              &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;mso-highlight:white;"&gt;Console&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;mso-highlight:white;"&gt;.ReadLine();              &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;/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;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;More about this topic: &lt;a title="http://haishibai.blogspot.de/2013/01/new-features-in-service-bus-preview_29.html" href="http://haishibai.blogspot.de/2013/01/new-features-in-service-bus-preview_29.html"&gt;http://haishibai.blogspot.de/2013/01/new-features-in-service-bus-preview_29.html&lt;/a&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;      &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;Task Based Api&lt;/h3&gt;  &lt;p&gt;Most of ServiceBus methods provides now async/await support. More about this feature:    &lt;br /&gt;&lt;a title="http://blogs.msdn.com/b/windowsazure/archive/2013/04/11/task-based-apis-for-service-bus.aspx" href="http://blogs.msdn.com/b/windowsazure/archive/2013/04/11/task-based-apis-for-service-bus.aspx"&gt;http://blogs.msdn.com/b/windowsazure/archive/2013/04/11/task-based-apis-for-service-bus.aspx&lt;/a&gt;     &lt;br /&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-25/2500.Screen-Shot-2013_2D00_04_2D00_11-at-12.13.12-PM.png" /&gt;&lt;/p&gt;  &lt;p&gt;(&lt;em&gt;image copied from msdn – see URL above&lt;/em&gt;)&lt;/p&gt;  &lt;p&gt;Video about SB v2 features:    &lt;br /&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;a title="http://channel9.msdn.com/Blogs/Subscribe/Whats-new-in-the-Service-Bus-NET-SDK-20" href="http://channel9.msdn.com/Blogs/Subscribe/Whats-new-in-the-Service-Bus-NET-SDK-20"&gt;http://channel9.msdn.com/Blogs/Subscribe/Whats-new-in-the-Service-Bus-NET-SDK-20&lt;/a&gt;       &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Sample for this solution:    &lt;br /&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;&lt;a title="http://code.msdn.microsoft.com/ServiceBus-V2-Features-6b29f2ca" href="http://code.msdn.microsoft.com/ServiceBus-V2-Features-6b29f2ca"&gt;http://code.msdn.microsoft.com/ServiceBus-V2-Features-6b29f2ca&lt;/a&gt;&lt;/span&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;mso-ansi-language:en-us;"&gt;     &lt;br /&gt;      &lt;br /&gt;      &lt;br style="mso-special-character:line-break;" /&gt;      &lt;br style="mso-special-character:line-break;" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=525929" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="windows azure" scheme="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx" /><category term="ServiceBus" scheme="http://developers.de/blogs/damir_dobric/archive/tags/ServiceBus/default.aspx" /><category term="se" scheme="http://developers.de/blogs/damir_dobric/archive/tags/se/default.aspx" /></entry><entry><title>Power of Windows Azure PaaS: State Share and Persistence in the cloud</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/04/22/state-share-and-persistence-in-the-cloud.aspx" /><id>/blogs/damir_dobric/archive/2013/04/22/state-share-and-persistence-in-the-cloud.aspx</id><published>2013-04-22T13:00:00Z</published><updated>2013-04-22T13:00:00Z</updated><content type="html">&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;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="Architecture and Modeling" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Architecture+and+Modeling/default.aspx" /><category term="cloud" scheme="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx" /><category term="azure" scheme="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx" /><category term="AppFabric" scheme="http://developers.de/blogs/damir_dobric/archive/tags/AppFabric/default.aspx" /><category term="windows azure" scheme="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx" /><category term="SharePoint" scheme="http://developers.de/blogs/damir_dobric/archive/tags/SharePoint/default.aspx" /><category term="Integration" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Integration/default.aspx" /></entry><entry><title>Power of Windows Azure PaaS: Service Bus Sequence Counter</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/04/21/power-of-windows-azure-paas-service-bus-sequence-counter.aspx" /><id>/blogs/damir_dobric/archive/2013/04/21/power-of-windows-azure-paas-service-bus-sequence-counter.aspx</id><published>2013-04-21T15:40:21Z</published><updated>2013-04-21T15:40:21Z</updated><content type="html">&lt;p&gt;If you are distributed application developer you will probably know how often thereby any participant in the system. is a requirement to implement a sequence counter which generates a next number and can be consumed by any participant in the system.    &lt;br /&gt;Long time ago as we have been implementing client server architectures, this was relatively easy to achieve by using of Database sequence numbering. In the last decade of services we moved the responsibility of the counter to the service later.     &lt;br /&gt;That means we implemented a dedicated service which plays a role of counter generator. As following picture shows two devices consume the Sequence Generator Service.&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_29852AB5.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_024AE180.png" width="261" height="231" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;As long you are in control of the infrastructure and devices this is a valid solution. But what if your system is distributed across a cloud? In this case you can basically do the same way. You can create a service as a worker role (on of possibilities) and provision database (or use table storage) to store the current value of the counter.     &lt;br /&gt;However you can do it much simpler and even chipper way if you use Windows Azure Service Bus. Independent on lower costs, Service Bus provides notifications, high performance and&amp;#160; even REST access. To demonstrate this I have implemented a prototype API on top of ServiceBus library.&amp;#160; Following picture shows how architecture is slightly changed in a case of cloud counter, which I will call &lt;strong&gt;WebCounter&lt;/strong&gt; later in tihs post.&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_7B2BA507.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_740C688F.png" width="533" height="146" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;In this case there is no explicite service which you have to build. In fact we will use the cloud as dependency. More precisely&amp;#160; we will use for this scenario Windows Azure Service Bus.    &lt;br /&gt;    &lt;br /&gt;The WebCounter Api should hide ServiceBus functionality. This is because not many developers have a good understanding of messaging and bus technology. Moreover hidden details are not necessarily simple in comparison to counter scenario.     &lt;br /&gt;My proposed implementation look like:     &lt;br /&gt;    &lt;br /&gt;&lt;em&gt;WebCounter counter = new WebCounter(config parameters);      &lt;br /&gt;var val = counter.GetNext();&lt;/em&gt;    &lt;br /&gt;    &lt;br /&gt;Optionally you can reset the counter:     &lt;br /&gt;    &lt;br /&gt;&lt;em&gt;counter.ResetValue(7);&lt;/em&gt;    &lt;br /&gt;    &lt;br /&gt;This is in term of API more or less all. It looks very trivial and you even don’t need any documentation to start using it. This is exactly the idea of this post, to show how useful scenarios can be built by leveraging of PaaS.&lt;/p&gt;  &lt;h3&gt;How does it work?&lt;/h3&gt;  &lt;p&gt;First of all, the &lt;strong&gt;WebCounter&lt;/strong&gt; API have to create the queue, which will be used to hold the counter value. To do that the initialization has to be performed:&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;mso-ansi-language:en-us;"&gt;public&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; WebCounter(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; connStr, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; contextName, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; counterName)&lt;/span&gt;&lt;span style="mso-ansi-language:en-us;"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;br /&gt;&lt;strong&gt;connStr&lt;/strong&gt; is Service Bus Connection string like   &lt;br /&gt;Endpoint=sb://xyzuvw.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=…obfuscated.=&amp;quot;  &lt;p&gt;&lt;strong&gt;contextName&lt;/strong&gt; defines the business domain of the counter like ‘MyClinicalDevicesCounter’.    &lt;br /&gt;    &lt;br /&gt;&lt;strong&gt;counterName&lt;/strong&gt; defines the name of sub-context inside of business context like ‘BloothTestCounter’ or ‘RentgenScanCounter’.&lt;/p&gt;  &lt;p&gt;Service Bus would see them like: Queue with name “&lt;em&gt;MyClinicalDevicesCounter/BloothTestCounter&lt;/em&gt;” and “&lt;em&gt;MyClinicalDevicesCounter/RentgenScanCounter&lt;/em&gt;”.    &lt;br /&gt;    &lt;br /&gt;Internally the queue will be created like shown in following snippet:    &lt;br /&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&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;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;private&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;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;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; createCounterQueue()             &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;NamespaceManager&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; namespaceManager = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;NamespaceManager&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;.CreateFromConnectionString(m_ConnStr);             &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;QueueDescription&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; desc = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;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;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;QueueDescription&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;(getQueueName());             &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;desc.RequiresSession = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;try&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;var&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; qD = namespaceManager.CreateQueue(desc);             &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; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;catch&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; (Microsoft.ServiceBus.Messaging.&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;MessagingEntityAlreadyExistsException&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;"&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;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&gt;            &lt;br style="mso-special-character:line-break;" /&gt;            &lt;br style="mso-special-character:line-break;" /&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p class="MsoNormal"&gt;Notice that the queue is session queue. This means that transitionally one participant can access the queue only. Because the queue will be used to hold the last counter value we are not interested on ordered deliver of the message.   &lt;br /&gt;If the queue with the same name already exists, we will simply ignore the exception.    &lt;br /&gt;    &lt;br /&gt;Now, let’s take a look how the counter value is generated. First we create the receiver session. The receiver will either return NULL-message (very first call) ovaluer the counter value.    &lt;br /&gt;Then we calculate the next value (0 if this is the first message or Value++). Right after receiving the message we will immediately write the new value in the queue. Because the session receiver is opened while writing the message,    &lt;br /&gt;no any other client in the web can start receiving of messages. While receiving is locked the client will write the new value and so on.    &lt;br /&gt;    &lt;br /&gt;Unfortunately, every client in the web will in this scenario have a possibility to send the message to the queue. In this case vendors of such clients would theoretically have a possibility to compromise the system.    &lt;br /&gt;As long the queue name is possibly obfuscated, the message encrypted&amp;#160; and client on devise safe, this could not be a big issue. Anyhow you should be aware of possible risks, at least.    &lt;br /&gt;    &lt;br /&gt;Here is the code snippet which shows how counting can be implemented.    &lt;br /&gt;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;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;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;long&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; GetNext()           &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;QueueClient&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; client = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;QueueClient&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;.CreateFromConnectionString(m_ConnStr, getQueueName(), &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;ReceiveMode&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;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;line-height:115%;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;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;MessageSession&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; sessionReceiver = &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;null&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;try&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;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;sessionReceiver = client.AcceptMessageSession(m_QueueName, &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;TimeSpan&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;.FromSeconds(10));           &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;&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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;long&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; cnt = 1;           &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;&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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;var&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; msg = sessionReceiver.Receive(&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;TimeSpan&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;.FromSeconds(10));           &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;if&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; (msg != &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;null&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;cnt = msg.GetBody&amp;lt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;long&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;msg.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;&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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;else&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;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;&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; &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;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;cnt++;            &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;client.Send(createMessage(cnt));            &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;return&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; cnt;           &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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;catch&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;SessionCannotBeLockedException&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;catch&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;Exception&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; ex2)           &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;&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;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;throw&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;finally&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;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;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;if&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt; (sessionReceiver != &lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:blue;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&gt;null&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:115%;mso-highlight:white;mso-ansi-language:en-us;"&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;&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;line-height:115%;mso-highlight:white;"&gt;sessionReceiver.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;&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;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="mso-ansi-language:en-us;"&gt;           &lt;br /&gt;&lt;/span&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;&lt;span style="mso-ansi-language:en-us;"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="mso-ansi-language:en-us;"&gt;Here is the more illustrated recap of WebCounter implementation:&lt;/span&gt;    &lt;p class="MsoNormal"&gt;     &lt;br style="mso-special-character:line-break;" /&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_33D64F15.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_538528DD.png" width="657" height="492" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=525328" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author></entry><entry><title>Welcome to WinDays 2013</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/04/21/welcome-to-windays-2013.aspx" /><id>/blogs/damir_dobric/archive/2013/04/21/welcome-to-windays-2013.aspx</id><published>2013-04-21T14:06:16Z</published><updated>2013-04-21T14:06:16Z</updated><content type="html">&lt;p&gt;I&amp;#39;m very happy that 01. Mai is on the front. This is my favorite Barbie Queue day.    &lt;br /&gt;But till than one more public conference only. &lt;a href="https://www.windays.hr/registration/"&gt;WinDays&lt;/a&gt; is probably after Tech Ed the biggest developer conference in Europe.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://www.windays.hr/registration/"&gt;&lt;img alt="" src="http://www.windays.hr/_cache/5ecb7ec947b1e8709a506c5f114bb284.png" width="498" height="332" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;Traditionally I will give few talks there. As always I will talk about things which publicly never been covered from perspective I usually do.   &lt;br /&gt;I’m ready for new year of more or less new fiscal strategies. This time my focus will be story about Devices and Service in context of cloud.    &lt;br /&gt;A good short introduction in upcoming content will be presented in my keynote.    &lt;br /&gt;Of course as MVP and VTSP I will focus Windows Azure Cloud and my personal expertise area around Distributed Systems, heavy architectures, Service Bus, Workflow Manager etc.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Here is short summary:   &lt;br /&gt;    &lt;br /&gt;&lt;strong&gt;Devices and Service Intro&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;22.04.: Keynote   &lt;br /&gt;To be covered very common and useful scenarios for devices in the cloud. What can you do with Service Bus and why is Service Bus one of core &lt;strong&gt;PaaS&lt;/strong&gt; components of Windows Azure.    &lt;br /&gt;    &lt;br /&gt;&lt;strong&gt;How to build Services for Devices&lt;/strong&gt;    &lt;br /&gt;24.04: &lt;a href="https://www.windays.hr/raspored/predavanje/139ffae6-0d8b-e211-b448-02bfc0a89f37"&gt;Distributed Applications for Windows, Cloud &amp;amp; SharePoint&lt;/a&gt; (400)    &lt;br /&gt;&lt;a href="https://www.windays.hr/raspored/dan/srijeda"&gt;srijeda&lt;/a&gt;15:05 - 15:50&lt;a href="https://www.windays.hr/raspored/dvorana/d11e7665-ff8a-e211-b448-02bfc0a89f37"&gt;Coral 5&lt;/a&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;strong&gt;Runtime for Devices&lt;/strong&gt;&lt;/p&gt;  &lt;h5&gt;24.04: &lt;a href="https://www.windays.hr/raspored/predavanje/739ffae6-0d8b-e211-b448-02bfc0a89f37"&gt;Runtime 8 Fight-Club&lt;/a&gt;    &lt;br /&gt;&lt;a href="https://www.windays.hr/raspored/dan/srijeda"&gt;srijeda&lt;/a&gt;18:20 - 19:05&lt;a href="https://www.windays.hr/raspored/dvorana/d11e7665-ff8a-e211-b448-02bfc0a89f37"&gt;Coral 5&lt;/a&gt;&lt;/h5&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=525321" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="windows azure" scheme="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx" /><category term="SharePoint" scheme="http://developers.de/blogs/damir_dobric/archive/tags/SharePoint/default.aspx" /><category term="ServiceBus" scheme="http://developers.de/blogs/damir_dobric/archive/tags/ServiceBus/default.aspx" /></entry><entry><title>Deployment of AppxPackage failed</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/04/19/deployment-of-appxpackage-failed.aspx" /><id>/blogs/damir_dobric/archive/2013/04/19/deployment-of-appxpackage-failed.aspx</id><published>2013-04-19T20:52:00Z</published><updated>2013-04-19T20:52:00Z</updated><content type="html">&lt;p&gt;When trying to deploy sideloaded apppackage you might get following error:&lt;/p&gt;  &lt;p&gt;add-appxpackage : Deployment failed with HRESULT: 0x800B0109, A certificate chain processed, but terminated in a root   &lt;br /&gt;certificate which is not trusted by the trust provider. (Exception from HRESULT: 0x800B0109)    &lt;br /&gt;error 0x800B0109: The root certificate of the signature in the app package must be trusted.    &lt;br /&gt;NOTE: For additional information, look for [ActivityId] … in the Event Log or use    &lt;br /&gt;the command line Get-AppxLog -ActivityID …&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If the certificate is properly set in you certificate hive (Current User) it will pass the signature test procedure for Authenticode. However it can happen that deployment process of the package with valid signature fails.   &lt;br /&gt;This sounds a strange, but testing signature validates that the signature (certificate) is digitally valid. If you want to deploy the signed packed the machine itself must trust this certificate. I do not want to speculate now about    &lt;br /&gt;theoretical and practical meaning of this. It is a fact and it gives us a bit more security sugar on top.    &lt;br /&gt;    &lt;br /&gt;The solution for this is to define the certificate trust in (Local Computer) hive. To do this open certificates in MMC and move (install) the certificate in one of following two nodes:    &lt;br /&gt;    &lt;br /&gt;- Trusted Root Certificates    &lt;br /&gt;- Trusted People&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_6028AA08.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_7FD783D0.png" width="294" height="252" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;How to create a package: &lt;a title="http://msdn.microsoft.com/en-us/library/windows/apps/hh975357.aspx" href="http://msdn.microsoft.com/en-us/library/windows/apps/hh975357.aspx"&gt;http://msdn.microsoft.com/en-us/library/windows/apps/hh975357.aspx&lt;/a&gt;    &lt;br /&gt;How to share the package: &lt;a title="http://technet.microsoft.com/en-us/library/hh852635.aspx#SideloadingRequirements" href="http://technet.microsoft.com/en-us/library/hh852635.aspx#SideloadingRequirements"&gt;http://technet.microsoft.com/en-us/library/hh852635.aspx#SideloadingRequirements&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=525168" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="Apps and Devices" scheme="http://developers.de/blogs/damir_dobric/archive/tags/Apps+and+Devices/default.aspx" /></entry><entry><title>How to add the user to Windows Azure Sql Server?</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/04/16/how-to-add-the-user-to-windows-azure-sql-server.aspx" /><id>/blogs/damir_dobric/archive/2013/04/16/how-to-add-the-user-to-windows-azure-sql-server.aspx</id><published>2013-04-16T19:09:00Z</published><updated>2013-04-16T19:09:00Z</updated><content type="html">&lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;p&gt;   &lt;br /&gt;When working with SQL Server in Windows Azure you can create very quickly the database. But if you have a big distributed team usually you will not want to give everybody the access to DB.    &lt;br /&gt;Unfortunately right now, there is no way to manage users in Management Portal or event to do that within SQL Management studio. At least not by using common UI. This post describes stepp by step how to create the user    &lt;br /&gt;by using T-SQL within SQL Management Studio.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Start SQM Management studio and connect with the admin user, which you will usually use in SQL Management Portal.   &lt;br /&gt;Once you are connected to your Windows Azure Database, select the &lt;strong&gt;master&lt;/strong&gt; database, right mouse click and select new query.&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_17C56F42.png"&gt;&lt;img 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_578F55C7.png" width="244" height="122" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This will open the new query wit connection to master database. &lt;u&gt;Note that you have to open the SQL editor with master database&lt;/u&gt;!     &lt;br /&gt;Then type following in the query in the editor:     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;CREATE LOGIN &lt;font color="#ff0000"&gt;yourusername&lt;/font&gt; WITH password=’&lt;font color="#ff0000"&gt;YourPwd123&lt;/font&gt;‘;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This will create the new LOGIN in the master database. &lt;/p&gt;  &lt;p&gt;Now execute following statement in the same editor:   &lt;br /&gt;&lt;strong&gt;     &lt;br /&gt;CREATE USER &lt;font color="#ff0000"&gt;yourusername&lt;/font&gt; FROM LOGIN &lt;font color="#ff0000"&gt;yourusername&lt;/font&gt; ;&lt;/strong&gt;     &lt;br /&gt;This statement will create the user from specified login in the &lt;strong&gt;master&lt;/strong&gt; database.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;After that we need the to select wanted database (as in previous step, but this time you will not select &lt;strong&gt;master&lt;/strong&gt; database) and open the query window.     &lt;br /&gt;In that window enter same script as in previous step:     &lt;br /&gt;    &lt;br /&gt;&lt;strong&gt;CREATE USER &lt;font color="#ff0000"&gt;yourusername&lt;/font&gt; FROM LOGIN &lt;font color="#ff0000"&gt;yourusername&lt;/font&gt; ;&lt;/strong&gt;     &lt;br /&gt;    &lt;br /&gt;This statement will create the user from specified login in your database.&lt;/p&gt;  &lt;p&gt;At the end we need to append some roles to the user. They can be enlisted as follows:&amp;#160; &lt;br /&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_30550C92.png"&gt;&lt;img 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_572322D2.png" width="215" height="214" /&gt;&lt;/a&gt;     &lt;br /&gt;    &lt;br /&gt;For example if you want to add it in the role of owners do following:     &lt;br /&gt;    &lt;br /&gt;&lt;strong&gt;EXEC sp_addrolemember &amp;#39;db_owner&amp;#39;, &lt;font color="#ff0000"&gt;yourusername&lt;/font&gt; ;&lt;/strong&gt;     &lt;br /&gt;    &lt;br /&gt;Now you can use use DB in the cloud. I know that last few steps are not very common task of every developer. I have tried to keep them simple. T-SQL can look much worse, believe me.     &lt;br /&gt;An alternative to these steps was to setup completely new infrastructure which will publicly provide secure access to database. My steps have taken about 20 mins to provision and migrate one DB in the cloud.     &lt;br /&gt;To do all that On-Prem will take much, much more time.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=524657" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="windows azure" scheme="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx" /></entry><entry><title>Integration Styles – University of Applied Sciences Frankfurt am Main</title><link rel="alternate" type="text/html" href="/blogs/damir_dobric/archive/2013/04/13/introduction-in-integration-styles-university-of-applied-sciences-frankfurt-am-main.aspx" /><id>/blogs/damir_dobric/archive/2013/04/13/introduction-in-integration-styles-university-of-applied-sciences-frankfurt-am-main.aspx</id><published>2013-04-13T08:14:33Z</published><updated>2013-04-13T08:14:33Z</updated><content type="html">&lt;p&gt;Announcing Agenda for April 15. 2013. The focus of the session will be “Introduction in Integration Styles”.&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_67632E28.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_6033CBE3.png" width="867" height="437" /&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=524607" width="1" height="1"&gt;</content><author><name>ddobric</name><uri>http://developers.de/members/ddobric/default.aspx</uri></author><category term="windows azure" scheme="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx" /></entry></feed>