<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Cloud Cover Episode 12 - Hosting WCF and Inter-Role Communication</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-12-Hosting-WCF-and-Inter-role-Communication/RSS"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/previewImages/100/551375_100x75.jpg</url>
		<title>Channel 9 - Cloud Cover Episode 12 - Hosting WCF and Inter-Role Communication</title>
		<link></link>
	</image>
	<description>Join Ryan and Steve each week as they cover the Microsoft cloud. You can follow and interact with the show at

@cloudcovershow

In this episode:&amp;nbsp;

Learn how to host WCF Services in Windows Azure using public input endpoints as well as private internal endpoints (i.e. inter-role communication)
Discover how to get your WCF&amp;nbsp;Services MEX endpoints working&amp;nbsp;from behind the load&amp;nbsp;balancer

Show Links:

Exporting Data from SQL Azure
Vertical Partitioning in SQL Azure: Part 1
Extending the Thumbnails Sample
Datacastle Brings Data Protection From the Cloud
2-hr Windows Azure class (includes free hours on Windows Azure) 
</description>
	<link></link>
	<language>en</language>
	<pubDate>Tue, 21 May 2013 07:09:47 GMT</pubDate>
	<lastBuildDate>Tue, 21 May 2013 07:09:47 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Cloud Cover Episode 12 - Hosting WCF and Inter-Role Communication</title>
		<description>
			<![CDATA[
<p>Hi. Just wanted to thank you for another great episode. This really helped me understand better how to work with WCF inside Azure. You guys rock!!! <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>posted by hansol</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-12-Hosting-WCF-and-Inter-role-Communication#c634100763760000000</link>
		<pubDate>Fri, 21 May 2010 22:06:16 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-12-Hosting-WCF-and-Inter-role-Communication#c634100763760000000</guid>
		<dc:creator>hansol</dc:creator>
	</item>
	<item>
		<title>Re: Cloud Cover Episode 12 - Hosting WCF and Inter-Role Communication</title>
		<description>
			<![CDATA[
<p>Guys,</p>
<p>&nbsp;</p>
<p>I don't think you could do the same thing using a Worker Role and not a &quot;Web Role for WCF Service&quot;, since for some strange reason you can't use port 80 for self-hosting WCF in a WorkerRole.
</p>
<p>&nbsp;</p>
<p>Go ahead and try to self host a WebHttpBinding Endpoint on a WorkerRole, then go and try it in a&nbsp;&quot;Web Role for WCF Service&quot; and you will see what I mean. The most interesting thing is that if you use any none Microsoft process on port 80 in a Worker Role,
 such as you did in your with your Mongoose server example, it works.. </p>
<p>&nbsp;</p>
<p>Anthony&nbsp;</p>
<p>posted by tarlano</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-12-Hosting-WCF-and-Inter-role-Communication#c634102511900000000</link>
		<pubDate>Sun, 23 May 2010 22:39:50 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-12-Hosting-WCF-and-Inter-role-Communication#c634102511900000000</guid>
		<dc:creator>tarlano</dc:creator>
	</item>
	<item>
		<title>Re: Cloud Cover Episode 12 - Hosting WCF and Inter-Role Communication</title>
		<description>
			<![CDATA[
<p>Hi tarlano -</p>
<p>&nbsp;</p>
<p>I will have to give it a shot.&nbsp; It might be a case of the http versus tcp port choice (http.sys).&nbsp; I have not tried what you are talking about, but I would be interested in seeing if it didn't work.&nbsp; Thanks!</p>
<p>posted by dunnry</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-12-Hosting-WCF-and-Inter-role-Communication#c634102743020000000</link>
		<pubDate>Mon, 24 May 2010 05:05:02 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-12-Hosting-WCF-and-Inter-role-Communication#c634102743020000000</guid>
		<dc:creator>dunnry</dc:creator>
	</item>
	<item>
		<title>Re: Cloud Cover Episode 12 - Hosting WCF and Inter-Role Communication</title>
		<description>
			<![CDATA[
<p>So, I gave it a shot and was able to host WCF services using the BasicHttpBinding on a worker role.&nbsp; The only trick to this was that you needed to not only use the http (as opposed to tcp) port type, but you had to use the HostNameComparisonMode enumeration
 and set it to Exact.</p>
<p>&nbsp;</p>
<p><font face="Consolas" size="2"><font face="Consolas" size="2"></p>
<p>host.AddServiceEndpoint(</p>
</font></font><font face="Consolas" size="2" color="#0000ff"><font face="Consolas" size="2" color="#0000ff"><font face="Consolas" size="2" color="#0000ff">typeof</font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">(</font></font><font face="Consolas" size="2" color="#2b91af"><font face="Consolas" size="2" color="#2b91af"><font face="Consolas" size="2" color="#2b91af">IEchoService</font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">),
</font></font><font face="Consolas" size="2" color="#0000ff"><font face="Consolas" size="2" color="#0000ff"><font face="Consolas" size="2" color="#0000ff">new</font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">
</font></font><font face="Consolas" size="2" color="#2b91af"><font face="Consolas" size="2" color="#2b91af"><font face="Consolas" size="2" color="#2b91af">BasicHttpBinding</font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">(</font></font><font face="Consolas" size="2" color="#2b91af"><font face="Consolas" size="2" color="#2b91af"><font face="Consolas" size="2" color="#2b91af">BasicHttpSecurityMode</font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">.None)
 { HostNameComparisonMode = </font></font><font face="Consolas" size="2" color="#2b91af"><font face="Consolas" size="2" color="#2b91af"><font face="Consolas" size="2" color="#2b91af">HostNameComparisonMode</font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">.Exact
 }, </font></font><font face="Consolas" size="2" color="#a31515"><font face="Consolas" size="2" color="#a31515"><font face="Consolas" size="2" color="#a31515">&quot;echo&quot;</font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">);</font></font>
<p></p>
<p>posted by dunnry</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-12-Hosting-WCF-and-Inter-role-Communication#c634106855210000000</link>
		<pubDate>Fri, 28 May 2010 23:18:41 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-12-Hosting-WCF-and-Inter-role-Communication#c634106855210000000</guid>
		<dc:creator>dunnry</dc:creator>
	</item>
	<item>
		<title>Re: Cloud Cover Episode 12 - Hosting WCF and Inter-Role Communication</title>
		<description>
			<![CDATA[
<p>Why we need to change “AddressFilterMode” on Windows Azure.</p>
<p>&nbsp;</p>
<p>Few days back I had firsthand experience where on-premise services stopped working when I hosted them on Windows Azure. After doing some digging I found that I’ve to change service behavior by adding [ServiceBehavior(AddressFilterMode=AddressFilterMode.Any)].
 It worked but why? I did some research and here is my version of why we have to change AddressFilterMode.Any or AddressFiterMode=Prefix.
<em>(During my investigation I found that </em><em>AddressFiterMode=Prefix also works)
</em>Let me know if it is correct:<strong></strong></p>
<p>&nbsp;</p>
<p>Each WCF service endpoint has two addresses associated with it, logical and physical address
<em>(usually these two addresses are same)</em>. The logical address is “To” and physical address is “Via” and it is specified using WS-Addressing. WCF channel received incoming message using a particular transport at a specific physical address location. The
 WCF Dispatch maps the incoming message to an endpoint.&nbsp; The <strong><u>message filter</u></strong> is used by dispatcher to determine the matching logical address/endpoint-address. The dispatch filters looks at address and contract calls the right method.</p>
<p>&nbsp;</p>
<p>On Windows Azure the public facing endpoints are actually Load-blance-endpoints. This means when a message arrives at the LB, it routes the message to the actual instance where is service is hosted. Now the SOAP message had endpoint which was LB-endpoint
 but the instance which actually processed the message was different. WCF match dispatcher filter tries to match the endpoint address and it fails.</p>
<p>Therefore on windows azure we have to relax prefix match on the address of an incoming message and must relax the message filter rule at the message dispatch level by using AddressFiterMode=Any or AddressFiterMode=Prefix.
</p>
<p>&nbsp;</p>
<p>References:</p>
<p><a href="http://msdn.microsoft.com/en-us/magazine/cc163412.aspx">http://msdn.microsoft.com/en-us/magazine/cc163412.aspx</a></p>
<p><a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.addressfiltermode.aspx">http://msdn.microsoft.com/en-us/library/system.servicemodel.addressfiltermode.aspx</a></p>
<p>posted by PantherOS</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-12-Hosting-WCF-and-Inter-role-Communication#c634131031390000000</link>
		<pubDate>Fri, 25 Jun 2010 22:52:19 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-12-Hosting-WCF-and-Inter-role-Communication#c634131031390000000</guid>
		<dc:creator>PantherOS</dc:creator>
	</item>
	<item>
		<title>Re: Cloud Cover Episode 12 - Hosting WCF and Inter-Role Communication</title>
		<description>
			<![CDATA[
<p><font size="3"><span></p>
<p>The more I think about the WCF services hosted using internal endpoints inside a worker role, it seems to me that the clients of these services are at a particular disadvantage compared to the clients of public WCF services behind NLB. Since these clients
 pick an instance at random (or use some sort of software load balancing algorithm) and then connect to them directly, they have to be particularly mindful about calling GetRandomEndpoint() method (and possibly implement retry logic) for every single call to
 account for fault and upgrade domains that each of those worker role instances belong to. Since the clients in this example are Web Roles with high availability (if more than 2 instances), not remembering to call GetRandomEndpoint() prior to service call may
 indirectly affect the availability of the app as a whole.</p>
<p>&nbsp;</p>
<p>What are your thougths or I am missing something here?</p>
</span></font>
<p></p>
<p>posted by soham.tech</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-12-Hosting-WCF-and-Inter-role-Communication#c634146751920000000</link>
		<pubDate>Wed, 14 Jul 2010 03:33:12 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Cloud+Cover/Cloud-Cover-Episode-12-Hosting-WCF-and-Inter-role-Communication#c634146751920000000</guid>
		<dc:creator>soham.tech</dc:creator>
	</item>
</channel>
</rss>