<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.2.1 on Wed, 09 Sep 2009 15:47:10 GMT -->
<rss version="2.0">
	<channel>
		<title>Nielsens Weblog</title>
		<link>http://radio.weblogs.com/0122832/</link>
		<description>WS-Epicentre</description>
		<language>en-us</language>
		<copyright>Copyright 2009 Allan Nielsen</copyright>
		<lastBuildDate>Wed, 09 Sep 2009 15:47:10 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss</docs>
		<generator>Radio UserLand v8.2.1</generator>
		<managingEditor>an@jcsharp.net</managingEditor>
		<webMaster>an@jcsharp.net</webMaster>
		<category domain="http://rpc.weblogs.com/shortChanges.xml">rssUpdates</category> 
		<skipHours>
			<hour>1</hour>
			<hour>2</hour>
			<hour>3</hour>
			<hour>4</hour>
			<hour>5</hour>
			<hour>0</hour>
			<hour>6</hour>
			<hour>7</hour>
			</skipHours>
		<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc"/>
		<ttl>60</ttl>
		<item>
			<title>Soa in 10 days</title>
			<link>http://radio.weblogs.com/0122832/2009/09/09.html#a95</link>
			<description>&lt;P&gt;The next issue of &lt;A href=&quot;http://msdn.microsoft.com/en-us/architecture/bb410935.aspx&quot;&gt;Microsoft Archiecture Journal&lt;/A&gt;&amp;nbsp;will contain an article published by &lt;A href=&quot;http://www.soain10days.com/authors&quot;&gt;2 of my colleagues&lt;/A&gt;. The article&amp;nbsp;links to a new site called &lt;A href=&quot;http://www.soain10days.com/&quot;&gt;Soa in 10 days&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Check it out, I&apos;ll be writing a 3 part series on how to build a publish/subscribe architecture in WCF.&lt;/P&gt;
&lt;P&gt;Be sure to subscribe to the site for updates, full source code for the pub/sub thing and lots more on security matters is up.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2009/09/09.html#a95</guid>
			<pubDate>Wed, 09 Sep 2009 15:47:10 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=95&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2009%2F09%2F09.html%23a95</comments>
			</item>
		<item>
			<title>2009</title>
			<link>http://radio.weblogs.com/0122832/2008/12/31.html#a94</link>
			<description>&lt;P&gt;I wish you guys a happy new year, the best of luck in 2009.&lt;/P&gt;
&lt;P&gt;what&apos;s up in 2009 ?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;WCF, WF, Geneva Framework and SQL2008. 
&lt;LI&gt;Azure Services Platform. 
&lt;LI&gt;Traveling ... London, Frankfurt, Hanoi ? 
&lt;LI&gt;Vacation in Italy and Switzerland. 
&lt;LI&gt;on October the 25th&amp;nbsp;.. &lt;A href=&quot;http://www.luzernmarathon.ch/&quot;&gt;Luzern Marathon&lt;/A&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.codeplex.com/YAESB&quot;&gt;YAESB&lt;/A&gt; on Codeplex, stay tuned&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;bring it on,&lt;/P&gt;
&lt;P&gt;@llan&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2008/12/31.html#a94</guid>
			<pubDate>Wed, 31 Dec 2008 15:39:36 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=94&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2008%2F12%2F31.html%23a94</comments>
			</item>
		<item>
			<title>WWF</title>
			<link>http://radio.weblogs.com/0122832/2008/04/09.html#a93</link>
			<description>&lt;P&gt;Just back from Vietnam yesterday, jetlag... darn tired. Next week I am taking some time off, going to London on a small vacation...so what&apos;s up in London ?&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=PageHead&gt;&lt;A href=&quot;http://www.develop.com&quot;&gt;Essential Windows Workflo&lt;/A&gt;&lt;A href=&quot;http://www.develop.com&quot;&gt;w Foundation&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;what else is there to do in London ?&lt;/P&gt;
&lt;P&gt;:-D&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2008/04/09.html#a93</guid>
			<pubDate>Wed, 09 Apr 2008 17:32:02 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=93&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2008%2F04%2F09.html%23a93</comments>
			</item>
		<item>
			<title>IncomingMessageHeaders </title>
			<link>http://radio.weblogs.com/0122832/2008/01/23.html#a92</link>
			<description>&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt&quot;&gt;The project we&apos;re working on currently is using &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; COLOR: #2b91af; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;ServiceAuthorizationManager &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt&quot;&gt;for authorizing incoming request. &lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt&quot;&gt;&lt;FONT face=Consolas&gt;The current implementation is expecting the RequestMessage.Headers.Action field to contain the incoming soap action. Here is the catch, if you have a method that is decorated with IsOneWay=true, then guess what the RequestContext is null!...&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt&quot;&gt;&lt;FONT face=Consolas&gt;This makes sense as one way calls is not the usual request/response pattern, but it sure did break our implementation :).&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt&quot;&gt;&lt;FONT face=Consolas&gt;So a quick fix would be to look at the IncomingMessageHeaders instead like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;for&lt;/SPAN&gt; (&lt;SPAN style=&quot;COLOR: blue&quot;&gt;int&lt;/SPAN&gt; i = 0; i &amp;lt; operationContext.IncomingMessageHeaders.Count; ++i)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;MessageHeaderInfo&lt;/SPAN&gt; h = operationContext.IncomingMessageHeaders[i];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;if&lt;/SPAN&gt; (h.Name == &lt;SPAN style=&quot;COLOR: #a31515&quot;&gt;&quot;Action&quot;&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;XmlReader&lt;/SPAN&gt; xr = operationContext.IncomingMessageHeaders.GetReaderAtHeader(i);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;action = xr.ReadElementContentAsString();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;BTW. Happy new year!, we spend the holidays in New York. We stayed at the Hilton &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: Consolas; mso-bidi-font-family: Arial&quot;&gt;Millenium&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: &apos;Arial&apos;,&apos;sans-serif&apos;&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;on 54&lt;SUP&gt;th&lt;/SUP&gt; floor. Amazing view, we had the governor suite (I think it was called that way). On my right side we could see the Brooklyn bridge, strait out the window we could see the Empire State Building (upper Manhattan) and on our left side we had the Statue of Liberty and of course Ground Zero.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;Okay I don&apos;t get it, what fun is it standing on Times Square from 13.00 to 23.59 waiting for a ball drop ?!? &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Wingdings; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;; mso-ascii-font-family: Consolas; mso-hansi-font-family: Consolas; mso-char-type: symbol; mso-symbol-font-family: Wingdings&quot;&gt;&lt;SPAN style=&quot;mso-char-type: symbol; mso-symbol-font-family: Wingdings&quot;&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;. &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes&quot;&gt;Well glad I was watching this from my room instead &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Wingdings; mso-no-proof: yes; mso-ascii-font-family: Consolas; mso-hansi-font-family: Consolas; mso-char-type: symbol; mso-symbol-font-family: Wingdings&quot;&gt;&lt;SPAN style=&quot;mso-char-type: symbol; mso-symbol-font-family: Wingdings&quot;&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes&quot;&gt;. We&apos;re definitely going to visit New York again.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt&quot;&gt;&lt;FONT face=Calibri&gt;Start spreading the news I&apos;m leaving&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: Consolas; mso-bidi-font-family: Arial&quot;&gt; today &amp;#133; .&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2008/01/23.html#a92</guid>
			<pubDate>Wed, 23 Jan 2008 12:39:41 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=92&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2008%2F01%2F23.html%23a92</comments>
			</item>
		<item>
			<title>UserNamePasswordClientCredential</title>
			<link>http://radio.weblogs.com/0122832/2007/09/22.html#a91</link>
			<description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Say you are doing a banking &lt;A href=&quot;http://msdn.microsoft.com/smartclient/&quot;&gt;SmartClient&lt;/A&gt; application, people finally got tired of phissing and &quot;fat&quot; clients is the answer here. &lt;/P&gt;
&lt;P&gt;Now my SmartClient uses WCF (duh) as the communication infrastructure between the end user and the bank. The end user is presented with the usual login box + some extra security id RSA key she must enter.&lt;/P&gt;
&lt;P&gt;The credentials is then stored in memory and each time I call out to my WCF proxy I pass in those credentials + the extra rsa custom token. I am holding on to the username token in memory using &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.security.securestring.aspx&quot;&gt;SecureString&lt;/A&gt; of course.&lt;/P&gt;
&lt;P&gt;So here is my concern, say I am holding on to my session aware channelfactory for many reasons, performance amongst other things. Obviously I have to set the Username and Password on the channel, fine but the &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.servicemodel.security.usernamepasswordclientcredential.aspx&quot;&gt;UserNamePasswordClientCredential&lt;/A&gt; class uses string to hold my identity!! WTF. Great eh, out goes the SecureString idea.&lt;/P&gt;
&lt;P&gt;We&apos;re not talking about securing the token when it crosses the wire, that part is secured, but I am talking about the fact that my password and &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.servicemodel.description.clientcredentials.username.aspx&quot;&gt;username&lt;/A&gt; is visible to prying eyes in memory, the second I set my credentials on the channelfactory.&lt;/P&gt;
&lt;P&gt;Might not be a big deal, but why not use SecureString on the UserNamePasswordClientCredential in the first place!.&lt;/P&gt;
&lt;P&gt;I might be missing the obvious reason as why UserNamePasswordClientCredential is designed like this, comments are welcome here.&lt;/P&gt;
&lt;P&gt;Btw: a possible implementation of the cached identity could be written like this (given the fact that UserNamePasswordClientCredential uses System.String ;-)).&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;sealed&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;class&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;CacheClientCredentials&lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;private&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;static&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;SecureString&lt;/SPAN&gt; usr = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;SecureString&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;private&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;static&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;SecureString&lt;/SPAN&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;pwd= &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;SecureString&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;static&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;string&lt;/SPAN&gt; UserName&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;get&lt;/SPAN&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;{ &lt;SPAN style=&quot;COLOR: blue&quot;&gt;return&lt;/SPAN&gt; SecureStringToString(usr); }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;set&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;char&lt;/SPAN&gt;[] chars = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;value&lt;/SPAN&gt;.ToCharArray();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style=&quot;COLOR: blue&quot;&gt;char&lt;/SPAN&gt; c &lt;SPAN style=&quot;COLOR: blue&quot;&gt;in&lt;/SPAN&gt; chars)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;usr.AppendChar(c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;usr.MakeReadOnly();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;static&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;string&lt;/SPAN&gt; Password&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;get&lt;/SPAN&gt; { &lt;SPAN style=&quot;COLOR: blue&quot;&gt;return&lt;/SPAN&gt; SecureStringToString(pwd);&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;set&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;char&lt;/SPAN&gt;[] chars = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;value&lt;/SPAN&gt;.ToCharArray();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style=&quot;COLOR: blue&quot;&gt;char&lt;/SPAN&gt; c &lt;SPAN style=&quot;COLOR: blue&quot;&gt;in&lt;/SPAN&gt; chars)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;pwd.AppendChar(c);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;pwd.MakeReadOnly();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;private&lt;/SPAN&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;static&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;string&lt;/SPAN&gt; SecureStringToString(&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;SecureString&lt;/SPAN&gt; value)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;IntPtr&lt;/SPAN&gt; bstr = &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;Marshal&lt;/SPAN&gt;.SecureStringToBSTR(value);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;return&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;Marshal&lt;/SPAN&gt;.PtrToStringBSTR(bstr);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;finally&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;Marshal&lt;/SPAN&gt;.FreeBSTR(bstr);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;The average, healthy, well-adjusted adult gets up at seven-thirty in the morning feeling just plain terrible. &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -- Jean Kerr &lt;BR&gt;&lt;BR&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2007/09/22.html#a91</guid>
			<pubDate>Sat, 22 Sep 2007 08:41:57 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=91&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2007%2F09%2F22.html%23a91</comments>
			</item>
		<item>
			<title>SecurityAccessDeniedException</title>
			<link>http://radio.weblogs.com/0122832/2007/09/19.html#a90</link>
			<description>&lt;P&gt;Sigh, it&apos;s the client proxy that throws the exception.&lt;/P&gt;
&lt;P&gt;We have setup the usual universal error handler implementing the &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.servicemodel.dispatcher.ierrorhandler.aspx&quot;&gt;IErrorHandler&lt;/A&gt; interface, all good I figured.&lt;/P&gt;
&lt;P&gt;The ProvideFault implementation is strait forward, if any exception occurs, wrap it up in a &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/ms576199.aspx&quot;&gt;FaultException&lt;/A&gt; and return that to the client. I believed that this was it, no faulted channels on my shift and client was happy.&lt;/P&gt;
&lt;P&gt;The problem we ran into was the implementation of the ProvideFault. The symptoms was that, when ever a &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.servicemodel.security.securityaccessdeniedexception.aspx&quot;&gt;SecurityAccessDeniedException&lt;/A&gt; was thrown, the client would catch that exception and show a localized message to the enduser, except the client never got the &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.servicemodel.security.securityaccessdeniedexception.aspx&quot;&gt;SecurityAccessDeniedException&lt;/A&gt;, it got an untyped FaultException!.&lt;/P&gt;
&lt;P&gt;The reason why is actually obvious, if the exception thrown by the service is already an exception derived from the CommunicationException aka a FaultException, the ProvideFault should of course not wrap that fault up into yet another FaultException, it should simply just return from the ProvideFault and let the faultexception travel.&lt;/P&gt;
&lt;P&gt;So the implementation must have the following check:&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;void&lt;/SPAN&gt; ProvideFault(&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;Exception&lt;/SPAN&gt; error, System.ServiceModel.Channels.MessageVersion version, &lt;SPAN style=&quot;COLOR: blue&quot;&gt;ref&lt;/SPAN&gt; System.ServiceModel.Channels.Message fault)&lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;if&lt;/SPAN&gt; (error &lt;SPAN style=&quot;COLOR: blue&quot;&gt;is&lt;/SPAN&gt; FaultException)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;return&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;this way the faultexception is propagated to the client proxy and then the client proxy will turn the FaultException into the SecurityAccessDeniedException and then re throw it.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;My theory is that all of Scottish cuisine is based on a dare. &lt;BR&gt;-- Mike Myers&lt;BR&gt;&lt;/P&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2007/09/19.html#a90</guid>
			<pubDate>Wed, 19 Sep 2007 14:43:54 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=90&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2007%2F09%2F19.html%23a90</comments>
			</item>
		<item>
			<title>Custom binding</title>
			<link>http://radio.weblogs.com/0122832/2007/09/15.html#a89</link>
			<description>&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;Back from Vietnam. I survived the first 6 days without any stomach trouble, but then oh boy... for another 5 consecutive days I was in deep shit sort of speak. Long live Coca Cola!.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;Okay we ran into the &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/aa738641.aspx&quot;&gt;TimeStampHasCreationTimeInFuture&lt;/A&gt;, cool. Now it&apos;s not possible to extend the default bindings with the maxClockSkew setting, so you have to resort to custom bindings.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;We are using basicHttpBinding for maximum interoperability, so creating a similar custom binding given this default binding here:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;basicHttpBinding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;binding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;basic&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;security&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;mode&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;TransportWithMessageCredential&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;message&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;clientCredentialType&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;UserName&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;security&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;binding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;basicHttpBinding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;is strait forward converting this into a custom binding like this:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;customBinding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;binding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;basic&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;security&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;authenticationMode&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;UserNameOverTransport&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;localClientSettings&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;maxClockSkew&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;00:10:00&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;localServiceSettings&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;maxClockSkew&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;00:10:00&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;security&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;textMessageEncoding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;messageVersion&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;Soap11&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;httpsTransport&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;binding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;customBinding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;First you apply the security element which enables you to set the maxClockSkew values. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;MaxClockSkew has a default value of 5 minutes and using svcutil to generate the client config, it stays that way ;-), correct svcutil does not pick up the server side values so you would have to set them manually afterwards.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;Next we setup the mandatory encoding element and the soap version, in our case we use text encoding and soap 1.1 for maximum interoperability with external clients.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;We finish our custom binding with specifying the mandatory transport element, which in our case is HTTPS securing a username token.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;&lt;FONT color=blue&gt;Off topic&lt;/FONT&gt;:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;Say you&apos;re not concerned about interoperability but instead are picking a battles with the paranoid it-guys responsible for the all the firewalls in the company. These guys tends to lock down every port but port 80, 443.&amp;nbsp;&amp;lt;rant&amp;gt;They even close port 1433 behind firewalls forcing us to write &quot;rpc&quot; services! don&apos;t get me started. ;-)&amp;lt;/rant&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;In situations like that I would recommend using a custom binding also but with a binary encoding instead.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;For example given the above bindings you could build your custom binding exactly the same way but with a binary message encoding instead.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;o:p&gt;&lt;FONT face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;customBinding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;binding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;basic&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;security&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;authenticationMode&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;UserNameOverTransport&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;localClientSettings&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;maxClockSkew&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;00:10:00&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;localServiceSettings&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;maxClockSkew&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;00:10:00&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;security&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;binaryMessageEncoding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;httpsTransport&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;binding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: #a31515; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;customBinding&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT face=Consolas&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT color=black&gt;Performance is optimal with the binary encoder and you keep the it-guys happy.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;FONT color=black&gt;&quot;As long as you&apos;re going to be thinking anyway, THINK BIG.&quot;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;BR&gt;&lt;FONT color=black&gt;- Donald Trump&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2007/09/15.html#a89</guid>
			<pubDate>Sat, 15 Sep 2007 19:38:38 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=89&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2007%2F09%2F15.html%23a89</comments>
			</item>
		<item>
			<title>IInteractiveChannelInitializer</title>
			<link>http://radio.weblogs.com/0122832/2007/07/13.html#a88</link>
			<description>&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;Say you have a service which requires a UsernameToken, the client would be responsible for passing in this token. Where do you get this token from, well usually the user is prompted for her credentials. There is the standard UI &lt;A href=&quot;http://msdn2.microsoft.com/EN-US/library/aa375177.aspx&quot;&gt;dialogbox&lt;/A&gt; for this kind of thing here.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none; tab-stops: 71.3pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-tab-count: 1&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;So let&apos;s try and complicate things a bit by NOT just passing in the username and password on the proxy.&lt;FONT color=blue&gt;ClientCredentials.UserName.UserName&lt;/FONT&gt;, oh no, not this time. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;Now&amp;nbsp;the WCF team have provided us with this little (rarely used imo) interface called &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Lucida Console&apos;; mso-bidi-font-family: &apos;Courier New&apos;&quot;&gt;&lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.servicemodel.dispatcher.iinteractivechannelinitializer.aspx&quot;&gt;IInteractiveChannelInitializer&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Lucida Console&apos;; mso-bidi-font-family: &apos;Courier New&apos;&quot;&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Lucida Console&apos;; mso-bidi-font-family: &apos;Courier New&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;This interface helps us implement the &quot;lets bother the user with a tedious login box&quot; but &lt;FONT color=red&gt;BEFORE&lt;/FONT&gt; a channel is opened, this is the key thing to remember here and the sole motivation for this interface.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;The documentation on this interface is rather weak and I completely missed out on the fact that I had to implement a &lt;FONT color=blue&gt;ClientCredentialsSecurityTokenManager&lt;/FONT&gt; also, so I got some hard to understand exceptions on my first implemention.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;Okay the basic song goes like this, create a class that derives from &lt;FONT color=blue&gt;ClientCredentials&lt;/FONT&gt; and override the &lt;FONT color=blue&gt;ApplyClientBehavior&lt;/FONT&gt; by adding your own class which implements the IInteractiveChannelInitializer interface&amp;#133; and yes override the CreateSecurityTokenManager with your own SecurityTokenManager (I messed that part up initially).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;So a sparse implementation of the ClientCredentials would turn out this way :&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;class&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ClientCredentialsEx&lt;/SPAN&gt; : &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ClientCredentials&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; ClientCredentialsEx(): &lt;SPAN style=&quot;COLOR: blue&quot;&gt;base&lt;/SPAN&gt;() {}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; ClientCredentialsEx(&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ClientCredentialsEx&lt;/SPAN&gt; other): &lt;SPAN style=&quot;COLOR: blue&quot;&gt;base&lt;/SPAN&gt;(other){}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;override&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;SecurityTokenManager&lt;/SPAN&gt; CreateSecurityTokenManager()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;return&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;MyClientCredentialsSecurityTokenManager&lt;/SPAN&gt;(&lt;SPAN style=&quot;COLOR: blue&quot;&gt;this&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 21.05pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;override&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;void&lt;/SPAN&gt; ApplyClientBehavior(&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ServiceEndpoint&lt;/SPAN&gt; serviceEndpoint, &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ClientRuntime&lt;/SPAN&gt; behavior)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;behavior.InteractiveChannelInitializers.Add(&lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ShowCredentialsUI&lt;/SPAN&gt;());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;base&lt;/SPAN&gt;.ApplyClientBehavior(serviceEndpoint, behavior);&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;protected&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;override&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ClientCredentials&lt;/SPAN&gt; CloneCore()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;return&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ClientCredentialsEx&lt;/SPAN&gt;(&lt;SPAN style=&quot;COLOR: blue&quot;&gt;this&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;And then your implementation of the &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;IInteractiveChannelInitializer&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;Would look something like this, note I didn&apos;t go all the way with the standard &lt;A href=&quot;http://msdn2.microsoft.com/EN-US/library/aa375177.aspx&quot;&gt;CreUIPromptForCredentials&lt;/A&gt; dialogbox, google it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;class&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ShowCredentialsUI&lt;/SPAN&gt; : &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;IInteractiveChannelInitializer&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;IAsyncResult&lt;/SPAN&gt; BeginDisplayInitializationUI(&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;IClientChannel&lt;/SPAN&gt; channel, &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 36pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: #2b91af; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;AsyncCallback&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; callback, &lt;SPAN style=&quot;COLOR: blue&quot;&gt;object&lt;/SPAN&gt; state)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: green&quot;&gt;&lt;a href=&quot;//call&quot;&gt;//call&lt;/a&gt; the CredUIPromptForCredentials and get back a user and password.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ChannelParameterCollection&lt;/SPAN&gt; col = channel.GetProperty&amp;lt;&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ChannelParameterCollection&lt;/SPAN&gt;&amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 36pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;col.Add(&lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; System.Net.&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;NetworkCredential&lt;/SPAN&gt;(username, password));&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 36pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;return&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;AsyncResult&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;void&lt;/SPAN&gt; EndDisplayInitializationUI(&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;IAsyncResult&lt;/SPAN&gt; result)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;AsyncResult&lt;/SPAN&gt; ar = (&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;AsyncResult&lt;/SPAN&gt;)result;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ar.isCompleted = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;true&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Calibri&apos;,&apos;sans-serif&apos;; mso-bidi-font-family: &apos;Times New Roman&apos;; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi&quot;&gt;&lt;BR style=&quot;PAGE-BREAK-BEFORE: always; mso-special-character: line-break&quot; clear=all&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; LINE-HEIGHT: 115%&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;Now a very sparse implemention of the IAsyncResult, I &lt;A href=&quot;http://radio.weblogs.com/0122832/2005/10/22.html#a77&quot;&gt;blogged&lt;/A&gt; about this long time ago.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;class&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;AsyncResult&lt;/SPAN&gt; : &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;IAsyncResult&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;bool&lt;/SPAN&gt; isCompleted = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;false&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;object&lt;/SPAN&gt; AsyncState&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;get&lt;/SPAN&gt; { &lt;SPAN style=&quot;COLOR: blue&quot;&gt;throw&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;Exception&lt;/SPAN&gt;(&lt;SPAN style=&quot;COLOR: #a31515&quot;&gt;&quot;The method or operation is not implemented.&quot;&lt;/SPAN&gt;); }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; System.Threading.&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;WaitHandle&lt;/SPAN&gt; AsyncWaitHandle&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;get&lt;/SPAN&gt; { &lt;SPAN style=&quot;COLOR: blue&quot;&gt;throw&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;Exception&lt;/SPAN&gt;(&lt;SPAN style=&quot;COLOR: #a31515&quot;&gt;&quot;The method or operation is not implemented.&quot;&lt;/SPAN&gt;); }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;bool&lt;/SPAN&gt; CompletedSynchronously{&lt;SPAN style=&quot;COLOR: blue&quot;&gt;get&lt;/SPAN&gt;{&lt;SPAN style=&quot;COLOR: blue&quot;&gt;return&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;true&lt;/SPAN&gt;;}}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;bool&lt;/SPAN&gt; IsCompleted { &lt;SPAN style=&quot;COLOR: blue&quot;&gt;get&lt;/SPAN&gt; { &lt;SPAN style=&quot;COLOR: blue&quot;&gt;return&lt;/SPAN&gt; isCompleted; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; LINE-HEIGHT: 115%; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;Now for the implementation of the custom &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ClientCredentialsSecurityTokenManager.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;The crux of this is you would dig out the &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;NetworkCredential &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;f&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;rom the &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ChannelParameterCollection which &lt;/SPAN&gt;was set by the&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt; &lt;/SPAN&gt;&lt;FONT color=red&gt;BeginDisplayInitializationUI&lt;/FONT&gt;.&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;class&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;MyClientCredentialsSecurityTokenManager&lt;/SPAN&gt; : &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ClientCredentialsSecurityTokenManager&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; MyClientCredentialsSecurityTokenManager(&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ClientCredentials&lt;/SPAN&gt; parent): &lt;SPAN style=&quot;COLOR: blue&quot;&gt;base&lt;/SPAN&gt;(parent){}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;override&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;SecurityTokenProvider&lt;/SPAN&gt; CreateSecurityTokenProvider(&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;SecurityTokenRequirement&lt;/SPAN&gt; tokenRequirement)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;if&lt;/SPAN&gt; (tokenRequirement.KeyUsage == &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;SecurityKeyUsage&lt;/SPAN&gt;.Signature)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;NetworkCredential&lt;/SPAN&gt; token = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ChannelParameterCollection&lt;/SPAN&gt; obj = (&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ChannelParameterCollection&lt;/SPAN&gt;)tokenRequirement.Properties[&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ServiceModelSecurityTokenRequirement&lt;/SPAN&gt;.ChannelParametersCollectionProperty];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;token = obj[0] &lt;SPAN style=&quot;COLOR: blue&quot;&gt;as&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;NetworkCredential&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;if&lt;/SPAN&gt; (tokenRequirement.TokenType == &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;SecurityTokenTypes&lt;/SPAN&gt;.UserName)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;return&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;MyUsernameSecurityTokenProvider&lt;/SPAN&gt;(token);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;return&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;base&lt;/SPAN&gt;.CreateSecurityTokenProvider(tokenRequirement);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;My custom SecurityTokenProvider which just creates the UserNameSecurityToken for the channel to use.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;class&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;MyUsernameSecurityTokenProvider&lt;/SPAN&gt; : &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;SecurityTokenProvider&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;NetworkCredential&lt;/SPAN&gt; cre = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; MyUsernameSecurityTokenProvider(&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;NetworkCredential&lt;/SPAN&gt; credentials)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;this&lt;/SPAN&gt;.cre = credentials;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;protected&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;override&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;SecurityToken&lt;/SPAN&gt; GetTokenCore(&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;TimeSpan&lt;/SPAN&gt; timeout)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;UserNameSecurityToken&lt;/SPAN&gt; token = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;UserNameSecurityToken&lt;/SPAN&gt;(cre.UserName,cre.Password);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;return&lt;/SPAN&gt; token;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;Now that was easy, all we need todo now is to hook up our new behavior on the proxy. This can be done in many ways, I choose to override the &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ClientBase &lt;/SPAN&gt;which then would add our new &quot;lets bother the user with a tedious login box&quot;. This is a matter of replacing the standard &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ClientCredentials &lt;/SPAN&gt;class on the proxy behaviour, with our own &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;IEndpointBehavior &lt;/SPAN&gt;implemented by our custom&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt; ClientCredentialsEx &lt;/SPAN&gt;class like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;partial&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;class&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;PartnerSubscriptionProxy&lt;/SPAN&gt; : &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ClientBase&lt;/SPAN&gt;&amp;lt;&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;IPartnerSubscriptionService&lt;/SPAN&gt;&amp;gt;, &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;IPartnerSubscriptionService&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;public&lt;/SPAN&gt; PartnerSubscriptionProxy(&lt;SPAN style=&quot;COLOR: blue&quot;&gt;string&lt;/SPAN&gt; address)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Endpoint.Address = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;EndpointAddress&lt;/SPAN&gt;(address);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Endpoint.Behaviors.Remove&amp;lt;&lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt; ClientCredentials&lt;/SPAN&gt; &amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Endpoint.Behaviors.Add(&lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: #2b91af&quot;&gt;ClientCredentialsEx&lt;/SPAN&gt;());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: Consolas; mso-no-proof: yes; mso-bidi-font-family: &apos;Times New Roman&apos;&quot;&gt;......&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; LINE-HEIGHT: 115%&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; LINE-HEIGHT: 115%&quot;&gt;&lt;FONT face=Calibri&gt;Right so all you have to do now is just invoke the proxy and call out to a method, this will invoke our ui box before the channel is opened giving the user a chance to think real hard about her credentials (which btw. always can be found on that yellow slip on your desk).&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; LINE-HEIGHT: 115%&quot;&gt;&lt;FONT face=Calibri&gt;&quot;Some cause happiness wherever they go; others, whenever they go.&quot;&lt;BR&gt;&amp;nbsp;--Oscar Wilde&lt;BR&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2007/07/13.html#a88</guid>
			<pubDate>Fri, 13 Jul 2007 18:45:57 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=88&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2007%2F07%2F13.html%23a88</comments>
			</item>
		<item>
			<title>svcutil.exe rant.</title>
			<link>http://radio.weblogs.com/0122832/2007/04/02.html#a87</link>
			<description>&lt;P class=MsoPlainText style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: &apos;Calibri&apos;,&apos;sans-serif&apos;; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin&quot;&gt;I think Microsoft did a great job with WCF, totally in love with this framework.&lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: &apos;Calibri&apos;,&apos;sans-serif&apos;; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: &apos;Calibri&apos;,&apos;sans-serif&apos;; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin&quot;&gt;For years I have been using an &lt;A href=&quot;http://www.microsoft.com/biztalk/default.mspx&quot;&gt;xsd editor&lt;/A&gt; when designing my asmx messages, this is no different when choosing WCF as your favorite communication framework.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: &apos;Calibri&apos;,&apos;sans-serif&apos;; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: &apos;Calibri&apos;,&apos;sans-serif&apos;; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin&quot;&gt;My frustration is when you design your xsd&apos;s and set the max occurs to unbounded on any simple type or complex type, the code generated by the &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/aa347733.aspx&quot;&gt;svcutil&lt;/A&gt; sucks big time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: &apos;Calibri&apos;,&apos;sans-serif&apos;; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: &apos;Calibri&apos;,&apos;sans-serif&apos;; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin&quot;&gt;Take for instance this xsd:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xml&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;version&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;1.0&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;encoding&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;utf-16&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;?&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xmlns:b&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&lt;a href=&quot;http://schemas.microsoft.com/BizTalk/2003&quot;&gt;http://schemas.microsoft.com/BizTalk/2003&lt;/a&gt;&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;xmlns&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&lt;a href=&quot;http://datacontract/2007/03/OrderMessage&quot;&gt;http://datacontract/2007/03/OrderMessage&lt;/a&gt;&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;elementFormDefault&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;qualified&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;targetNamespace&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&lt;a href=&quot;http://datacontract/2007/03/OrderMessage&quot;&gt;http://datacontract/2007/03/OrderMessage&lt;/a&gt;&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;xmlns:xs&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;http://www.w3.org/2001/XMLSchema&lt;/a&gt;&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:element&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;OrderMessage&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;nillable&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;true&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;type&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;OrderMessage&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;OrderMessage&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:element&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;minOccurs&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;1&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;maxOccurs&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;unbounded&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;Items&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;nillable&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;true&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;type&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;LineItems&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:element&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;LineItems&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;nillable&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;true&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;type&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;LineItems&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;LineItems&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;minOccurs&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;1&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;maxOccurs&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;1&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:element&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;total&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;type&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;xs:decimal&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:element&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;description&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;type&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;xs:string&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:element&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;OrderMessageReply&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;type&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;OrderMessageReply&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;OrderMessageReply&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;xs:element&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;Confirmed&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;type&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;xs:boolean&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-no-proof: yes&quot;&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-no-proof: yes&quot;&gt;xs:sequence&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-no-proof: yes&quot;&gt;xs:complexType&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; TEXT-INDENT: -12pt; LINE-HEIGHT: normal&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-no-proof: yes&quot;&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-no-proof: yes&quot;&gt;xs:schema&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;FONT face=Calibri&gt;When generating code using &lt;I style=&quot;mso-bidi-font-style: normal&quot;&gt;svcutil.exe /dconly schema1.xsd &lt;/I&gt;it produces this code here:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;FONT face=Calibri&gt;Garbage omitted here for clarity &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: Wingdings; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings&quot;&gt;&lt;SPAN style=&quot;mso-char-type: symbol; mso-symbol-font-family: Wingdings&quot;&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;class&lt;/SPAN&gt; OrderMessage : &lt;SPAN style=&quot;COLOR: teal&quot;&gt;List&lt;/SPAN&gt;&amp;lt;LineItems&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;partial&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;class&lt;/SPAN&gt; LineItems : &lt;SPAN style=&quot;COLOR: blue&quot;&gt;object&lt;/SPAN&gt;, IExtensibleDataObject&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;WTF, this is clearly not what I wanted, give me this structure here !!:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-tab-count: 1&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;class&lt;/SPAN&gt; OrderMessage : &lt;SPAN style=&quot;COLOR: blue&quot;&gt;object&lt;/SPAN&gt;, IExtensibleDataObject&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;List&lt;/SPAN&gt;&amp;lt;LineItems&amp;gt; LineItems;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;FONT face=Calibri&gt;What can you about this ?. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;FONT face=Calibri&gt;Apparently there is this ArrayOfxxxx &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/aa347850.aspx&quot;&gt;convention&lt;/A&gt;, a convention first seen in the wsdl 1.1 specification, later abandond by the WS-BP and then gladly introduced again in the svcutil.exe, oh joy, what a great interoperability message the world here got from the WCF team &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: Wingdings; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-no-proof: yes; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings&quot;&gt;&lt;SPAN style=&quot;mso-char-type: symbol; mso-symbol-font-family: Wingdings&quot;&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;FONT face=Calibri&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;FONT face=Calibri&gt;You can overcome this by introducing in your xsd&apos;s a complex type called ArrayOfLineItems and then create an element of type LineItems and then you would set the max occurs to unbounded. In your OrderMessage you would then create an element of type ArrayOfLineItems.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;FONT face=Calibri&gt;Great eh!!, this sure will put an extra burden on how you would organize your xsd&apos;s in the future.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;FONT face=Calibri&gt;This is not just about your custom complex types, oh no this goes for all the simple types also!!, so putting max occurs &amp;gt; 1 on a simple string type would mean you would have to create an ArrayOfstring.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;FONT face=Calibri&gt;That simply sucks, agree.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;FONT face=Calibri&gt;Your only option is to go with &lt;SPAN style=&quot;COLOR: red&quot;&gt;&lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/x6c1kb0s(vs.71).aspx&quot;&gt;xsd.exe&lt;/A&gt;&lt;/SPAN&gt;. That equally messed up code generator which has no support for &lt;SPAN style=&quot;COLOR: #365f91; mso-themecolor: accent1; mso-themeshade: 191&quot;&gt;System.Collections.Generic.List&lt;/SPAN&gt; and friends, no support for Guids, Uri and the like.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;FONT face=Calibri&gt;Say you can live with xsd.exe!!!, you would then use the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;[&lt;SPAN style=&quot;COLOR: teal&quot;&gt;&lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.servicemodel.xmlserializerformatattribute.aspx&quot;&gt;XmlSerializerFormat&lt;/A&gt;&lt;/SPAN&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;FONT face=Calibri&gt;which you can use on the interface, operation and on a class also.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;[&lt;SPAN style=&quot;COLOR: teal&quot;&gt;XmlSerializerFormat&lt;/SPAN&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;[&lt;SPAN style=&quot;COLOR: teal&quot;&gt;ServiceContract&lt;/SPAN&gt;(Namespace = &lt;SPAN style=&quot;COLOR: maroon&quot;&gt;&quot;http://testservice/2007/03/service&quot;&lt;/SPAN&gt;)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;interface&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;IService&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[&lt;SPAN style=&quot;COLOR: teal&quot;&gt;OperationContract&lt;/SPAN&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;OrderMessageReply&lt;/SPAN&gt; CreateOrder(&lt;SPAN style=&quot;COLOR: teal&quot;&gt;OrderMessage&lt;/SPAN&gt; message);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;This will instruct the serializer to use the xmlserializer instead of the datacontractserializer when performing marshalling of your messages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;I just hate this, I take a 10% performance loss when using the XmlSerializer and the fact that I am still stuck with &lt;SPAN style=&quot;COLOR: red&quot;&gt;xsd.exe&lt;/SPAN&gt; is just bad karma.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;What are the BTS team doing about this. BTS R2 will have support for WCF, are you telling me these guys will gladly accept this crap code from svcutil ???, I think not, so I take some comfort in believing that this will be corrected this year and the person who introduced this tedious nameing convention in svcutil.exe is promoted to VB 6.0 program manager in Sibiria.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;The most difficult thing in the world is to know how to do a thing and to&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;watch someone else do it wrong, without comment.&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;--Theodore H. White&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style=&quot;MARGIN: 0cm 0cm 0pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2007/04/02.html#a87</guid>
			<pubDate>Mon, 02 Apr 2007 20:41:54 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=87&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2007%2F04%2F02.html%23a87</comments>
			</item>
		<item>
			<title>WCF Routing round up</title>
			<link>http://radio.weblogs.com/0122832/2007/03/17.html#a86</link>
			<description>&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Yesterday I &lt;/FONT&gt;&lt;A href=&quot;http://radio.weblogs.com/0122832/2007/03/16.html#a85&quot;&gt;&lt;FONT size=3&gt;blogged&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt; about WCF routing. The one thing that might have seemed counterintuitive was that the function ProcessMessage created a channel based on the router service contract and then used the operation ProcessMessage&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;to send messages to the final endpoint.&lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;FONT size=3&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;FONT face=Calibri&gt;Could you not have used one of the built in channel shapes ?. Yes by all means &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-FAMILY: Wingdings; mso-ansi-language: EN-US; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings&quot;&gt;&lt;SPAN style=&quot;mso-char-type: symbol; mso-symbol-font-family: Wingdings&quot;&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;FONT face=Calibri&gt;, that would be the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.servicemodel.channels.iduplexsessionchannel.aspx&quot;&gt;IDuplexSessionChannel&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;. &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes; mso-bidi-font-family: &apos;Courier New&apos;&quot;&gt;&lt;FONT face=Calibri&gt;This shape is used for sending and receiving messages using a duplex session aware communication pattern. With a sessionful channel, messages that are sent in a session are delivered in order. WCF does not allow any credentials to be sent in clear text and as we have configured our backend to &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;authenticationMode&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;UserNameOverTransport&lt;/SPAN&gt;&quot;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes; mso-bidi-font-family: &apos;Courier New&apos;&quot;&gt;&lt;FONT face=Calibri&gt; the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;IDuplexSessionChannel&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes; mso-bidi-font-family: &apos;Courier New&apos;&quot;&gt;&lt;FONT face=Calibri&gt;will perform some bootstrapping calls to exchange a secure symmetric security token, which obey the WS-Trust and WS-SecureConversation specification (RST,RSTR,SCT).&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes; mso-bidi-font-family: &apos;Courier New&apos;&quot;&gt;&lt;FONT face=Calibri size=3&gt;The code is pretty strait forward and it looks a bit more generic than the previous code. From a performance point of view I have found this code to perform slightly better, but there is more code and I have not included any checks in regards to OneWay calls.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US; mso-no-proof: yes; mso-bidi-font-family: &apos;Courier New&apos;&quot;&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt; ProcessMessage(&lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt; message)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt; replyMsg = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;switch&lt;/SPAN&gt; (message.Headers.To.AbsoluteUri)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;case&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: maroon&quot;&gt;&quot;urn:MyServer&quot;&lt;/SPAN&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;ClientCredentials&lt;/SPAN&gt; credentials = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;ClientCredentials&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;credentials.UserName.UserName = &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 65.2pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ServiceSecurityContext&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;.Current.PrimaryIdentity.Name;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;Binding&lt;/SPAN&gt; b = CreateCustomBinding();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 119.25pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;BindingParameterCollection&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; bpc = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;BindingParameterCollection&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;bpc.Add(credentials);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 119.25pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;IChannelFactory&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;lt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;IDuplexSessionChannel&lt;/SPAN&gt;&amp;gt; fac = b.BuildChannelFactory&amp;lt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;IDuplexSessionChannel&lt;/SPAN&gt;&amp;gt;(bpc);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;fac.Open();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;IDuplexSessionChannel&lt;/SPAN&gt; channel = fac.CreateChannel(epa);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;channel.Open();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: green&quot;&gt;&lt;a href=&quot;//save&quot;&gt;//save&lt;/a&gt; message id for correlation&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;object&lt;/SPAN&gt; msgID = message.Headers.MessageId;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 118.45pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Message&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; strippedMsg = &lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt;.CreateMessage(&lt;SPAN style=&quot;COLOR: teal&quot;&gt;MessageVersion&lt;/SPAN&gt;.Default,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 248.85pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;message.Headers.Action, message.GetReaderAtBodyContents());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: green&quot;&gt;&lt;a href=&quot;//add&quot;&gt;//add&lt;/a&gt; message id.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;strippedMsg.Headers.MessageId = (System.Xml.&lt;SPAN style=&quot;COLOR: teal&quot;&gt;UniqueId&lt;/SPAN&gt;)msgID;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;channel.Send(strippedMsg);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt; msg = channel.Receive();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;replyMsg = &lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt;.CreateMessage(&lt;SPAN style=&quot;COLOR: teal&quot;&gt;MessageVersion&lt;/SPAN&gt;.Default, &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 195.6pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;msg.Headers.Action, msg.GetReaderAtBodyContents());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: green&quot;&gt;&lt;a href=&quot;//stuff&quot;&gt;//stuff&lt;/a&gt; the messageid back in the reply message&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;replyMsg.Headers.MessageId = (System.Xml.&lt;SPAN style=&quot;COLOR: teal&quot;&gt;UniqueId&lt;/SPAN&gt;)msgID;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;channel.Close();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;fac.Close();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;break&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;return&lt;/SPAN&gt; replyMsg;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-no-proof: yes&quot;&gt;}&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&quot;The beginning of knowledge is the discovery of something we do not understand.&quot; &lt;BR&gt;- Frank Herbert &lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2007/03/17.html#a86</guid>
			<pubDate>Sat, 17 Mar 2007 16:14:57 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=86&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2007%2F03%2F17.html%23a86</comments>
			</item>
		<item>
			<title>WCF Routing</title>
			<link>http://radio.weblogs.com/0122832/2007/03/16.html#a85</link>
			<description>&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;I have a scenario where I would like to be able to shield a large number of clients against redeployment and relocation of a large number of services.&lt;?xml:namespace prefix = o ns = &quot;urn:schemas-microsoft-com:office:office&quot; /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;I also have the requirement that services must do authentication and authorization based on the identity and role.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;A solution to this would be to put a router which does the authentication and route messages to the correct service on the backend. The service can then do its own authorization based on role(s) the identity belongs to.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;The assumption here is that clients supports the WS-* specifications (ws-security, ws-secureconvertion), in other words the client would have .NET 3.0 installed and can support the wsHttpBinding.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;The router will be put in a DMZ, each service at the backend trusts the router and that the router did the authentication for them.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;The authentication is done with the MemberShipProvider, which means the router is configured to use the MemberShipProvider :&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;serviceCredentials&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;userNameAuthentication&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;userNamePasswordValidationMode&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;MembershipProvider&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;membershipProviderName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;SqlMembershipProvider&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;The binding for the router uses message authentication and is configured as such:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;bindings&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;wsHttpBinding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;binding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;secure&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;security&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;mode&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;Message&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;message&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;clientCredentialType&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;UserName&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;security&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;binding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;wsHttpBinding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;bindings&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;The client must present a user/password which is valid in the context of the MemberShipProvider, so we are not using the Windows account to authenticate the client here, although its possible and perfectly valid, but the idea of maintaining &amp;gt; 100.000 users is not in our scope here, ask &lt;A href=&quot;http://www.amazon.com&quot;&gt;Amazon&lt;/A&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Each backend service is configured with this custom binding here:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;customBinding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;binding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;aBackendService&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;security&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;authenticationMode&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;UserNameOverTransport&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;windowsStreamSecurity&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;tcpTransport&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;binding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;customBinding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;This means the router must create this custom binding when contacting the backend services. Creating this kind of custom binding is easy:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;static&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;Binding&lt;/SPAN&gt; CreateCustomBinding()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 65.2pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;BindingElementCollection&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; bindingElements = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;BindingElementCollection&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 65.2pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;bindingElements.Add(&lt;SPAN style=&quot;COLOR: teal&quot;&gt;SecurityBindingElement&lt;/SPAN&gt;.CreateUserNameOverTransportBindingElement());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 65.2pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;WindowsStreamSecurityBindingElement&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; wbe = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;WindowsStreamSecurityBindingElement&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 65.2pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;wbe.ProtectionLevel = &lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;System.Net.Security.&lt;SPAN style=&quot;COLOR: teal&quot;&gt;ProtectionLevel&lt;/SPAN&gt;.EncryptAndSign;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt -6.05pt; TEXT-INDENT: 71.25pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-no-proof: yes&quot;&gt;bindingElements.Add(wbe);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt -6.05pt; TEXT-INDENT: 71.25pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-no-proof: yes&quot;&gt;bindingElements.Add(&lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;TcpTransportBindingElement&lt;/SPAN&gt;());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 59.15pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;CustomBinding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; backendServiceBinding = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new &lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;CustomBinding&lt;/SPAN&gt;(bindingElements);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 59.15pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; backendServiceBinding;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Now the &lt;SPAN style=&quot;COLOR: red&quot;&gt;authenticationMode&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;UserNameOverTransport&lt;/SPAN&gt;&quot; takes care of flowing the identity of the caller and the &lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: maroon&quot;&gt;tcpTransport&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;/&amp;gt; &lt;/SPAN&gt;and&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: maroon&quot;&gt;windowsStreamSecurity&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;handles the authentication of the router and does message protection, here EncryptAndSign is the default.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Each backend service does the authorization with a custom &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.servicemodel.serviceauthorizationmanager.aspx&quot;&gt;ServiceAuthorizationManager&lt;/A&gt; and is configured like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;!--&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; Configure role based authorization to use the Role Provider &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;--&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;serviceAuthorization&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;principalPermissionMode&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;UseAspNetRoles&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;roleProviderName&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;SqlRoleProvider&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: red&quot;&gt;serviceAuthorizationManagerType&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;=&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;ServiceAuthMgr.MyServiceAuthorizationManager, ServiceAuthMgr&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-US; mso-bidi-language: AR-SA&quot;&gt;&lt;BR style=&quot;PAGE-BREAK-BEFORE: always; mso-special-character: line-break&quot; clear=all&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;The default authentication mode on the backend service is Windows, so this means the identity will be mapped to a Windows account. This will not work here as our router have already authenticated the identity using the MemberShipProvider, so we need to &quot;disable&quot; this default behaviour by configuring our own &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.identitymodel.selectors.usernamepasswordvalidator.aspx&quot;&gt;UserNamePasswordValidator&lt;/A&gt; which in our case does nothing!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;serviceCredentials&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;userNameAuthentication&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;userNamePasswordValidationMode&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;Custom&lt;/SPAN&gt;&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;customUserNamePasswordValidatorType&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;aService.MyUserNamePasswordValidator, aServiceHost&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;okay we are all set now and we start by defining the routers service contract &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;[&lt;SPAN style=&quot;COLOR: teal&quot;&gt;ServiceContract&lt;/SPAN&gt;()]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;interface&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;IRouter&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[&lt;SPAN style=&quot;COLOR: teal&quot;&gt;OperationContract&lt;/SPAN&gt;(Action=&lt;SPAN style=&quot;COLOR: maroon&quot;&gt;&quot;*&quot;&lt;/SPAN&gt;,ReplyAction=&lt;SPAN style=&quot;COLOR: maroon&quot;&gt;&quot;*&quot;&lt;/SPAN&gt;)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt; ProcessMessage(&lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt; message);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;This operation contract has the notation of what is called an unmatched message handler. The basic idea is that each &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.servicemodel.dispatcher.endpointdispatcher.aspx&quot;&gt;EndpointDispatcher&lt;/A&gt; signals the &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.servicemodel.dispatcher.channeldispatcher.aspx&quot;&gt;ChannelDispatcher&lt;/A&gt; that it can handle any messages. This is indicated by applying a behaviour with the &lt;A href=&quot;http://msdn2.microsoft.com/en-us/library/system.servicemodel.servicebehaviorattribute.addressfiltermode.aspx&quot;&gt;AddressFilterMode&lt;/A&gt; set to Any as show here.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;[&lt;SPAN style=&quot;COLOR: teal&quot;&gt;ServiceBehavior&lt;/SPAN&gt;(AddressFilterMode = &lt;SPAN style=&quot;COLOR: teal&quot;&gt;AddressFilterMode&lt;/SPAN&gt;.Any, &lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;ValidateMustUnderstand = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;false&lt;/SPAN&gt;)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;SPAN style=&quot;COLOR: blue&quot;&gt;class&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;RouterImpl&lt;/SPAN&gt; : &lt;SPAN style=&quot;COLOR: teal&quot;&gt;IRouter&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;By default the EndpointDispatcher will try to invoke methods that corresponds to the Actions on a service contract, which when exported to wsdl is seen as the SOAPAction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Each EndpointDispatcher maintains a collection of actions that can be invoked and in our case we indicate that we can handle any action and any ReplyAction, so the ChannelDispatcher will go ahead and send us the message.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Lets look at the ProcessMessage implementation, which is the core piece of code that makes the routing works.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;public&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt; ProcessMessage(&lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt; message)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt; replyMsg = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;switch&lt;/SPAN&gt; (message.Headers.To.AbsoluteUri)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;case&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: maroon&quot;&gt;&quot;urn:MyServer&quot;&lt;/SPAN&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;#endregion&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: green&quot;&gt;&lt;a href=&quot;//lookup&quot;&gt;//lookup&lt;/a&gt; urn:MyServer in cache/database and get the epa.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-tab-count: 1&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;a href=&quot;//epa&quot;&gt;//epa&lt;/a&gt; = new EndpointAddress(new Uri(&quot;http://......&quot;))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 119.25pt; TEXT-INDENT: -65.25pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;#180;&lt;SPAN style=&quot;mso-tab-count: 1&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;ChannelFactory&lt;/SPAN&gt;&amp;lt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;IRouter&lt;/SPAN&gt;&amp;gt; dest = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;ChannelFactory&lt;/SPAN&gt;&amp;lt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;IRouter&lt;/SPAN&gt;&amp;gt;(custBinding, epa);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 119.25pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;dest.Credentials.UserName.UserName = &lt;SPAN style=&quot;COLOR: teal&quot;&gt;ServiceSecurityContext&lt;/SPAN&gt;.Current.PrimaryIdentity.Name;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 119.25pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Message&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; strippedMsg = &lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt;.CreateMessage(&lt;SPAN style=&quot;COLOR: teal&quot;&gt;MessageVersion&lt;/SPAN&gt;.Default, message.Headers.Action, message.GetReaderAtBodyContents());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;IRouter&lt;/SPAN&gt; router = dest.CreateChannel(epa);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt; msg = router.ProcessMessage(strippedMsg);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt 130.4pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;replyMsg = &lt;SPAN style=&quot;COLOR: teal&quot;&gt;Message&lt;/SPAN&gt;.CreateMessage(&lt;SPAN style=&quot;COLOR: teal&quot;&gt;MessageVersion&lt;/SPAN&gt;.Default, msg.Headers.Action, msg.GetReaderAtBodyContents());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;dest.Close();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;break&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-tab-count: 1&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;return&lt;/SPAN&gt; replyMsg;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;}&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;mso-ansi-language: EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;The first thing that might seem strange is I create a ChannelFactory of IRouter which takes the custom binding and the endpoint of the located backend service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Then I pass in the Identity of the client which can be found in the &lt;SPAN style=&quot;COLOR: teal&quot;&gt;ServiceSecurityContext&lt;/SPAN&gt;.Current.PrimaryIdentity.Name. I then take the body of the message and creates a new message, then create the channel and sends the message using my own ProcessMessage operation!, then I strip the headers off the reply message and creates a new message with the body and return that message to the caller.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Okay what I do here is I contact the backend service using the correct EndpointAddress (&lt;EM&gt;which was found using the logical uri of the client&lt;/EM&gt;) and when using the ProcessMessage to send the incoming message, the ChannelDispacther on the backend service will see if the EndpointDispatcher can handle the message given the SOAPAction that can be found in the messages. The backend service will perform its work, just as if it was invoked directly by the client using the direct operation contract. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;The reason why I strip off the headers on the request/reply message is due to the fact that we are not using the same binding and I can not simply piggyback the message on the a new call to the backend service. This will produce duplicate and wrong headers according the WS-*, so cutting off the headers will produce a correct message according the our backend service binding. The reply message will be correct also when it returns to the client, WCF will add what ever headers there must be, according to the WS-*.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Now to the client side:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;A client will prior to all this have either been handed&amp;nbsp;a service contract or would have generated a proxy to the backend service. If we have generated a proxy given the backend mex, the client side configuration would look like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-US; mso-bidi-language: AR-SA&quot;&gt;&lt;BR style=&quot;PAGE-BREAK-BEFORE: always; mso-special-character: line-break&quot; clear=all&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 65.2pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;endpoint&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;address&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;urn:MyServer&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;behaviorConfiguration&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;ClientBehavior&lt;/SPAN&gt;&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;binding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;wsHttpBinding&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;bindingConfiguration&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;WSHttpBinding_IaService&lt;/SPAN&gt;&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;contract&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;WebUIClient.localhost.IaService&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;WSHttpBinding_IaService&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; &amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 65.2pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;bindings&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;wsHttpBinding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;binding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;name&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;WSHttpBinding_IaService&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;security&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;mode&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;Message&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;message&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;clientCredentialType&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;=&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt;UserName&lt;/SPAN&gt;&quot;&lt;SPAN style=&quot;COLOR: blue&quot;&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;security&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;binding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;wsHttpBinding&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;bindings&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Notice the &lt;SPAN style=&quot;COLOR: red&quot;&gt;address &lt;/SPAN&gt;which points to a logical address!. This is the logical Uri that is passed in from the client and this is the uri that the router will eventually use to fetch the real EndpointAddress (from some storage) of the backend service. This uri is configured by hand.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Okay so when the client contacts our backend service is creates an EndPointAddress that points to our router location:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Uri&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; via = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;Uri&lt;/SPAN&gt;(&lt;SPAN style=&quot;COLOR: maroon&quot;&gt;&quot;http://localhost:8080/Router&quot;&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Then the client creates the logical endpoint like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;EndpointAddress&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; endptadr = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;EndpointAddress&lt;/SPAN&gt;(&lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;Uri&lt;/SPAN&gt;(&lt;SPAN style=&quot;COLOR: maroon&quot;&gt;&quot;urn:MyServer&quot;&lt;/SPAN&gt;));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;It then creates a channel, passing in the logical endpoint and the Via uri is then set to our router. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;So go contact this logical endpoint Via the routers endpoint, is what is says here.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;ChannelFactory&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&amp;lt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;IaService&lt;/SPAN&gt;&amp;gt; factory = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;ChannelFactory&lt;/SPAN&gt;&amp;lt;&lt;SPAN style=&quot;COLOR: teal&quot;&gt;IaService&lt;/SPAN&gt;&amp;gt;(&lt;SPAN style=&quot;COLOR: maroon&quot;&gt;&quot;WSHttpBinding_IaService&quot;&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;We pass in our credentials according to the binding.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;factory.Credentials.UserName.UserName = &lt;SPAN style=&quot;COLOR: maroon&quot;&gt;&quot;Alice&quot;&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;factory.Credentials.UserName.Password = &lt;SPAN style=&quot;COLOR: maroon&quot;&gt;&quot;abc!123&quot;&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;we then create the channel&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;IaService&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; client = factory.CreateChannel(endptadr, via);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;and invoke an operation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;SPAN style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;OrderMessage&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; msg = &lt;SPAN style=&quot;COLOR: blue&quot;&gt;new&lt;/SPAN&gt; &lt;SPAN style=&quot;COLOR: teal&quot;&gt;OrderMessage&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; COLOR: teal; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;OrderMessageReply&lt;/SPAN&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt; res = client.CreateOrder(msg);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;The backend service will receive this request via the router but with the initial Identity, which the backend&amp;nbsp;can perform authorization on. In my case I am building up some other claims by implementing the IAuthorizationPolicy and then have the ServiceAuthorizationManager perform the GO no GO based on the built claims and roles.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;Source code available upon request.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;&quot;If I had more time, I would have written a shorter letter.&quot; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 10pt&quot;&gt;&lt;SPAN lang=EN-US style=&quot;FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: &apos;Courier New&apos;; mso-ansi-language: EN-US; mso-no-proof: yes&quot;&gt;-- Pascal.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2007/03/16.html#a85</guid>
			<pubDate>Fri, 16 Mar 2007 10:22:38 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=85&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2007%2F03%2F16.html%23a85</comments>
			</item>
		<item>
			<title>Offline for 9 month :).</title>
			<link>http://radio.weblogs.com/0122832/2007/03/15.html#a84</link>
			<description>&lt;P&gt;Well it&apos;s been a busy year 2006, you can say that. Last year was a great year, I was doing web service intermediate stuff in &lt;A href=&quot;http://www.toyota-europe.com/&quot;&gt;Brussels&lt;/A&gt;, security with the usual &lt;A href=&quot;http://www.develop.com&quot;&gt;gan&lt;/A&gt;&lt;A href=&quot;http://www.develop.com&quot;&gt;g&lt;/A&gt; in London, well deserved vacation in Orlando, Fl &lt;A href=&quot;http://www.marriottworldcenter.com/&quot;&gt;w&lt;/A&gt;&lt;A href=&quot;http://www.marriottworldcenter.com/&quot;&gt;ow&lt;/A&gt; and before you know it 2006 flipped and 2007 started with a bang.&lt;BR&gt;Year 2007 is only 3 month old now and I brushed up my WCF in &lt;A href=&quot;http://www.develop.com&quot;&gt;London&lt;/A&gt; before going to &lt;A href=&quot;http://en.wikipedia.org/wiki/Hanoi&quot;&gt;Hanoi&lt;/A&gt; on a business trip. Hanoi was amazing and I am looking forward to visiting Hanoi again in May. The Project that I am working on in Vietnam is of course &quot;none of your business&quot; :), but my job is to teach WCF to a very very skilled team in Hanoi (guys you are the best, hang in there).&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&quot;Let&apos;s face it, .NET is meant to rule the world. :)&amp;nbsp; With that out of the way let&apos;s get onto business.&quot;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2007/03/15.html#a84</guid>
			<pubDate>Thu, 15 Mar 2007 13:31:31 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=84&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2007%2F03%2F15.html%23a84</comments>
			</item>
		<item>
			<title>Security matters</title>
			<link>http://radio.weblogs.com/0122832/2006/06/07.html#a83</link>
			<description>&lt;FONT size=2&gt;
&lt;P&gt;Last week I was in London enjoying Dominick Baier&apos;s .NET 2.0 Security course. It was really an eye-opener.&lt;/P&gt;
&lt;P&gt;Dominick is a very passionate, paranoid &lt;A href=&quot;http://www.develop.com&quot;&gt;Developmentor&lt;/A&gt; instructor, so if you ever get the chance ....&lt;/P&gt;
&lt;P&gt;Btw pickup a &lt;A href=&quot;http://www.microsoft.com/mspress/books/9989.asp&quot;&gt;hardcopy&lt;/A&gt; around November. &lt;/P&gt;
&lt;P&gt;Security is not just something you apply at the end of a project, you need to design and plan for security. You need to get into that mindset at the very beginning of every software project.&lt;/P&gt;
&lt;P&gt;Security was never of great concerns on all the projects i have been involved with...it was just something you brute forced into your software at the very last minute, guarantied to break your design.&lt;/P&gt;
&lt;P&gt;I am currently working on a project now that does just about everything &lt;FONT color=red&gt;wrong&lt;/FONT&gt; when it comes to security, currently it&apos;s out of my hands (blame it on politics, ignorance and deadlines). It&apos;s frustrating to watch this, but I guess reality bites the project soon, so bring your rain coat and fire hose ;-).&lt;/P&gt;
&lt;P&gt;If you need to model and analyze threats, Microsoft actually made a descent job with this &lt;A href=&quot;http://msdn.microsoft.com/security/securecode/threatmodeling/acetm/&quot;&gt;tool&lt;/A&gt; here.&lt;/P&gt;
&lt;P&gt;Currently reading &quot;&lt;A href=&quot;http://www.amazon.com/gp/product/0471453803/qid=1149661877/sr=1-2/ref=sr_1_2/002-2462782-2048863?s=books&amp;amp;v=glance&amp;amp;n=283155&quot;&gt;Secrets and Lies&lt;/A&gt;&quot;.&lt;/P&gt;
&lt;P&gt;&quot;If you know the enemy and know yourself, you need not fear the result of a hundred battles.&quot;&lt;/P&gt;
&lt;P&gt;-- Sun Tzu The Art of War&lt;/P&gt;&lt;/FONT&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2006/06/07.html#a83</guid>
			<pubDate>Wed, 07 Jun 2006 06:37:11 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=83&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2006%2F06%2F07.html%23a83</comments>
			</item>
		<item>
			<title>I want to download the Internet. Do I need a bigger hard disk?</title>
			<link>http://radio.weblogs.com/0122832/2006/03/26.html#a81</link>
			<description>&lt;FONT size=2&gt;
&lt;P&gt;&lt;A href=&quot;http://www.w3schools.com/downloadwww.htm&quot;&gt;Yes&lt;/A&gt;, If you have the time and space it&apos;s possible in theory.&lt;/P&gt;&lt;/FONT&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2006/03/26.html#a81</guid>
			<pubDate>Sun, 26 Mar 2006 12:16:19 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=81&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2006%2F03%2F26.html%23a81</comments>
			</item>
		<item>
			<title>Impersonation propagates</title>
			<link>http://radio.weblogs.com/0122832/2006/03/23.html#a80</link>
			<description>&lt;FONT size=2&gt;
&lt;P&gt;Apparently in .NET 2.0 the impersonation token is propagated across threads, this was not the case in 1.1.&lt;/P&gt;
&lt;P&gt;In .NET 2.0 you can perform the following code in a simple console app:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=blue&gt;class&lt;/FONT&gt; GoWithTheFlow&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&lt;FONT color=blue&gt;public&lt;/FONT&gt; &lt;FONT color=blue&gt;static&lt;/FONT&gt; &lt;FONT color=blue&gt;void&lt;/FONT&gt; IdentityMatters(&lt;FONT color=blue&gt;object&lt;/FONT&gt; state)&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;Console&lt;/FONT&gt;.WriteLine(&quot;&lt;FONT color=darkslategray&gt;Thread Identity&lt;/FONT&gt; &quot; +&lt;FONT color=skyblue&gt;WindowsIdentity&lt;/FONT&gt;.GetCurrent().Name);&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;FONT color=blue&gt;static&lt;/FONT&gt; &lt;FONT color=blue&gt;void&lt;/FONT&gt; Main()&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;Console&lt;/FONT&gt;.WriteLine(&quot;User before impersonation : &quot; + &lt;FONT color=teal&gt;WindowsIdentity&lt;/FONT&gt;.GetCurrent().Name);&lt;BR&gt;&amp;nbsp;&amp;nbsp;ImpersonateUser x = &lt;FONT color=blue&gt;new&lt;/FONT&gt; ImpersonateUser();&lt;BR&gt;&amp;nbsp;&amp;nbsp;x.Impersonate();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;Console&lt;/FONT&gt;.WriteLine(&quot;In Main, my identity : &quot; + &lt;FONT color=teal&gt;WindowsIdentity&lt;/FONT&gt;.GetCurrent().Name);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;FONT color=teal&gt;ThreadPool&lt;/FONT&gt;.QueueUserWorkItem(new WaitCallback(IdentityMatters), 42);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;&lt;FONT color=teal&gt;Threa&lt;/FONT&gt;d&lt;/FONT&gt;.Sleep(1000);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;Console&lt;/FONT&gt;.WriteLine(&quot;back In Main, my identity: &quot; +&lt;FONT color=teal&gt;WindowsIdentity&lt;/FONT&gt;.GetCurrent().Name);&lt;BR&gt;&amp;nbsp;&amp;nbsp;x.Undo();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;Console&lt;/FONT&gt;.WriteLine(&quot;After undo In Main, my identity: &quot; +&lt;FONT color=teal&gt;WindowsIdentity&lt;/FONT&gt;.GetCurrent().Name);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;Console&lt;/FONT&gt;.Read();&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;Assuming the &lt;FONT color=red&gt;ImpersonateUser&lt;/FONT&gt; will do the usual &lt;FONT color=red&gt;LogonUser&lt;/FONT&gt; thing, in my case with the account Kill Bill on server NEO. The output is show here:&lt;/P&gt;
&lt;P&gt;User before impersonation : NEO\Allan&lt;BR&gt;In Main, my identity : NEO\Kill Bill&lt;BR&gt;Thread Identity : &lt;FONT color=red&gt;NEO\Kill Bill&lt;/FONT&gt; &amp;lt;--good stuff&lt;BR&gt;back In Main, my identity: NEO\Kill Bill&lt;BR&gt;After undo In Main, my identity: NEO\Allan&lt;/P&gt;
&lt;P&gt;As you can see the impersonation token it actually propagated across the thread. In .NET 1.1 the output would be&lt;/P&gt;
&lt;P&gt;User before impersonation : NEO\Allan&lt;BR&gt;In Main, my identity : NEO\Kill Bill&lt;BR&gt;Thread Identity : &lt;FONT color=red&gt;NEO\Allan&lt;/FONT&gt; &amp;lt;--bad thing&lt;BR&gt;back In Main, my identity: NEO\Kill Bill&lt;BR&gt;After undo In Main, my identity: NEO\Allan&lt;/P&gt;
&lt;P&gt;This is of course great news, but here is my observation in regards to trying to achieve the same thing in a webservice.&lt;/FONT&gt; To quickly test this, create an &lt;FONT color=red&gt;asmx endpoint&lt;/FONT&gt; with the following code in it:&lt;/P&gt;
&lt;P&gt;[&lt;FONT color=skyblue&gt;WebService&lt;/FONT&gt;(Namespace = &quot;&lt;A href=&quot;http://identityflow.org/&quot;&gt;&lt;a href=&quot;http://identityflow.org/&quot;&gt;http://identityflow.org/&lt;/a&gt;&lt;/A&gt;&quot;)]&lt;BR&gt;[&lt;FONT color=skyblue&gt;WebServiceBinding&lt;/FONT&gt;(ConformsTo = &lt;FONT color=skyblue&gt;WsiProfiles&lt;/FONT&gt;.BasicProfile1_1)]&lt;BR&gt;&lt;FONT color=blue&gt;public class&lt;/FONT&gt; &lt;FONT color=skyblue&gt;Service&lt;/FONT&gt; : System.Web.Services.&lt;FONT color=skyblue&gt;WebService&lt;/FONT&gt;&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt; public&lt;/FONT&gt; Service (){}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;static&lt;/FONT&gt; &lt;FONT color=skyblue&gt;AutoResetEvent&lt;/FONT&gt; are;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;static&lt;/FONT&gt; &lt;FONT color=blue&gt;bool&lt;/FONT&gt; complete = &lt;FONT color=blue&gt;false&lt;/FONT&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;FONT color=skyblue&gt;WebMethod&lt;/FONT&gt;]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;public&lt;/FONT&gt; &lt;FONT color=blue&gt;string&lt;/FONT&gt; IdentityMatters() &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;this&lt;/FONT&gt;.&lt;FONT color=black&gt;Context&lt;/FONT&gt;.Trace.Write(&quot;Current Identity before thread : &quot; + &lt;FONT color=skyblue&gt;WindowsIdentity&lt;/FONT&gt;.GetCurrent().Name);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; are = &lt;FONT color=blue&gt;new&lt;/FONT&gt; &lt;FONT color=skyblue&gt;AutoResetEvent&lt;/FONT&gt;(&lt;FONT color=blue&gt;false&lt;/FONT&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=skyblue&gt;ThreadPool&lt;/FONT&gt;.QueueUserWorkItem(&lt;FONT color=blue&gt;new&lt;/FONT&gt; &lt;FONT color=skyblue&gt;WaitCallback&lt;/FONT&gt;(YourIdentityPlease), &lt;FONT color=blue&gt;this&lt;/FONT&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;if&lt;/FONT&gt; (!complete)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; are.WaitOne();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;this&lt;/FONT&gt;.Context.Trace.Write(&quot;back in business, Identity:&amp;nbsp; &quot; + &lt;FONT color=skyblue&gt;WindowsIdentity&lt;/FONT&gt;.GetCurrent().Name);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;return&lt;/FONT&gt; &quot;done&quot;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;public&lt;/FONT&gt; &lt;FONT color=blue&gt;static&lt;/FONT&gt; &lt;FONT color=blue&gt;void&lt;/FONT&gt; YourIdentityPlease(&lt;FONT color=blue&gt;object&lt;/FONT&gt; state)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=skyblue&gt;Service&lt;/FONT&gt; s = (&lt;FONT color=skyblue&gt;Service&lt;/FONT&gt;)state;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s.Context.Trace.Write(&quot;thread Identity: &quot; + &lt;FONT color=skyblue&gt;WindowsIdentity&lt;/FONT&gt;.GetCurrent().Name);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; complete = &lt;FONT color=blue&gt;true&lt;/FONT&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; are.Set();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;In your &lt;FONT color=red&gt;web.config&lt;/FONT&gt; turn on the &amp;lt;&lt;FONT color=blue&gt;identity impersonate&lt;/FONT&gt;=&quot;&lt;FONT color=blue&gt;true&lt;/FONT&gt;&quot;/&amp;gt;&lt;/P&gt;
&lt;P&gt;Under IIS, turn off the &lt;FONT color=red&gt;&apos;Anonymous access&apos;&lt;/FONT&gt; and check the &lt;FONT color=red&gt;&apos;Integrated Windows authentication&apos;.&lt;/FONT&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;when you activate the endpoint, the output in tracelog shows this :&lt;/P&gt;
&lt;P&gt;: Current Identity before thread : &lt;FONT color=blue&gt;NEO\Allan&lt;BR&gt;&lt;/FONT&gt;: thread Identity : &lt;FONT color=red&gt;NEO\ASPNET &lt;/FONT&gt;&lt;FONT color=black&gt;&amp;lt;-- did not expect this&lt;BR&gt;&lt;/FONT&gt;: back in business, Identity:&amp;nbsp; &lt;FONT color=blue&gt;NEO\Allan&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Hmm ... the impersonation token is NOT propagated !!!&lt;/P&gt;
&lt;P&gt;&quot;Never send a human to do a machine&apos;s job&quot;&lt;BR&gt;&amp;nbsp;-- Agent Smith.&lt;/P&gt;
&lt;P&gt;[&lt;FONT color=red&gt;update&lt;/FONT&gt;]&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.leastprivilege.com/WhatIsAspnetconfig.aspx&quot;&gt;thanks&lt;/A&gt;&amp;nbsp;for sharing this.&lt;/P&gt;
&lt;P&gt;apparently this behaviour is for legacy reasons. You need to modify the aspnet.config file located in your runtime directory &lt;A href=&quot;file://\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727&quot;&gt;\WINDOWS\Microsoft.NET\Framework\v2.0.50727&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt;&lt;BR&gt;&amp;lt;configuration&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;runtime&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;legacyUnhandledExceptionPolicy enabled=&quot;false&quot; /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;legacyImpersonationPolicy enabled=&quot;true&quot;/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;FONT color=red&gt;alwaysFlowImpersonationPolicy&lt;/FONT&gt; &lt;FONT color=red&gt;enabled&lt;/FONT&gt;=&quot;&lt;FONT color=blue&gt;true&lt;/FONT&gt;&quot;/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SymbolReadingPolicy enabled=&quot;1&quot; /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/runtime&amp;gt;&lt;BR&gt;&amp;lt;/configuration&amp;gt;&lt;/P&gt;
&lt;P&gt;some documentation on this can be found &lt;A href=&quot;http://msdn2.microsoft.com/en-US/library/ms229553.aspx&quot;&gt;here&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;sticking this information in the config file doesn&apos;t help, inetinfo&apos;s job is to locate the endpoint and then load the correct isapi, and as usual it&apos;s aspnet_isapi.dll and that isapi extention needs this information before the AppDomain is created in the aspnet_wp.exe.&lt;/P&gt;
&lt;P&gt;&quot;The greatest mistake a man can make is to be afraid of making one.&quot;&lt;BR&gt;&amp;nbsp; --Elbert Hubbard&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2006/03/23.html#a80</guid>
			<pubDate>Thu, 23 Mar 2006 09:47:40 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=80&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2006%2F03%2F23.html%23a80</comments>
			</item>
		<item>
			<title>Microsoft.WizardFramework.dll</title>
			<link>http://radio.weblogs.com/0122832/2005/12/08.html#a79</link>
			<description>&lt;P&gt;Have you ever found your self wandering sleepless around in this directory here :&lt;/P&gt;
&lt;P&gt;&quot;&lt;FONT color=blue&gt;C:Program FilesCommon FilesMicrosoft SharedHelp 8&lt;/FONT&gt;&quot; and stumbled over this assembly here:&lt;BR&gt;&lt;FONT color=red&gt;Microsoft.WizardFramework.dll&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Yeah right that&apos;s the .Net 2.0 Wizard framework, its not &lt;FONT color=red&gt;documented&lt;/FONT&gt; yet, so &lt;FONT color=blue&gt;Reflector.exe&lt;/FONT&gt; is your best option here (as usual).&lt;/P&gt;
&lt;P&gt;Here is how I got a descent Wizard to work:&lt;BR&gt;Create an &lt;FONT color=red&gt;&apos;inherited Form&apos;&lt;/FONT&gt; that derives from the &lt;FONT color=red&gt;WizardForm&lt;/FONT&gt; like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;FONT color=blue&gt;public partial class&lt;/FONT&gt; WizardFrm : &lt;FONT color=red&gt;Microsoft.WizardFramework.WizardForm&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;.....&lt;BR&gt;&amp;nbsp; &lt;BR&gt;Create some wizard pages, this is best done by creating an &lt;FONT color=red&gt;&apos;Inherited User Control&apos;&lt;/FONT&gt; which derives from WizardPage like this:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=blue&gt;public partial class&lt;/FONT&gt; Page1 : Microsoft.WizardFramework.WizardPage&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;public&lt;/FONT&gt; Page1(WizardForm wizard):&lt;FONT color=blue&gt;base&lt;/FONT&gt;(wizard)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;.....&lt;/P&gt;
&lt;P&gt;Now in the WizardFrm&apos;s ctor add your WizardPages like this:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=blue&gt;public&lt;/FONT&gt; WizardFrm()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p1 = &lt;FONT color=blue&gt;new&lt;/FONT&gt; Page1(&lt;FONT color=blue&gt;this&lt;/FONT&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;this&lt;/FONT&gt;.AddPage(p1);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p2 = &lt;FONT color=blue&gt;new&lt;/FONT&gt; Page2(&lt;FONT color=blue&gt;this&lt;/FONT&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;this&lt;/FONT&gt;.AddPage(p2);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p3 = &lt;FONT color=blue&gt;new&lt;/FONT&gt; Page3(&lt;FONT color=blue&gt;this&lt;/FONT&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;this&lt;/FONT&gt;.AddPage(p3);&lt;BR&gt;}&lt;BR&gt;&amp;#180;&lt;BR&gt;&lt;FONT color=blue&gt;private void&lt;/FONT&gt; WizardFrm_Load(&lt;FONT color=blue&gt;object&lt;/FONT&gt; sender, EventArgs e)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EnableButton(&lt;FONT color=red&gt;ButtonType&lt;/FONT&gt;.Next, &lt;FONT color=blue&gt;true&lt;/FONT&gt;);&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Invoke your wizard from in your app like this :&lt;/P&gt;
&lt;P&gt;WizardFrm frm = &lt;FONT color=blue&gt;new&lt;/FONT&gt; WizardFrm();&lt;BR&gt;frm.&lt;FONT color=red&gt;Start&lt;/FONT&gt;();&lt;/P&gt;
&lt;P&gt;Now when you design the individual WizardPages set the &lt;FONT color=red&gt;&apos;infoPanel.Dock&apos;&lt;/FONT&gt; to &lt;FONT color=red&gt;Fill&lt;/FONT&gt;, this will let you add your controls to the wizard page. Set the &lt;FONT color=red&gt;WizardPage.StepTitle&lt;/FONT&gt; to a description that this WizardPage represents.&lt;/P&gt;
&lt;P&gt;I was not able to find any &lt;FONT color=red&gt;Events&lt;/FONT&gt; like &lt;FONT color=red&gt;OnNext&lt;/FONT&gt;, &lt;FONT color=red&gt;OnPrev&lt;/FONT&gt; etc. This makes it hard to validate a WizardPage there by &lt;FONT color=red&gt;defeating&lt;/FONT&gt; the whole purpose of a Wizard...I am sure that deep down in the WizardForm or in the &lt;FONT color=red&gt;&apos;NavigationButtonBar&apos;&lt;/FONT&gt; its possible to catch these events ...I didn&apos;t proceed that far for now.&lt;/P&gt;
&lt;P&gt;I wonder why this WizardFramework isn&apos;t documented, I sure do hope they make it official ...I have been missing that Wizard since the good old &lt;FONT color=blue&gt;MFC&lt;/FONT&gt; days.&lt;/P&gt;
&lt;P&gt;contact me if you need the sourcecode.&lt;/P&gt;
&lt;P&gt;&quot;One of the secrets of life is to make stepping stones out of stumbling blocks&quot;&lt;BR&gt;-- Jack Penn&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2005/12/08.html#a79</guid>
			<pubDate>Thu, 08 Dec 2005 12:25:32 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=79&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2005%2F12%2F08.html%23a79</comments>
			</item>
		<item>
			<title>WinFX Runtime Components, small note.</title>
			<link>http://radio.weblogs.com/0122832/2005/11/19.html#a78</link>
			<description>&lt;FONT size=2&gt;
&lt;P&gt;If you experience a &lt;A href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemcomponentmodelwin32exceptionclasstopic.asp&quot;&gt;Win32Exception&lt;/A&gt; during the&amp;nbsp;&lt;A href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyId=E5376297-DA10-4FC3-967D-38C96F767FC4&amp;amp;displaylang=en&quot;&gt;WinFX Runtime Components&lt;/A&gt; installation, make sure your &lt;FONT color=red&gt;eventlog&lt;/FONT&gt; isn&apos;t full :), I was bouncing the walls for a good 15 minutes there.&lt;/P&gt;
&lt;P&gt;To see what the installer tries to-do, run the &quot;&lt;FONT color=red&gt;xws_reg.exe -ir&lt;/FONT&gt;&quot; commandline tool, this will spit out a &lt;FONT color=red&gt;warning&lt;/FONT&gt;, that your eventlog is full, followed by the exception ... Now if only the warning was shown during the installation!!&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;&lt;/U&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2005/11/19.html#a78</guid>
			<pubDate>Sat, 19 Nov 2005 07:21:48 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=78&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2005%2F11%2F19.html%23a78</comments>
			</item>
		<item>
			<title>IAsyncResult boilerplate</title>
			<link>http://radio.weblogs.com/0122832/2005/10/22.html#a77</link>
			<description>&lt;P&gt;I have been extremely busy on a client site recently.&amp;nbsp; One of the challenges was a class design that supported &lt;FONT color=red&gt;asynchronous operations&lt;/FONT&gt;.&lt;/P&gt;
&lt;P&gt;I soon found out that utilizing the asynchronous functionality built into delegates produced poor performance. This is due to the overhead of the &lt;FONT color=red&gt;remoting&lt;/FONT&gt; infrastructure that &lt;FONT color=red&gt;delegates&lt;/FONT&gt; so beautifully supports, so &lt;FONT color=blue&gt;ThreadPool.QueueUserWorkItem&lt;/FONT&gt; was favored here.&lt;/P&gt;
&lt;P&gt;I needed some &lt;FONT color=blue&gt;boilerplate&lt;/FONT&gt; code for the basic of this &lt;FONT color=blue&gt;Async Pattern&lt;/FONT&gt; so implementing the &lt;FONT color=blue&gt;IAsyncResult&lt;/FONT&gt; interface is the key to creating a successfully class design supporting asynchronous operations.&lt;/P&gt;
&lt;P&gt;My basic implementation goes like this:&lt;/P&gt;
&lt;P dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot; align=left&gt;&lt;FONT color=blue&gt;public class&lt;/FONT&gt; AsyncResult : IAsyncResult&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;private object&lt;/FONT&gt; state;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;FONT color=blue&gt;&amp;nbsp;internal&lt;/FONT&gt; bool complete = &lt;FONT color=blue&gt;false&lt;/FONT&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;internal&lt;/FONT&gt; AutoResetEvent are;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;internal&lt;/FONT&gt; AsyncCallback callback;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;internal&lt;/FONT&gt; AsyncResult(AsyncCallback callback, &lt;FONT color=blue&gt;object&lt;/FONT&gt; state) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;this&lt;/FONT&gt;.callback = callback;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;this&lt;/FONT&gt;.state = state;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;this&lt;/FONT&gt;.are = &lt;FONT color=blue&gt;new&lt;/FONT&gt; AutoResetEvent(false);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;public virtual object&lt;/FONT&gt; AsyncState &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;get&lt;/FONT&gt; { return state; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;set&lt;/FONT&gt; { state=&lt;FONT color=blue&gt;value&lt;/FONT&gt;;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;public bool&lt;/FONT&gt; IsCompleted { get {return complete; }}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;public&lt;/FONT&gt; WaitHandle AsyncWaitHandle {&lt;FONT color=blue&gt;get&lt;/FONT&gt; {&lt;FONT color=blue&gt;return&lt;/FONT&gt; are; }}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;public&lt;/FONT&gt; &lt;FONT color=blue&gt;bool&lt;/FONT&gt; CompletedSynchronously {&lt;FONT color=blue&gt;get&lt;/FONT&gt; {&lt;FONT color=blue&gt;return false&lt;/FONT&gt;; }}&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;pretty strait forward, now lets see how we can utilize this implementation in class design with asynchronous support.&lt;/P&gt;
&lt;P dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;&lt;FONT color=blue&gt;public class&lt;/FONT&gt; FibonacciEx&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;private static&lt;/FONT&gt; void Fibonacci(object data)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AsyncResult m = (AsyncResult)data;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;&amp;nbsp;int&lt;/FONT&gt; n = (i nt)m.AsyncState;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;int&lt;/FONT&gt; previous = -1;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;&amp;nbsp;int&lt;/FONT&gt; result = 1;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;for&lt;/FONT&gt; (&lt;FONT color=blue&gt;int&lt;/FONT&gt; i = 0; i &amp;lt;= n; ++i)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;int&lt;/FONT&gt; sum = result + previous;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;previous = result;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result = sum;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m.AsyncState = result;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m.complete = &lt;FONT color=blue&gt;true&lt;/FONT&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;m.are.Set();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;FONT color=blue&gt;public&lt;/FONT&gt; IAsyncResult BeginFib(AsyncCallback callback, &lt;FONT color=blue&gt;object&lt;/FONT&gt; state)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;AsyncResult ar = &lt;FONT color=blue&gt;new&lt;/FONT&gt; AsyncResult(callback, state);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; ThreadPool.QueueUserWorkItem(&lt;FONT color=blue&gt;new&lt;/FONT&gt; WaitCallback(Fibonacci), ar);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;FONT color=blue&gt;return&lt;/FONT&gt; ar;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt; &amp;nbsp;public int&lt;/FONT&gt; EndFib(IAsyncResult ar)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;AsyncResult reqState = (AsyncResult)ar;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;//are&quot;&gt;//are&lt;/a&gt; we done&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;if&lt;/FONT&gt; (!reqState.IsCompleted)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;reqState.AsyncWaitHandle.WaitOne();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;//invoke&quot;&gt;//invoke&lt;/a&gt; our callback function&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;FONT color=blue&gt;&amp;nbsp;if&lt;/FONT&gt;(reqState.callback!=null)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;reqState.callback(reqState);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;//in&quot;&gt;//in&lt;/a&gt; this class design we return the result also.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;return&lt;/FONT&gt; (&lt;FONT color=blue&gt;int&lt;/FONT&gt;)reqState.AsyncState;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;and the usage of this simpel class &lt;FONT color=red&gt;could&lt;/FONT&gt; be like this:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=blue&gt;class&lt;/FONT&gt; AsyncSample&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&lt;a href=&quot;///&quot;&gt;///&lt;/a&gt; &amp;lt;summary&amp;gt;&lt;BR&gt;&amp;nbsp;&lt;a href=&quot;///&quot;&gt;///&lt;/a&gt; The main entry point for the application.&lt;BR&gt;&amp;nbsp;&lt;a href=&quot;///&quot;&gt;///&lt;/a&gt; &amp;lt;/summary&amp;gt;&lt;BR&gt;&amp;nbsp;[STAThread]&lt;BR&gt;&amp;nbsp;&lt;FONT color=blue&gt;static void&lt;/FONT&gt; Main(string[] args)&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;int&lt;/FONT&gt; seq1=0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;FONT color=blue&gt;int&lt;/FONT&gt; seq2=0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;FONT color=blue&gt;float&lt;/FONT&gt; goldenRatio = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;FibonacciEx fib = new FibonacciEx();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;AsyncCallback ac = &lt;FONT color=blue&gt;new&lt;/FONT&gt; AsyncCallback(FibResult);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;IAsyncResult res = fib.BeginFib(ac, 9);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;//&quot;&gt;//&lt;/a&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;//do&quot;&gt;//do&lt;/a&gt; some other important stuff&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;//&quot;&gt;//&lt;/a&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;seq1 = fib.EndFib(res);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;ac = &lt;FONT color=blue&gt;new&lt;/FONT&gt; AsyncCallback(FibResult);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;res = fib.BeginFib(ac, 10);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;//&quot;&gt;//&lt;/a&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;//do&quot;&gt;//do&lt;/a&gt; some other important stuff&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;//&quot;&gt;//&lt;/a&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;seq2 = fib.EndFib(res);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;//calculate&quot;&gt;//calculate&lt;/a&gt; the golden ratio, the phi, the magic number.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;goldenRatio = (&lt;FONT color=blue&gt;float&lt;/FONT&gt;)seq2/seq1;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;Console.WriteLine(&quot;&lt;FONT color=blue&gt;Magic number&lt;/FONT&gt;: &quot; + goldenRatio.ToString());&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;Console.ReadLine();&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;FONT color=blue&gt;public static void&lt;/FONT&gt; FibResult(IAsyncResult ar)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;Console.WriteLine(ar.AsyncState.ToString());&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;use the AsyncResult boilerplate for your furture class design if you must support the Async Pattern.&lt;BR&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2005/10/22.html#a77</guid>
			<pubDate>Sat, 22 Oct 2005 11:44:26 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=77&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2005%2F10%2F22.html%23a77</comments>
			</item>
		<item>
			<title>Graphics.DrawImage  bug</title>
			<link>http://radio.weblogs.com/0122832/2005/10/20.html#a76</link>
			<description>&lt;P&gt;100% sure thing, there is a bug in the &lt;A href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdrawinggraphicsclassdrawimagetopic.asp&quot;&gt;Graphics.DrawImage&lt;/A&gt; function. &lt;BR&gt;Complete disrespect for the ImageAttributes I say :). &lt;/P&gt;
&lt;P&gt;I am trying to print a &lt;A href=&quot;http://en.wikipedia.org/wiki/Tiff&quot;&gt;Tiff&lt;/A&gt; that supports multi-page documents. This is done by using the &lt;BR&gt;&lt;A href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdrawingimageclassselectactiveframetopic.asp&quot;&gt;Image.SelectActiveFrame&lt;/A&gt; function and Graphics.DrawImage. &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;SelectActiveFrame selects the current page(or other stuff)&amp;nbsp;into the image and passed on to the DrawImage function. &lt;BR&gt;The DrawImage function should then print what ever image was selected by the SelectActiveFrame..but it doesn&apos;t, it simply ignores the imageattributes on the selected image and spits out the very first frame.&lt;/P&gt;
&lt;P&gt;the code shown here always prints the first page in the multi-page document, &lt;BR&gt;but it should actually print all pages in the Tiff file.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=blue&gt;private&lt;/FONT&gt; void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) &lt;BR&gt;{ &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bm.SelectActiveFrame(FrameDimension.Page, curPage);&amp;nbsp; &lt;a href=&quot;//select&quot;&gt;//select&lt;/a&gt; current page..&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.Graphics.DrawImage((Image)bm,0,0); &lt;a href=&quot;//&quot;&gt;//&lt;/a&gt; this always draws the first frame !!!&lt;BR&gt;......&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;this code shown here works, but it is &lt;FONT color=red&gt;tremendously slow&lt;/FONT&gt;, totally useless if you ask me...&lt;/P&gt;
&lt;P&gt;&lt;FONT color=blue&gt;private&lt;/FONT&gt; void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) &lt;BR&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bm.SelectActiveFrame(FrameDimension.Page, curPage);&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bitmap tmpBmp = new Bitmap(bm.Width,&amp;nbsp; bm.Height,System.Drawing.Imaging.PixelFormat.Format32bppPArgb);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; using(Graphics g = Graphics.FromImage(tmpBmp))&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g.DrawImage((Image)bm,0,0);&lt;a href=&quot;//render&quot;&gt;//render&lt;/a&gt; image.. dog slow zzzzzzzzzzzz.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.Graphics.DrawImage((Image)tmpBmp,0,0);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;so what I came up with and it turns out to be extremly fast, is to save the frame that was selected by &lt;BR&gt;the &lt;FONT color=blue&gt;SelectActiveFrame&lt;/FONT&gt; into a &lt;FONT color=blue&gt;MemoryStream&lt;/FONT&gt;, call &lt;FONT color=blue&gt;FromStream&lt;/FONT&gt; and then draw it:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=blue&gt;private&lt;/FONT&gt; void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) &lt;BR&gt;{ &lt;BR&gt;&amp;nbsp;....&lt;BR&gt;&amp;nbsp;Image img = Image.FromStream(ms); &lt;a href=&quot;//&quot;&gt;//&lt;/a&gt;&lt;FONT color=skyblue&gt;ms is a memstream pointing to a tiff picture&lt;/FONT&gt;.&lt;BR&gt;&amp;nbsp;img.&lt;FONT color=blue&gt;SelectActiveFrame&lt;/FONT&gt;(FrameDimension.Page, curPage);&lt;BR&gt;&amp;nbsp;using(MemoryStream stm = new MemoryStream())&lt;BR&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;img.&lt;FONT color=blue&gt;Save&lt;/FONT&gt;(stm, imgCodecInfo, encParams); &lt;a href=&quot;//save&quot;&gt;//save&lt;/a&gt; to memory stream with &lt;FONT color=red&gt;Lempel-Ziv-Welch&lt;/FONT&gt; etc.&lt;BR&gt;&amp;nbsp;&amp;nbsp;Bitmap bmp = (Bitmap)Image.&lt;FONT color=blue&gt;FromStream&lt;/FONT&gt;(stm);&lt;BR&gt;&amp;nbsp;&amp;nbsp;e.Graphics.DrawImage((Image)bmp,0,0);&lt;BR&gt;&amp;nbsp;&amp;nbsp;bmp.Dispose();&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;img.Dispose();}&lt;BR&gt;....&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;Apparently creating a new image with Image.FromStream makes the &lt;FONT color=blue&gt;DrawImage&lt;/FONT&gt; happy.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&quot;A true friend stabs you in the front.&quot; &lt;BR&gt;- Oscar Wilde&lt;BR&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2005/10/20.html#a76</guid>
			<pubDate>Thu, 20 Oct 2005 11:58:23 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=76&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2005%2F10%2F20.html%23a76</comments>
			</item>
		<item>
			<title>quick trip</title>
			<link>http://radio.weblogs.com/0122832/2005/08/28.html#a75</link>
			<description>&lt;P&gt;Guess who got floor tickets to the &lt;A href=&quot;http://www.u2.com&quot;&gt;U&lt;/A&gt;&lt;A href=&quot;http://www.u2.com&quot;&gt;2&lt;/A&gt; concert at the MGM Grand, Saturday the 5th of November in &lt;A href=&quot;http://www.vegas.com/&quot;&gt;Las Vegas&lt;/A&gt;. &lt;BR&gt;yup, my wife and I are taking a quick trip, we&apos;ll be flying from &lt;A href=&quot;http://www.copenhagen.com/&quot;&gt;Copenhagen&lt;/A&gt; to the &quot;&lt;A href=&quot;http://www.u2.com/music/lyrics.php?song=451&amp;amp;list=c&amp;amp;PHPSESSID=7b4167dd3e64bbce4c06e3a100c1fd3a&quot;&gt;City of blinding lights&lt;/A&gt;&quot; on Friday &lt;BR&gt;the 4th of November staying at the &lt;A href=&quot;http://www.lvhilton.com/&quot;&gt;Hilton&lt;/A&gt;, jumping up and down on Saturday and then back home on Sunday.&lt;/P&gt;
&lt;P&gt;&quot;Unos dos tres catorce&quot;&lt;BR&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2005/08/28.html#a75</guid>
			<pubDate>Sun, 28 Aug 2005 12:43:41 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=75&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2005%2F08%2F28.html%23a75</comments>
			</item>
		<item>
			<title>So where do you put your ..</title>
			<link>http://radio.weblogs.com/0122832/2005/05/15.html#a74</link>
			<description>&lt;P&gt;I think BTS 2004 is a confusing, frustrating, tedious, wonderful, huge, exciting and never ending story.&lt;BR&gt;...so where do you put your business logic in BTS, some might say use the &lt;A href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sdk/htm/ebiz_prog_rules_xxxf.asp&quot;&gt;Business Rule Framework&lt;/A&gt;, others say call an external .NET assembly and put your business logic in there, others would see it put now where but in an orchestration, others again would place some logic in custom &lt;A href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sdk/htm/ebiz_prog_map_djtt.asp&quot;&gt;functoids&lt;/A&gt; and some might argue strongly that there business logic should reside in a custom &lt;A href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipsdk/html/ipsdkBuildCustomPipeline_HV01122695.asp&quot;&gt;pipeline&lt;/A&gt;, hell why not in a custom adapter while we are at it.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;It can be pretty confusing making these decisions on where to put your business logic and validation in BTS...its not like when we eat sleep and s... the &lt;A href=&quot;http://www.microsoft.com/windows2000/en/server/iis/default.asp?url=/windows2000/en/server/iis/htm/asp/eadg1s9x.htm&quot;&gt;DNA&lt;/A&gt; (Doesn&apos;t Mean Anything) model back in the late 90&apos;, that was pretty strait forward compared to Biztalk.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;I think the Biztalk model unfortunately invites you to put your business logic all over the place and then sometimes forces you to put it in a certain place...take for instance the scenario where you receive a schema from a third party, they want to make sure you obey certain rules, so they have made a schema with a &lt;A href=&quot;http://www.w3.org/TR/xmlschema-2/#rf-pattern&quot;&gt;pattern value&lt;/A&gt; for you. Now unfortunate for you, if you base your messages on this schema because the pattern is lost when you compile your BTS solution....for some reason the BTS team thought it was not necessary to crank up some code that utilized the Regex class when dealing with schemas that had the pattern value in it....so you must go an create a custom pipeline and do the schema validation there instead, while this might as well could have been built into say the &lt;FONT color=blue&gt;Microsoft.XLANGs.BaseTypes.SchemaBase&lt;/FONT&gt; class.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;btw I think it is &lt;FONT color=red&gt;tremendously traumatic &lt;/FONT&gt;that the Business Rules Composer doesn&apos;t include the &lt;FONT color=red&gt;namespace&lt;/FONT&gt; in the &lt;FONT color=red&gt;Document type&lt;/FONT&gt; when adding a schema :(, you are looking at some frustrating debugging hours if you are not aware of this....&lt;BR&gt;&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;A href=&quot;http://www.deltabravo.net/custody/rorschach.htm&quot;&gt;Rorschach&lt;/A&gt; abstraction; no two people think they mean quite the same thing&lt;/P&gt;&lt;/FONT&gt;</description>
			<guid>http://radio.weblogs.com/0122832/2005/05/15.html#a74</guid>
			<pubDate>Sun, 15 May 2005 20:11:26 GMT</pubDate>
			<comments>http://radiocomments2.userland.com/comments?u=122832&amp;amp;p=74&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0122832%2F2005%2F05%2F15.html%23a74</comments>
			</item>
		</channel>
	</rss>
