<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Bruno Terkaly - Developer Evangelist - bterkaly@microsoft.com</title><link>http://blogs.msdn.com/b/brunoterkaly/</link><description>Making Microsoft developer efforts more effective.</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Essential Windows Azure (Microsoft Cloud) Knowledge : Part 1: Web roles, Worker Roles</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/05/13/essential-windows-azure-microsoft-cloud-knowledge-part-1-web-roles-worker-roles.aspx</link><pubDate>Sun, 13 May 2012 22:24:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10304698</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10304698</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/05/13/essential-windows-azure-microsoft-cloud-knowledge-part-1-web-roles-worker-roles.aspx#comments</comments><description>&lt;hr /&gt;&lt;span style="border-left-width: 0px; font-size: 1.4em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.1em; padding-right: 0px; border-top-width: 0px"&gt;&lt;strong&gt;Globally distributed data centers&lt;/strong&gt;&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;The Windows Azure Platform is big, very big. It is comprehensive and perhaps you could argue it is complex, as all large systems invariably become.&amp;#160; I want to use a series of posts to remind me what I “must” bring up during my Azure one-day, in person workshops. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;In all seriousness, this post is directed to developers, architects and technical decision makers. Maybe in a future post I'll lower the technical barriers and explain things even more simply. I would argue this post covers the spectrum - from basic to fairly sophisticated. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;I assume that you understand the Windows Azure Platform is a cloud-based computing technology from Microsoft, built upon a highly evolved programming environment and hosted in mega-data centers throughout the world. &lt;/span&gt;  &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1616.image_5F00_7AAE2331.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4034.image_5F00_thumb_5F00_20A3D388.png" width="626" height="302" /&gt;&lt;/a&gt;   &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;This post is very visual. I want to convey as much as I can with as many diagrams as possible. You obviously can't pull up PowerPoint during Thanksgiving, but if someone asks you for an explanation, having a visual in your head really helps. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;I've been doing lectures about cloud computing for a few years now. Along the way I have constructed 100's of slides that explain the Microsoft cloud, the Windows Azure platform. I want to present some of them to you here. It should help you understanding the massive capabilities of the platform as well as explain how some things work. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;The basics - hosting web sites and web services&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;The point of the diagram below is to think about hosting your web-based content and services. It also addresses running background processes. &lt;/span&gt;  &lt;br /&gt;  &lt;hr /&gt;  &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5008.image_5F00_58E24AA0.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2364.image_5F00_thumb_5F00_17D3CB3C.png" width="655" height="462" /&gt;&lt;/a&gt;   &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-left-width: 0px; list-style-type: decimal; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 2.8em; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;   &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;You can think of &lt;strong&gt;Compute&lt;/strong&gt; as being a container for &lt;strong&gt;web roles&lt;/strong&gt; and &lt;strong&gt;worker roles&lt;/strong&gt;. &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;Compute&lt;/strong&gt; enables you to run application code in the cloud and allows you to quickly scale your applications. Each &lt;strong&gt;Compute instance&lt;/strong&gt; is a &lt;strong&gt;virtual machine&lt;/strong&gt; that isolates you from other customers       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;Compute&lt;/strong&gt; runs a &lt;strong&gt;Virtual Machine (VM) role&lt;/strong&gt; &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;Compute&lt;/strong&gt; automatically includes &lt;strong&gt;network load balancing&lt;/strong&gt; and &lt;strong&gt;failover&lt;/strong&gt; to provide continuous availability.           &lt;ul style="list-style-type: decimal"&gt;           &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Windows Azure provides a &lt;strong&gt;99.95% monthly SLA&lt;/strong&gt; for Compute services &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;Web roles are&lt;/strong&gt; simply &lt;strong&gt;front-end web applications&lt;/strong&gt; and content &lt;strong&gt;hosted inside of IIS&lt;/strong&gt; in a &lt;strong&gt;Microsoft data center.&lt;/strong&gt;       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;What is &lt;strong&gt;IIS?&lt;/strong&gt;           &lt;ul style="list-style-type: decimal"&gt;           &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;Internet Information Services (IIS) &lt;/strong&gt;is a &lt;strong&gt;web server&lt;/strong&gt; application and set of feature extension modules that support HTTP, HTTPS, FTP, FTPS, SMTP and NNTP. &lt;/li&gt;            &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;IIS&lt;/strong&gt; can host &lt;strong&gt;ASP.NET, PHP, HTML5&lt;/strong&gt;, and &lt;strong&gt;Node.js.&lt;/strong&gt;               &lt;br /&gt;              &lt;table style="font-size: medium; border-top: medium none; font-family: arial, helvetica, sans-serif; border-right: #666666 1px solid; vertical-align: top; border-collapse: collapse; border-bottom: #666666 1px solid; color: #000; text-align: left; left: 0px; border-left: #666666 1px solid; line-height: 19px; margin-right: 0px"&gt;&lt;tbody&gt;                 &lt;tr style="font-size: medium; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #fcefc5; margin-right: 0px"&gt;                   &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;Note that you are not limited to ASP.NET, or MVC. You can also use PHP, Node.js, and HTML5.&lt;/td&gt;                 &lt;/tr&gt;               &lt;/tbody&gt;&lt;/table&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;You can quickly and &lt;strong&gt;easily deploy&lt;/strong&gt; web applications to Web Roles and then &lt;strong&gt;scale&lt;/strong&gt; your Compute capabilities up or down to &lt;strong&gt;meet demand&lt;/strong&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;Web roles&lt;/strong&gt; can host &lt;strong&gt;WCF Services&lt;/strong&gt;.       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;Windows Communication Foundation (or WCF)&lt;/strong&gt;, is an &lt;strong&gt;application programming interface &lt;/strong&gt;(API) in the &lt;strong&gt;.NET Framework &lt;/strong&gt;for building &lt;strong&gt;connected, service-oriented applications&lt;/strong&gt;. &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;WCF unifies &lt;/strong&gt;most distributed systems technologies that developers have successfully used to build distributed applications on the Windows platform over the past decade. &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;WCF &lt;/strong&gt;supports sending messages using not only &lt;strong&gt;HTTP&lt;/strong&gt;, but also &lt;strong&gt;TCP&lt;/strong&gt; and other network protocols. &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;WCF&lt;/strong&gt; has built-in support for the &lt;strong&gt;latest Web services standards (SOAP 1.2 and WS-*) &lt;/strong&gt;and the ability to easily support &lt;strong&gt;new ones.&lt;/strong&gt; &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;WCF&lt;/strong&gt; supports &lt;strong&gt;security, transactions and reliability.&lt;/strong&gt; &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;WCF&lt;/strong&gt; supports sending messages using formats &lt;strong&gt;other than&lt;/strong&gt; &lt;strong&gt;SOAP&lt;/strong&gt;, such as &lt;strong&gt;Representational State Transfer (REST)&lt;/strong&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;ASP.NET Web Forms versus MVC&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;ASP.NET Web Forms has been around for a while and is a mature technology that runs small and large scale websites alike. MVC is the newer technology that promises many advantages.&lt;/span&gt;   &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-left-width: 0px; list-style-type: decimal; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 2.8em; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;   &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Web Forms is built around the Windows Form construction model      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Web Forms have a declarative syntax with an event driven model. &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Web Forms allow visual designers can use a drag and drop, WYSIWYG, interface. &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Web Forms make it possible for you drop controls onto the ASP.NET page and then wire up the events          &lt;ul style="list-style-type: decimal"&gt;           &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Microsoft basically extended the Visual Basic programming model to the Web &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Web Form disadvantages include:      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Display logic coupled with code, through code-behind files &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Difficult unit testing because of coupling &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;ViewState and PostBack model &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;State management of controls leads to very large and often unnecessary page sizes &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;MVC&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;The ASP.NET MVC Framework is a web application framework that implements the model-view-controller (MVC) pattern. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-left-width: 0px; list-style-type: decimal; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 2.8em; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;   &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;At the expense of drag and drop, MVC gives you a very granular control over the output of the HTML that is generated. &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;MVC supports a ‘closer to the metal’ experience to the developers that program with it, by providing full control and testability over the output that is returned to the browser &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Clear separation of concerns      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Results in strong support for unit testing &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;MVC easily integrates with JavaScript frameworks like jQuery or Yahoo UI frameworks &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;MVC allows you to map URLs logically and dynamically, depending on your use &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;MVC provides RESTful interfaces are used by default (this helps out with SEO) &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;Worker roles are part of compute but are not hosted in IIS.&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;Applications hosted within &lt;strong&gt;Worker&lt;/strong&gt; roles can run &lt;strong&gt;asynchronous, long-running or perpetual tasks&lt;/strong&gt; independent of user interaction or input. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-left-width: 0px; list-style-type: decimal; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 2.8em; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;   &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;Worker roles&lt;/strong&gt; let you host any type of application, including &lt;strong&gt;Apache Tomcat&lt;/strong&gt; and &lt;strong&gt;Java Virtual Machines&lt;/strong&gt; (JVM). &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;Applications&lt;/strong&gt; are commonly composed of &lt;strong&gt;both Web and Worker roles&lt;/strong&gt;.       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;A common implementation in Windows Azure takes &lt;strong&gt;input&lt;/strong&gt; from a &lt;strong&gt;Web role&lt;/strong&gt;, &lt;strong&gt;sends&lt;/strong&gt; those &lt;strong&gt;requests&lt;/strong&gt; through a &lt;strong&gt;Queue&lt;/strong&gt; to a &lt;strong&gt;Worker role&lt;/strong&gt;, then &lt;strong&gt;processes the requests&lt;/strong&gt; and &lt;strong&gt;stores the output&lt;/strong&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol&gt;&lt;/ol&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-left-width: 0px; font-size: 1.4em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.1em; padding-right: 0px; border-top-width: 0px"&gt;&lt;strong&gt;Sample Implementation&lt;/strong&gt;&lt;/span&gt;   &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;Imagine that you are Microsoft and that you want to offer video &lt;strong&gt;encoding services&lt;/strong&gt; to customers. That means that someone like me can take my home videos, upload them to the Microsoft Cloud, specifically Windows Azure Media Services. Next, I can use a management API that Microsoft provides, and programmatically encode my videos so they can run well on other devices. This simply means I want to take my vacation.mpg video and convert it to a native QuickTime format, like .mov files. Many of you blog readers know that there are many video formats, such as WMV, AVI, MP4, MOV - just to name a few. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;The diagram below illustrates how such an offering might exist. Let's walk through it. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&amp;#160; &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4011.image_5F00_7DFF950C.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7120.image_5F00_thumb_5F00_565918E2.png" width="701" height="508" /&gt;&lt;/a&gt;   &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;A sample scenario&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;Imagine the user wants to upload their video so they can get it encoded in multiple formats, so the video will look good across a spectrum of devices. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;Let's walk through a scenario. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;table style="font-size: medium; border-top: medium none; font-family: arial, helvetica, sans-serif; border-right: #666666 1px solid; vertical-align: top; border-collapse: collapse; border-bottom: #666666 1px solid; color: #000; text-align: left; left: 0px; border-left: #666666 1px solid; line-height: 19px; margin-right: 0px"&gt;&lt;tbody&gt;     &lt;tr style="font-size: medium; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #ddffaa; margin-right: 0px"&gt;       &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px" width="75"&gt;Step 1&lt;/td&gt;        &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px" width="717"&gt;The user would visit http://azureinjestmedia.com.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="font-size: medium; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #ffffff; margin-right: 0px"&gt;       &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px" width="75"&gt;Step 2&lt;/td&gt;        &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px" width="717"&gt;The user would upload their videos (vacation1.mov, and vacation2.mov). The user wants to get vacation1.wmv and vacation2.wmv. &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="font-size: medium; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #ddffaa; margin-right: 0px"&gt;       &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px" width="75"&gt;Step 3&lt;/td&gt;        &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px" width="717"&gt;The user uses the portal to indicate how they wish to process the video. The user indicates they want wmv files. The user kicks the encoding process off and waits a few minutes.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="font-size: medium; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #ffffff; margin-right: 0px"&gt;       &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px" width="75"&gt;Step 4&lt;/td&gt;        &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px" width="717"&gt;The user now wants to get the wmv files. So the user simply downloads them, courtesy of the portal interface.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;The portal that user's interact with is a web role&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-left-width: 0px; list-style-type: decimal; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 2.8em; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;   &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Note that the web role is the portal. It interacts with the user who wants to user Microsoft's video services.      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Microsoft could have built the portal using ASP.NET Web Forms, MVC, PHP, HTML5, Node.js. Microsoft probably would choose MVC because of it's testability, and fine-grained control over the rendered HTML to the user. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The portal runs inside of IIS and inside a VM that is running Windows Server 2008 R2.      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;You may have multiple instances running that Azure will automatically load balance requests for. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The web role can interact with the worker role using queues. &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The web role takes the user's video and stores inside of Azure Storage, it sends the worker role some instructions about where the .mov files are and what the desired      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;It does so using the Windows Azure Queues. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;Background Process - Worker Role&lt;/strong&gt;&amp;#160;&lt;/span&gt;   &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2043.image_5F00_4E617680.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1263.image_5F00_thumb_5F00_6DA41D53.png" width="612" height="330" /&gt;&lt;/a&gt;   &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-left-width: 0px; list-style-type: decimal; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 2.8em; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;   &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Like a &lt;strong&gt;Windows Service&lt;/strong&gt;       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;Worker Role&lt;/strong&gt; is similar to a &lt;strong&gt;windows service&lt;/strong&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Long Running      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;It starts up and is &lt;strong&gt;running all the time&lt;/strong&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;No timer      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Instead of a timer, it uses a &lt;strong&gt;simple while(true) loop&lt;/strong&gt; and a sleep statement. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Background processing      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;This is great for &lt;strong&gt;background processing&lt;/strong&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Data Required      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;Worker roles usually need some data&lt;/strong&gt; to work with. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;Queue&lt;/strong&gt; is the &lt;strong&gt;data bridge&lt;/strong&gt;       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;You can communicate between a &lt;strong&gt;worker&lt;/strong&gt; and a &lt;strong&gt;web&lt;/strong&gt; &lt;strong&gt;role&lt;/strong&gt; via the use of a &lt;strong&gt;queue&lt;/strong&gt;.           &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8306.image_5F00_0633BAA4.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3426.image_5F00_thumb_5F00_216C13A5.png" width="537" height="347" /&gt;&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;strong&gt;Worker role&lt;/strong&gt; simple &lt;strong&gt;reads &lt;/strong&gt;from &lt;strong&gt;queue&lt;/strong&gt;       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;worker role &lt;/strong&gt;doesn’t care how stuff got into the &lt;strong&gt;queue&lt;/strong&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;First in First out      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;worker role &lt;/strong&gt;processes items in the queue using &lt;strong&gt;FIFO&lt;/strong&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;user &lt;/strong&gt;interacts with the &lt;strong&gt;web role&lt;/strong&gt;, not the worker role       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Generally speaking it is the &lt;strong&gt;web role &lt;/strong&gt;that is &lt;strong&gt;user driven &lt;/strong&gt;and causes &lt;strong&gt;data &lt;/strong&gt;to go into the &lt;strong&gt;queue&lt;/strong&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The worker role interacts with storage.      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0602.image_5F00_39234B0B.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6646.image_5F00_thumb_5F00_5F852E56.png" width="650" height="282" /&gt;&lt;/a&gt;&amp;#160; &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;worker role&lt;/strong&gt; knows there is two types of storage containers       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;There are 3 main categories of storage - 2 Azure Blob Containers and one Azure Table          &lt;ul style="list-style-type: decimal"&gt;           &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;BlobContainer = Movies to Encode              &lt;ul style="list-style-type: decimal"&gt;               &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Movies that still need to be processed and encoded. &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;BlobContainer = Encoded movies              &lt;ul style="list-style-type: decimal"&gt;               &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The finished product, multiple movie formats, one for each device type &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Azure Tables              &lt;ul style="list-style-type: decimal"&gt;               &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Stores the meta data about the Azure blobs. &lt;/li&gt;                &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;It records the location of the Azure blobs so the worker role knows where to read and write video content                  &lt;ul style="list-style-type: decimal"&gt;                   &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;It knows because of the two types of Azure blob containers &lt;/li&gt;                 &lt;/ul&gt;               &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8371.image_5F00_63234933.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0285.image_5F00_thumb_5F00_057ADEAD.png" width="650" height="471" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;Notes for the diagram above&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;Here is some details about he diagram above. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-left-width: 0px; list-style-type: decimal; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 2.8em; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;   &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;web role&lt;/strong&gt; interacts with the &lt;strong&gt;user&lt;/strong&gt; &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;user&lt;/strong&gt; may &lt;strong&gt;download&lt;/strong&gt; or &lt;strong&gt;upload&lt;/strong&gt; files. &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;user&lt;/strong&gt; may upload a video because they &lt;strong&gt;want it encoded&lt;/strong&gt;       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;web role&lt;/strong&gt; would be the &lt;strong&gt;portal&lt;/strong&gt; where the user does that &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;But the &lt;strong&gt;user&lt;/strong&gt; may also wish to &lt;strong&gt;download&lt;/strong&gt; the &lt;strong&gt;finished product&lt;/strong&gt; (the encoded video performed by the worker role)           &lt;ul style="list-style-type: decimal"&gt;           &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The portal must allow downloads from &lt;strong&gt;BlobContainer = EncodedMovies&lt;/strong&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;web role&lt;/strong&gt; could read/write &lt;strong&gt;Azure Tables&lt;/strong&gt;. But we may choose to let the &lt;strong&gt;worker role&lt;/strong&gt; do that.       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;web role&lt;/strong&gt; writes &lt;strong&gt;Azure blob locations as text strings&lt;/strong&gt; to &lt;strong&gt;queues&lt;/strong&gt; and forgets about them. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0383.image_5F00_44D8923D.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8204.image_5F00_thumb_5F00_4732143B.png" width="650" height="438" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;Notes for the diagram above.&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;Notice many worker and web roles in many racks.    &lt;br /&gt;There are several instances of Fabric Controller instances running in various racks in data centers. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-left-width: 0px; list-style-type: decimal; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 2.8em; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;   &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;One is elected to act as the primary controller.      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;If it fails, another picks up the slack. &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;There fabric controllers are redundant. &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;If you start a service on Azure, the FC can fall over entirely and your service is not shut down. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The Fabric Controller uses the Preboot eXecution Environment      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;PXE, also known as Pre-Execution Environment; sometimes pronounced &amp;quot;pixie&amp;quot;          &lt;ul style="list-style-type: decimal"&gt;           &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;PXE is an environment to boot computers using a network interface independently of data storage devices (like hard disks) or installed operating systems &lt;/li&gt;            &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;PXE leverages the Internet Protocol (IP), User Datagram Protocol (UDP), Dynamic Host Configuration Protocol (DHCP) and Trivial File Transfer Protocol (TFTP) to support boostrapping a computer &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;      &lt;ul&gt;&lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The Fabric Controller runs Sysprep, the system is rebooted as a unique machine &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;Understanding the Fabric Controller&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;table style="font-size: medium; border-top: medium none; font-family: arial, helvetica, sans-serif; border-right: #666666 1px solid; vertical-align: top; border-collapse: collapse; border-bottom: #666666 1px solid; color: #000; text-align: left; left: 0px; border-left: #666666 1px solid; line-height: 19px; margin-right: 0px"&gt;&lt;tbody&gt;     &lt;tr style="font-size: medium; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #fcefc5; margin-right: 0px"&gt;       &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;Modified Windows Server 2008&lt;/td&gt;        &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;The Fabric Controller is a modified Windows Server 2008 OS, as are the host OS and the standard pre-configured Web and Worker Role instances.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="font-size: medium; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #ffffff; margin-right: 0px"&gt;       &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;The search for free nodes&lt;/td&gt;        &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;The fabric controller looks for available nodes and looks for (in the standard case) two nodes that do not share a Fault Domain. This provides yet another degree of fault-tolerance.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="font-size: medium; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #fcefc5; margin-right: 0px"&gt;       &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;A VM and various Virtual Hard Drives&lt;/td&gt;        &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;A virtual machine is created and multiple hard drives are mounted, one for your role type, one for temp files, and others.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="font-size: medium; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #ffffff; margin-right: 0px"&gt;       &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;Hyper-V in the house&lt;/td&gt;        &lt;td style="font-size: medium; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;A complex series of steps allow for upgrades, leveraging a differencing VHD and a Microsoft-customized Hyper-V instance, built specifically for the data center hardware.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10304698" width="1" height="1"&gt;</description></item><item><title>Networking in the Cloud–Understanding Windows Azure Traffic Manager</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/26/networking-in-the-cloud-understanding-windows-azure-traffic-manager.aspx</link><pubDate>Thu, 26 Apr 2012 20:24:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10298195</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10298195</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/26/networking-in-the-cloud-understanding-windows-azure-traffic-manager.aspx#comments</comments><description>&lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Exercise 1: Windows Azure Traffic Manager&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;It manages traffic. What kind of traffic? The Traffic Manager manages incoming traffic to your web roles that are hosted in Windows Azure Data Centers.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 1 - Understanding High Level Concepts&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Before diving into any How-to's, lets get discuss the basics.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You may have &lt;strong&gt;Azure instances &lt;/strong&gt;of your application in &lt;strong&gt;multiple data centers &lt;/strong&gt;throughout the world and &lt;strong&gt;you want to manage traffic among all your running instances&lt;/strong&gt;&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Traffic Manager &lt;/strong&gt;works by applying an &lt;strong&gt;intelligent policy engine to the Domain Name Service (DNS) queries &lt;/strong&gt;on your domain name(s).&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Traffic Manager relies on the concept of &lt;strong&gt;&amp;quot;Policies&amp;quot;&lt;/strong&gt;&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You will typically define &lt;strong&gt;multiple policies to manage your incoming traffic &lt;/strong&gt;to your running instances of your applications&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;These &lt;strong&gt;policies &lt;/strong&gt;dictate which &lt;strong&gt;hosted service &lt;/strong&gt;receives the request&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Traffic Manager provides many capabilities.      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;It provides a &lt;strong&gt;responsive &lt;/strong&gt;customer experience&lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;It ensures higher &lt;strong&gt;availability&lt;/strong&gt;          &lt;ul style="list-style-type: decimal;"&gt;           &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;You can define &lt;strong&gt;how failover takes place&lt;/strong&gt;.&lt;/li&gt;            &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;If traffic is sent to a primary service and, if this service goes offline, traffic is routed to the next available service in a list&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Each Policy gets:&lt;/li&gt;    &lt;ul style="list-style-type: decimal;"&gt;     &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;A &lt;strong&gt;&amp;quot;DNS&amp;quot;&lt;/strong&gt; name&lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;A &lt;strong&gt;list &lt;/strong&gt;of your Azure hosted &lt;strong&gt;instances&lt;/strong&gt;&lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;A user defined &lt;strong&gt;criteria &lt;/strong&gt;(the criteria determine how incoming traffic is routed and managed)&lt;/li&gt;   &lt;/ul&gt; &lt;/ol&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 2 - How Traffic Manager Works&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;The following is a quick walkthrough about what happens when an incoming request hits your company URL (company domain w/IP address)&lt;/span&gt;  &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="egyg1bi0" border="0" alt="egyg1bi0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8233.egyg1bi0_5F00_32C341B3.jpg" width="489" height="697" /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Customers&lt;/strong&gt; will got to your &lt;strong&gt;company domain&lt;/strong&gt;.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You will use &lt;strong&gt;Traffic Manager&lt;/strong&gt; to capture any &lt;strong&gt;traffic&lt;/strong&gt; to your &lt;strong&gt;company domain.&lt;/strong&gt;&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;This &lt;strong&gt;traffic&lt;/strong&gt; will be &lt;strong&gt;re-directed&lt;/strong&gt; to &lt;strong&gt;Traffic Manager&lt;/strong&gt;, which is hosted in &lt;strong&gt;MS data centers&lt;/strong&gt;.       &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Specifically, the &lt;strong&gt;traffic&lt;/strong&gt; will &lt;strong&gt;travel&lt;/strong&gt; to the &lt;strong&gt;Traffic Manager Domain&lt;/strong&gt;.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;The &lt;strong&gt;policy engine&lt;/strong&gt; now takes over to &lt;strong&gt;re-route traffic&lt;/strong&gt;.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You will specify some &lt;strong&gt;load balancing rules&lt;/strong&gt; in your &lt;strong&gt;policies&lt;/strong&gt; that dictate &lt;strong&gt;how traffic is routed&lt;/strong&gt;&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;The &lt;strong&gt;user's DNS resolver&lt;/strong&gt; will use the &lt;strong&gt;IP address&lt;/strong&gt; provided by Traffic Manager.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;The user will now use the &lt;strong&gt;returned IP&lt;/strong&gt; address to access your hosted services       &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;The user may be re-directed to a running instance in another data center&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 3 - How Traffic Manager will route a request&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Traffic Manager maintains a network performance table.    &lt;p&gt;You may have a global application that could scale across multiple data centers and traffic manager understands the best performing endpoints in terms of response time.&lt;/p&gt; &lt;/span&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Traffic Manager&lt;/strong&gt; &lt;strong&gt;monitors&lt;/strong&gt; your Azure application &lt;strong&gt;instances&lt;/strong&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;It executes periodic &lt;strong&gt;HTTP GET requests&lt;/strong&gt; to the endpoint you include in the &lt;strong&gt;policies&lt;/strong&gt; that you define           &lt;ul style="list-style-type: decimal;"&gt;           &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;IT considers the service to be available if its monitoring endpoint responds with an &lt;strong&gt;HTTP status code&lt;/strong&gt; of &lt;strong&gt;200&lt;/strong&gt; OK within &lt;strong&gt;5 seconds&lt;/strong&gt;&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Traffic Manager maintains a &lt;strong&gt;network performance table&lt;/strong&gt; that it updates periodically and contains the round trip time between various IP addresses around the world and each Windows Azure data center       &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;It &lt;strong&gt;forwards&lt;/strong&gt; requests to the &lt;strong&gt;closest&lt;/strong&gt; hosted service in terms of its &lt;strong&gt;network latency&lt;/strong&gt;&lt;/li&gt;     &lt;/ul&gt;      &lt;p style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&amp;#160;&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Exercise 2: Getting started – How to implement Traffic Manager&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Traffic Manager policy that maximizes performance by forwarding traffic to the hosted service that offers the best performance for any given client. But there is more to it. There are issues of failover and of routing with a round-robin approach.&lt;/span&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 2: Task 1 - Lab = Windows Azure Traffic Manager&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;The best way to learn about Traffic Manager is to work through the lab in the Windows Azure Platform Training Kit. I’m not going to do the lab for you here. I will just point out some key points to prepare you.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="anscfudq" border="0" alt="anscfudq" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5187.anscfudq_5F00_31EADBC9.jpg" width="822" height="191" /&gt;  &lt;br /&gt;The Windows Azure Portal is a great place to start implementing Traffic Manager  &lt;br /&gt;  &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="44yusckb" border="0" alt="44yusckb" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2476.44yusckb_5F00_29F33967.jpg" width="472" height="511" /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You will be allowed to choose a &lt;strong&gt;load balancing&lt;/strong&gt; &lt;strong&gt;method&lt;/strong&gt;. There are 3 options at the portal.&lt;/li&gt;    &lt;ul style="list-style-type: decimal;"&gt;     &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&lt;strong&gt;Performance – &lt;/strong&gt;fastest response time&lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Failover&lt;/strong&gt;        &lt;ul style="list-style-type: decimal;"&gt;         &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;When using a failover policy, if the primary hosted service is offline, traffic is sent to the next one in a sequence defined by the policy.&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Round Robin&lt;/strong&gt;        &lt;ul style="list-style-type: decimal;"&gt;         &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;The round robin load balancing method distributes load evenly among each of the hosted services assigned to the policy. It keeps track of the last hosted service that received traffic and sends traffic to the next one in the list of hosted services.&lt;/li&gt;          &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Please note the various parameters specified in a Traffic Manager Policy&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;At the command line, you can use &lt;strong&gt;nslookup&lt;/strong&gt; [domain name] to lookup the address chosen by Traffic Manager in response to an incoming service request&lt;/li&gt; &lt;/ol&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/span&gt;  &lt;p&gt;   &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Windows Azure Traffic Manager is a load balancing solution that enables the distribution of incoming traffic among different hosted services in your Windows Azure subscription, regardless of their physical location. Traffic routing occurs as a the result of policies that you define and that are based on one of the following criteria:&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;In a nutshell, understanding the way Traffic Manager routes request is the key. We learned about how Traffic Managers addresses, network load balancing in terms of:    &lt;br /&gt;&lt;/p&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Performance&lt;/strong&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Traffic is forwarded to the closest hosted service in terms of network latency&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Round Robin&lt;/strong&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Traffic is distributed equally across all hosted services&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Failover&lt;/strong&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Traffic is sent to a primary service and, if this service goes offline, to the next available service in a list&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; MSDN - Windows Azure Traffic Manager&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/gg197529" target="_blank"&gt;http://msdn.microsoft.com/en-us/gg197529&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Overview of Windows Azure Traffic Manager&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh744833.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/windowsazure/hh744833.aspx&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Features at the Windows Azure Web Site&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://www.windowsazure.com/en-us/home/features/virtual-network/" target="_blank"&gt;http://www.windowsazure.com/en-us/home/features/virtual-network/&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10298195" width="1" height="1"&gt;</description></item><item><title>Windows Azure Access Control Service-Understanding the Security Buzzwords</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/25/windows-azure-access-control-service-understanding-the-security-buzzwords.aspx</link><pubDate>Wed, 25 Apr 2012 21:44:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10297813</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10297813</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/25/windows-azure-access-control-service-understanding-the-security-buzzwords.aspx#comments</comments><description>&lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Exercise 1: Overcoming Acronym Overload&lt;/strong&gt;&lt;/span&gt;  &lt;p&gt;   &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;This post is here because I got acronym overload. I am reading about the &lt;strong&gt;Windows Azure Access Control Service&lt;/strong&gt; and there is support for all these industry standards, such as OAuth, ws-trust, ws-federation, and so on.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;I’m doing the Windows Azure Cloud camp tomorrow, so this should help supplement my discussion of the ACS and what it means.&lt;/p&gt;  &lt;p&gt;If you are in Redmond on 4/27, then come see me. &lt;a title="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032507378&amp;amp;Culture=en-US" href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032507378&amp;amp;Culture=en-US"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032507378&amp;amp;Culture=en-US&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;What do these fancy terms really mean?&lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 1 - First, what is the Windows Azure Access Control Service (ACS)?&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Here is a quick outline that describes (at a high level) what is the &lt;strong&gt;ACS&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;ACS makes it easy to &lt;strong&gt;authenticate&lt;/strong&gt; and &lt;strong&gt;authorize users&lt;/strong&gt;.       &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;You don't need to spend much time worrying about the vast landscape of &lt;strong&gt;changing security standards&lt;/strong&gt;.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;ACS is a cloud-based service that provides an &lt;strong&gt;easy way of authenticating and authorizing users to gain access to your web applications&lt;/strong&gt; and services while allowing the features of &lt;strong&gt;authentication and authorization to be factored out of your code&lt;/strong&gt;.       &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Because it is a service, all that security plumbing code is something you DO NOT NEED to worry about.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;ACS supports integrated &lt;strong&gt;Single Sign On&lt;/strong&gt; and centralized authorization into your web applications       &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Users hate having to log on mutliple times. If you want to retain your users, you need to allow them to just login once.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;ACS provides out-of-the-box support for &lt;strong&gt;Active Directory Federation Services (AD FS) 2.0&lt;/strong&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Great integration story with on-premise corporate users.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;ACS relies on &lt;strong&gt;Standards-based identity providers&lt;/strong&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Web identities include &lt;strong&gt;Windows Live ID, Google, Yahoo! and Facebook&lt;/strong&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Integrates with &lt;strong&gt;Windows Identity Foundation&lt;/strong&gt; and tooling       &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;The &lt;strong&gt;Windows Identity Foundation&lt;/strong&gt; helps simplify user access for developers by externalizing user access from applications via claims and reducing development effort with pre-built security logic and integrated .NET tools.&lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;This is a powerful toolkit available from MS&lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;a href="3.http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=17331" target="_blank"&gt;http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=17331&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;The modern way to manage security      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&lt;strong&gt;Claims-based access control&lt;/strong&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Support for &lt;strong&gt;OAuth WRAP, WS-Trust&lt;/strong&gt;, and &lt;strong&gt;WS-Federation&lt;/strong&gt; protocols       &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Details below. &lt;strong&gt;&lt;font color="#c0504d"&gt;This is the point of this quick post.&lt;/font&gt;&lt;/strong&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 2 - What is OAUTH WRAP?&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;OAuth&lt;/strong&gt; is an open standard for authorization.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;OAuth provides a method for clients to access server resources on behalf of a resource owner (such as a different client or an end- user). &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;It allows end-users to authorize third- party access to their server resources without sharing their credentials &lt;/li&gt;    &lt;ol&gt;     &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Typically accomplished with, a username and password pair, using user- agent redirections. &lt;/li&gt;   &lt;/ol&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;It started with &lt;strong&gt;Twitter&lt;/strong&gt; during the &lt;strong&gt;OpenID&lt;/strong&gt; implementation.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;It allows users to &lt;strong&gt;share their private resources&lt;/strong&gt; (e.g. photos, videos, contact lists) stored on one site with another site without having to hand out their credentials, typically supplying username and password. &lt;/li&gt;    &lt;ol&gt;     &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Instead, &lt;strong&gt;tokens&lt;/strong&gt; are used.&lt;/li&gt;   &lt;/ol&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Each &lt;strong&gt;token&lt;/strong&gt; &lt;strong&gt;grants access&lt;/strong&gt; to a specific &lt;strong&gt;site&lt;/strong&gt; (e.g., a video editing site) for specific resources (e.g., just videos from a specific album) and for a &lt;strong&gt;defined duration&lt;/strong&gt; (e.g., the next 2 hours).&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;This allows a user to grant a third party site access to their information stored with another service provider, without sharing their access permissions or the full extent of their data.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;DeWitt Clinton from Google joined &lt;strong&gt;OAuth&lt;/strong&gt; project, supporting the effort. In July 2007 the team drafted an initial specification.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Facebook's&lt;/strong&gt; new &lt;strong&gt;Graph API&lt;/strong&gt; only supports &lt;strong&gt;OAuth 2.0&lt;/strong&gt; and is the largest implementation of the emerging standard&lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 3 - What is OASIS?&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;It is more than a small fertile or green area in a desert region, usually having a spring or well. Actually it is a &lt;strong&gt;global consortium&lt;/strong&gt;.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;OASIS &lt;/strong&gt;stands for Organization for the Advancement of Structured Information Standards (OASIS)&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;It was started in 1993&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;OASIS is a global consortium that drives the development, convergence, and adoption of&lt;strong&gt; e-business&lt;/strong&gt; and &lt;strong&gt;web service&lt;/strong&gt; standards.       &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Headquarters in the United States&lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Members of the consortium decide how and what work is undertaken through an open, democratic process&lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Focused on Web Services, e-Commerce, Security, Law &amp;amp; Government, Supply Chain, Computing Management, Application Focus, Document-Centric, XML Processing, Conformance/Interop, and Industry Domains&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 4 - What is WS-Trust?&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;WS-Trust is a WS-* specification and OASIS standard&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;WS-Trust&lt;/strong&gt; is a &lt;strong&gt;WS-*&lt;/strong&gt; specification and &lt;strong&gt;OASIS&lt;/strong&gt; standard&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;It has &lt;strong&gt;defined&lt;/strong&gt; some important &lt;strong&gt;industry terms&lt;/strong&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&lt;strong&gt;WS-Trust&lt;/strong&gt; spawned concept of a &lt;strong&gt;Security Token Service (STS)&lt;/strong&gt;          &lt;ul style="list-style-type: decimal;"&gt;           &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;An &lt;strong&gt;STS&lt;/strong&gt; web service that issues &lt;strong&gt;security tokens&lt;/strong&gt; as defined in the &lt;strong&gt;WS-Security specification&lt;/strong&gt;.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;It provides extensions to &lt;strong&gt;WS-Security&lt;/strong&gt;, specifically dealing with the &lt;strong&gt;issuing, renewing, and validating of security tokens&lt;/strong&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;It addresses the formats of the messages used to request security tokens&lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;It defines the responses from the server to such messages&lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;It also addresses mechanisms for key exchange&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;WS-Trust also deals with ways to establish, assess the presence of, and broker trust relationships between participants in a secure message exchange&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;WS-Trust is supported by Microsoft's Windows Communication Foundation (WCF) and Windows Identity Foundation (WIF), Sun's WSIT framework, Apache's Rampart (part of axis2), and others.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;WS-Trust is a specification developed by nal Corporation, BEA Systems, Inc., Computer Associates International, Inc., International Business Machines Corporation, Layer 7 Technologies, Microsoft Corporation, Oblix Inc., OpenNetwork Technologies Inc., Ping Identity Corporation, Reactivity Inc., RSA Security Inc., and VeriSign Inc.&lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 5 - What is WS-Federation?&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;WS-Federation is a WS-* specification and OASIS standard&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Tries to tackle the security challenges in &lt;strong&gt;web applications&lt;/strong&gt; and &lt;strong&gt;web services&lt;/strong&gt; in a &lt;strong&gt;variety of trust relationships&lt;/strong&gt;.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;WS-Federation supports SOAP clients and web services.      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;REST is not supported.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;WS-Federation&lt;/strong&gt; provides a common model for performing &lt;strong&gt;Federated Identity&lt;/strong&gt; operations for both &lt;strong&gt;web services&lt;/strong&gt; and &lt;strong&gt;browser-based applications&lt;/strong&gt;.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;WS-Federation&lt;/strong&gt; builds upon the &lt;strong&gt;Security Token Service&lt;/strong&gt; model&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;WS-Security, WS-Trust&lt;/strong&gt;, and &lt;strong&gt;WS-SecurityPolicy&lt;/strong&gt; provide a basic model for federation between &lt;strong&gt;Identity Providers&lt;/strong&gt; and &lt;strong&gt;Relying Parties&lt;/strong&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&lt;strong&gt;WS-Federation&lt;/strong&gt; are &lt;strong&gt;claims-based&lt;/strong&gt;.           &lt;ul style="list-style-type: decimal;"&gt;           &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&lt;strong&gt;Claims&lt;/strong&gt; are just &lt;strong&gt;dictionaries&lt;/strong&gt; inside of a &lt;strong&gt;SAML token&lt;/strong&gt; where key value pairs represent the &lt;strong&gt;attributes of a user&lt;/strong&gt;&lt;/li&gt;            &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Developers can iterate through dictionary to see attributes of a user’s identity to determine what kind of claims we want to authorize&lt;/li&gt;            &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;These &lt;strong&gt;claims&lt;/strong&gt; are also called &lt;strong&gt;assertions&lt;/strong&gt;.&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;WS-Federation &lt;/strong&gt;strives for richer trust relationships&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;It wants to join together &lt;strong&gt;HTTP&lt;/strong&gt; with &lt;strong&gt;STS&lt;/strong&gt; and &lt;strong&gt;WS-Trust&lt;/strong&gt; to allow resources in &lt;strong&gt;one&lt;/strong&gt; &lt;strong&gt;realm&lt;/strong&gt; get identities (and related attributes) that are managed and maintained in &lt;strong&gt;another&lt;/strong&gt; &lt;strong&gt;realm&lt;/strong&gt;.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You can imagine scenarios where &lt;strong&gt;WS-Federation&lt;/strong&gt; is needed, such as protecting patient records from unauthorized users when these patient records are traveling among multiple health providers. Federation makes sense in a supply chain scenario where a factory needs just-in-time inventory levels from distributors or retailers (and in reverse).&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You can read more here      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb498017.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/bb498017.aspx&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 6 - Key Value Proposition for ACS is Single Sign On&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;The diagram below illustrates how the ACS supports Single Sign On.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2063.image_5F00_4299BD7C.png" width="763" height="562" /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Single Sign&lt;/strong&gt; &lt;strong&gt;on&lt;/strong&gt; is made possible by the STS (Security Token Service) in conjunction with other pieces.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;The goal is to create a token, an &lt;strong&gt;ACS token&lt;/strong&gt;, which is a token that conforms to industry standards &lt;strong&gt;SAML &lt;/strong&gt;based tokens.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;It starts with the end user starting an application or a browser instance.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;The user typically will get &lt;strong&gt;redirected&lt;/strong&gt; to an &lt;strong&gt;identity provider&lt;/strong&gt;, providing their &lt;strong&gt;credentials&lt;/strong&gt;, getting back an &lt;strong&gt;identity provider token&lt;/strong&gt;.&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;This &lt;strong&gt;token&lt;/strong&gt;, specific to an identity providers, &lt;strong&gt;gets forwarded automatically to ACS.&lt;/strong&gt;&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;The &lt;strong&gt;ACS&lt;/strong&gt; will &lt;strong&gt;transform&lt;/strong&gt; this &lt;strong&gt;token&lt;/strong&gt; into a standard &lt;strong&gt;SAML token&lt;/strong&gt;.      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;It will use &lt;strong&gt;rules&lt;/strong&gt; specified by a &lt;strong&gt;developer&lt;/strong&gt;&lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Claims&lt;/strong&gt; will be &lt;strong&gt;embedded&lt;/strong&gt; into the &lt;strong&gt;token&lt;/strong&gt;          &lt;ul style="list-style-type: decimal;"&gt;           &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;These &lt;strong&gt;claims&lt;/strong&gt; will allow client applications to &lt;strong&gt;authorize restricted operations&lt;/strong&gt;&lt;/li&gt;            &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Various applications can be forwarded this &lt;strong&gt;token&lt;/strong&gt;, thus supporting the &lt;strong&gt;Single Sign On Scenario&lt;/strong&gt;&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;There are several &lt;strong&gt;challenges&lt;/strong&gt; associated with the &lt;strong&gt;scenario that the ACS solves&lt;/strong&gt;. This means, you, the developer, do not need to deal with these headaches.&lt;/li&gt;    &lt;ul style="list-style-type: decimal;"&gt;     &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;How to redirect unauthenticated requests to the required identity provider?&lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;How to validate the incoming token issued by the identity provider?&lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;How to parse the incoming token?&lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;How to implement authorization checks?&lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;How to transform tokens by adding, removing, or changing the claims types and values?&lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;How to do all of the above using configuration rather than coding?&lt;/li&gt;   &lt;/ul&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You can read more here:&lt;/li&gt;    &lt;ol&gt;     &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/gg185915.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/gg185915.aspx&lt;/a&gt;        &lt;br /&gt;&lt;/li&gt;   &lt;/ol&gt; &lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10297813" width="1" height="1"&gt;</description></item><item><title>Easiest Way to Get Started in Windows Azure Cloud Development</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/25/easiest-way-to-get-started-in-windows-azure-cloud-development.aspx</link><pubDate>Wed, 25 Apr 2012 14:30:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10297629</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10297629</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/25/easiest-way-to-get-started-in-windows-azure-cloud-development.aspx#comments</comments><description>&lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Exercise 1: Easiest Way to Get Started in Windows Azure Cloud Development&lt;/strong&gt;&lt;/span&gt;  &lt;p&gt;   &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;I do a lot of cloud boot camps and presentations throughout the US and elsewhere. I want to give you my elevator pitch on the fastest way to get knowledge. &lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;What I show you here is the getting started through &lt;strong&gt;code&lt;/strong&gt;.&lt;/span&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;     &lt;br /&gt;&lt;strong&gt;You don't need to see PowerPoints first – Let’s learn through code&lt;/strong&gt;&lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Code is the best teacher for some. We will focus on code with some graphics interspersed. &lt;/span&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;     &lt;br /&gt;&lt;strong&gt;But the &lt;font color="#ff0000"&gt;Guest Book&lt;/font&gt; is hard because it uses everything (web roles, queues, blobs, tables, ASP.NET) and then some.&lt;/strong&gt; &lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;We will build up incrementally. We’ll do &lt;strong&gt;Guestbook &lt;/strong&gt;later.&lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;I want to run through some walkthroughs (pun intended) and get you up and running. &lt;/span&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;ASP.NET and MVC Developers will be right at home&lt;/strong&gt; &lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;This demo is the simple scenario - static content to support browsers. You could have chosen an MVC approach. &lt;/span&gt;&lt;/p&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;A hosted service allows you to reserve a VM and host IIS as well as installing and running your web application.      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;You are essentially hosting your web site in a Microsoft Data Center. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;We are NOT using Azure Table storage in this example. We will in a future exercise.      &lt;br /&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;   &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4454.zhmifmr4_5F00_207BFF6B.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="zhmifmr4" border="0" alt="zhmifmr4" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0333.zhmifmr4_5F00_thumb_5F00_5FD9B2FB.jpg" width="500" height="407" /&gt;&lt;/a&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;The &lt;strong&gt;hello world&lt;/strong&gt; is important because it validates everything is working before you to to the more complex labs. It is very important to &lt;strong&gt;get things working early&lt;/strong&gt; on and not stampede directly to the complex labs. &lt;/span&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;In this section we will:      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Make sure you're tooling and SDKs are installed &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Download the &lt;strong&gt;Windows Azure Training Kit &lt;/strong&gt;&lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Understand the &lt;strong&gt;Hello World Demo &lt;/strong&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Exercise 2: Installing Tooling, Downloading the Windows Azure Training Kit&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;There are &lt;strong&gt;2 goals&lt;/strong&gt; here: &lt;strong&gt;(1) &lt;/strong&gt;make sure your dev tooling is good to go; &lt;strong&gt;(2) download &lt;/strong&gt;and &lt;strong&gt;start using &lt;/strong&gt;the almighty &lt;strong&gt;Windows Azure Platform Training Kit&lt;/strong&gt;. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 2: Task 1 - Install Visual Studio 2010 and related tooling&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Make sure you have &lt;strong&gt;Visual Studio 2010, Azure SDK&lt;/strong&gt; and &lt;strong&gt;related-tooling&lt;/strong&gt; installed &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;I've covered this extensively in the past. It is covered here.      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&lt;a href="http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/23/developing-windows-azure-cloud-based-applications-with-windows-8-what-you-need-and-how-to-get-there.aspx"&gt;http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/23/developing-windows-azure-cloud-based-applications-with-windows-8-what-you-need-and-how-to-get-there.aspx&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;      &lt;table style="border: 1px solid rgb(0, 0, 255); width: 600px;"&gt;&lt;tbody&gt;         &lt;tr&gt;           &lt;td style="width: 75px;"&gt;&lt;a href="-http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/23/developing-windows-azure-cloud-based-applications-with-windows-8-what-you-need-and-how-to-get-there.aspx"&gt;&lt;img style="border-width: 0px; display: inline;" title="hyperlink2" border="0" alt="hyperlink2" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4848.hyperlink2_5F00_4A7BFD93.png" width="79" longdesc="My post on getting setup" height="79" /&gt;&lt;/a&gt;&lt;/td&gt;            &lt;td style="width: 1px;"&gt;&amp;#160; &lt;/td&gt;            &lt;td&gt;             &lt;p style="color: rgb(204, 204, 221); font-family: arial, helvetica, sans-serif; font-weight: bold; margin-top: 10px; margin-bottom: 10px;"&gt;&lt;a title="My post on getting setup" href="-http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/23/developing-windows-azure-cloud-based-applications-with-windows-8-what-you-need-and-how-to-get-there.aspx"&gt;My post on getting setup&lt;/a&gt;&lt;/p&gt;           &lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 2: Task 2 - Installing Windows Azure Training Kit&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Let's get started by downloading the kit. I give very detailed instructions on how to setup your Windows Azure SDK and tooling here. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Downloading the &lt;strong&gt;Windows Azure Platform Training Toolkit&lt;/strong&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=8396"&gt;http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=8396&lt;/a&gt;          &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;" width="600"&gt;&lt;thead&gt;             &lt;tr&gt;               &lt;th style="padding: 5px 15px; height: 26px; text-align: left; color: rgb(255, 255, 255); font-size: 90%; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: blue; align: left;" scope="col"&gt;** Important Note ** &lt;/th&gt;             &lt;/tr&gt;           &lt;/thead&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: middle; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px; height: 26px; border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;There is no faster way or better way to learn Windows Azure. The Windows Azure Platform Training Kit is comprehensive and up to date. &lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;          &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2388.1a20q5te_5F00_29F4BDE1.jpg"&gt;&lt;img style="display: inline;" title="1a20q5te" alt="1a20q5te" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1738.1a20q5te_5F00_thumb_5F00_629F67EE.jpg" width="600" height="285" /&gt;&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;      &lt;br /&gt;      &lt;br /&gt;      &lt;table style="border: 1px solid rgb(0, 0, 255); width: 600px;"&gt;&lt;tbody&gt;         &lt;tr&gt;           &lt;td style="width: 75px;"&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=8396"&gt;&lt;img style="border-width: 0px; display: inline;" title="hyperlink2" border="0" alt="hyperlink2" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1321.hyperlink2_5F00_5E28E727.png" width="79" longdesc="Download the Windows Azure Platform Training Kit" height="79" /&gt;&lt;/a&gt;&lt;/td&gt;            &lt;td style="width: 1px;"&gt;&amp;#160; &lt;/td&gt;            &lt;td&gt;             &lt;p style="color: rgb(204, 204, 221); font-family: arial, helvetica, sans-serif; font-weight: bold; margin-top: 10px; margin-bottom: 10px;"&gt;&lt;a title="Download the Windows Azure Platform Training Kit" href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=8396"&gt;Download the Windows Azure Platform Training Kit&lt;/a&gt;&lt;/p&gt;           &lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 2: Task 3 - Accessing the Demos Page&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;This is the first part of the tutorial where we can find the Hello World application. This is an excellent first demo. It really is. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Open the folder &lt;strong&gt;c:\watk&lt;/strong&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;This is the &lt;strong&gt;default&lt;/strong&gt; installation location &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;The full path is &lt;strong&gt;C:\WATK\Demos.htm &lt;/strong&gt;          &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5037.3sqh1zuy_5F00_4FEA6E37.jpg"&gt;&lt;img style="display: inline;" title="3sqh1zuy" alt="3sqh1zuy" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8662.3sqh1zuy_5F00_thumb_5F00_0175DBCD.jpg" width="600" height="427" /&gt;&lt;/a&gt;          &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1212.ifknu0ux_5F00_60EE9C1A.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="ifknu0ux" border="0" alt="ifknu0ux" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2388.ifknu0ux_5F00_thumb_5F00_276B8C23.jpg" width="600" height="502" /&gt;&lt;/a&gt;          &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;" width="600"&gt;&lt;thead&gt;             &lt;tr&gt;               &lt;th style="padding: 5px 15px; height: 26px; text-align: left; color: rgb(255, 255, 255); font-size: 90%; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: blue; align: left;" scope="col"&gt;** Important Note ** &lt;/th&gt;             &lt;/tr&gt;           &lt;/thead&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: middle; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px; height: 26px; border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;The demos section of the kit is a great place to start. From Hello World to blobs, queues, tables, web roles, worker roles - it is a great starting point. &lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2308.u04jwcvm_5F00_06E44C71.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="u04jwcvm" border="0" alt="u04jwcvm" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8168.u04jwcvm_5F00_thumb_5F00_665D0CBE.jpg" width="500" height="195" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Navigate to the folder      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&lt;strong&gt;C:\WATK\Demos\HelloWindowsAzureVS2010&lt;/strong&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Open the following document      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Document Name = &lt;strong&gt;Demo Script - Hello Windows Azure.docx&lt;/strong&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;The purpose of this document      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Setup documentation to run your ASP.NET Application &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Step-by-step instructions &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Build, Debug, and Deploy simple Hello World      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;This document will highlight the important points &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1222.bi2akouw_5F00_4CF50984.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="bi2akouw" border="0" alt="bi2akouw" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8662.bi2akouw_5F00_thumb_5F00_1E9B83D7.jpg" width="366" height="188" /&gt;&lt;/a&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 2: Task 4 - Getting ready for the main event - the first tutorial&lt;/strong&gt;&lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Are you ready? This is where we are finally ready to &lt;strong&gt;write some code&lt;/strong&gt;. The preparation work is now done. &lt;/span&gt;    &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6102.z3aun1wz_5F00_1A250310.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="z3aun1wz" border="0" alt="z3aun1wz" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8171.z3aun1wz_5F00_thumb_5F00_3DDE2AAA.jpg" width="599" height="173" /&gt;&lt;/a&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Prepare to do all this:      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Create a &lt;strong&gt;new project&lt;/strong&gt; &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Add&lt;/strong&gt; a &lt;strong&gt;label&lt;/strong&gt; to it &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Set&lt;/strong&gt; the &lt;strong&gt;label&lt;/strong&gt; &lt;strong&gt;text&lt;/strong&gt; &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Change&lt;/strong&gt; the &lt;strong&gt;instance count &lt;/strong&gt;&lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Run&lt;/strong&gt; in &lt;strong&gt;emulator&lt;/strong&gt; &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Set a &lt;strong&gt;breakpoint&lt;/strong&gt; &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Hit breakpoint&lt;/strong&gt; while running in emulators &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;" width="600"&gt;&lt;thead&gt;     &lt;tr&gt;       &lt;th style="padding: 5px 15px; height: 26px; text-align: left; color: rgb(255, 255, 255); font-size: 90%; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: blue; align: left;" scope="col"&gt;** Important Note ** &lt;/th&gt;     &lt;/tr&gt;   &lt;/thead&gt;&lt;tbody&gt;     &lt;tr style="vertical-align: middle; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px; height: 26px; border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&lt;strong&gt;Instance Count&lt;/strong&gt; is what let's you scale. You can change the quantity of deployments of your cloud application just by changing this one number. &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;To programmatically find out number of instances running under a specific Role, you want to use &lt;strong&gt;Azure Service Management API&lt;/strong&gt;, provide your certificate and call this REST API method:       &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&lt;strong&gt;Windows Azure Service Management REST API Reference&lt;/strong&gt; &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee460799.aspx"&gt;http://msdn.microsoft.com/en-us/library/ee460799.aspx&lt;/a&gt; &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7673.2jkqtrdk_5F00_24762770.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="2jkqtrdk" border="0" alt="2jkqtrdk" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6683.2jkqtrdk_5F00_thumb_5F00_2409F47B.jpg" width="604" height="334" /&gt;&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You can change your &lt;strong&gt;storage accounts&lt;/strong&gt; and &lt;strong&gt;hosted services&lt;/strong&gt;, your &lt;strong&gt;service deployments&lt;/strong&gt;, and your &lt;strong&gt;affinity groups&lt;/strong&gt;      &lt;ol&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;All API operations are performed over SSL and mutually authenticated using X.509 v3 certificates &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;This is way beyond the scope of this &lt;strong&gt;Hello World &lt;/strong&gt;blog post. &lt;/li&gt; &lt;/ol&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Exercise 3: Running and Explaining Hello World - The best bits&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;This next section is about understanding the Hello World Step-by-step Walkthrough . &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 3: Task 1 - Creating the Hello Windows Azure Application &lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Here are the key skills that you will learn. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;How to create a new &lt;strong&gt;cloud&lt;/strong&gt; project &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;What is an &lt;strong&gt;ASP.NET Web Role&lt;/strong&gt;?       &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Understanding an &lt;strong&gt;ASP.NET Web Role &lt;/strong&gt;is crucial. &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;It provides the &lt;strong&gt;Web Service &lt;/strong&gt;or &lt;strong&gt;Web Application hosting&lt;/strong&gt;. &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Web Roles &lt;/strong&gt;are hosted inside of Internet Information Server. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;One &lt;strong&gt;Windows Azure Cloud Solution &lt;/strong&gt;has &lt;strong&gt;two&lt;/strong&gt; projects       &lt;br /&gt;      &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;" width="600"&gt;&lt;thead&gt;         &lt;tr&gt;           &lt;th style="padding: 5px 15px; height: 26px; text-align: left; color: rgb(255, 255, 255); font-size: 90%; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: blue; align: left;" scope="col"&gt;** Important Note ** &lt;/th&gt;         &lt;/tr&gt;       &lt;/thead&gt;&lt;tbody&gt;         &lt;tr style="vertical-align: middle; background-color: rgb(255, 255, 255);"&gt;           &lt;td style="padding: 5px; height: 26px; border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;Configuration is completely separate from your application code &lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Configuration Project &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;ASP.NET Web Project &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;How to use the &lt;strong&gt;toolbox&lt;/strong&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;To &lt;strong&gt;drag a control&lt;/strong&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Understanding the &lt;strong&gt;Page_Load&lt;/strong&gt; event       &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Writing code behind &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Understanding the configuration files      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;It represents the location where we can change the &lt;strong&gt;instance count&lt;/strong&gt; &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Changing the &lt;strong&gt;Instance Count&lt;/strong&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 3: Task 2 - The debugger and emulators&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Being able to use a debugger while developing cloud applications is essential. This section will illustrate some basic debugging techniques, such as setting and hitting breakpoints. You will also learn about the storage and compute emulators. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Knowing the callback address (http://127.0.0.1:81/) &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Understanding the &lt;strong&gt;Compute&lt;/strong&gt; and &lt;strong&gt;Storage Emulators&lt;/strong&gt; &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;How to &lt;strong&gt;set&lt;/strong&gt; a &lt;strong&gt;breakpoint&lt;/strong&gt; &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;How to &lt;strong&gt;hit&lt;/strong&gt; a &lt;strong&gt;breakpoint&lt;/strong&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Exercise 4: Deploying your application to a MS data center&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Now that you’ve created, edited and debugged your application locally, you’re ready to deploy it to the cloud. &lt;/span&gt;  &lt;br /&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;" width="600"&gt;&lt;thead&gt;     &lt;tr&gt;       &lt;th style="padding: 5px 15px; height: 26px; text-align: left; color: rgb(255, 255, 255); font-size: 90%; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: blue; align: left;" scope="col"&gt;** Important Note ** &lt;/th&gt;     &lt;/tr&gt;   &lt;/thead&gt;&lt;tbody&gt;     &lt;tr style="vertical-align: middle; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px; height: 26px; border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;A hosted service allows you to reserve a VM and host IIS as well as installing and running your web application. All this happens in a Microsoft Data Center.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 4: Task 1 - Packaging your application - Working with the Windows Azure Portal&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;The skills in this section are about getting your application up and running in a MS data center. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Creating a &lt;strong&gt;package&lt;/strong&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8171.qveuhdke_5F00_0382B4C9.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="qveuhdke" border="0" alt="qveuhdke" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0245.qveuhdke_5F00_thumb_5F00_6A1AB18E.jpg" width="342" height="243" /&gt;&lt;/a&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Your application &lt;strong&gt;assemblies&lt;/strong&gt; in one file &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;The &lt;strong&gt;configuration settings&lt;/strong&gt; in the other file &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Remembering the folder (&lt;strong&gt;output folder&lt;/strong&gt;)       &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;You'll need it later when using the portal &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Creating a &lt;strong&gt;New Hosted Service&lt;/strong&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3056.tlggiobs_5F00_3BC12BE1.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="tlggiobs" border="0" alt="tlggiobs" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3377.tlggiobs_5F00_thumb_5F00_225928A7.jpg" width="388" height="201" /&gt;&lt;/a&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&lt;strong&gt;Name&lt;/strong&gt; of service &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;URL&lt;/strong&gt; of service &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Region&lt;/strong&gt;          &lt;ul style="list-style-type: decimal;"&gt;           &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;Choose from numerous data centers throughout the world &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Viewing your application &lt;strong&gt;status&lt;/strong&gt; at the &lt;strong&gt;portal&lt;/strong&gt; &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Understanding the &lt;strong&gt;DNS name&lt;/strong&gt; &lt;/li&gt;    &lt;ol&gt;     &lt;li&gt;You will click on &lt;strong&gt;DNS Name&lt;/strong&gt; when the deployment is complete.         &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6507.qj4xfwe2_5F00_5B03D2B4.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="qj4xfwe2" border="0" alt="qj4xfwe2" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2476.qj4xfwe2_5F00_thumb_5F00_2180C2BD.jpg" width="306" height="364" /&gt;&lt;/a&gt;        &lt;br /&gt;        &lt;br /&gt;&lt;/li&gt;   &lt;/ol&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;     &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;" width="600"&gt;&lt;tbody&gt;         &lt;tr&gt;           &lt;th style="padding: 5px 15px; height: 26px; text-align: left; color: rgb(255, 255, 255); font-size: 90%; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: blue; align: left;" scope="col"&gt;** Important Note ** &lt;/th&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;tbody&gt;         &lt;tr style="vertical-align: middle; background-color: rgb(255, 255, 255);"&gt;           &lt;td style="padding: 5px; height: 26px; border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;You can have &lt;strong&gt;custom DNS name &lt;/strong&gt;in your hosted service.               &lt;br /&gt;              &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;                 &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;                   &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;You may not want what Azure provides&lt;/td&gt;                    &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;When you deploy your application to Windows Azure and move it to the production environment, Windows Azure provides a friendly DNS name so can access your application at a URL like http://aexpense.cloudapp.net. &lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;                   &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Your own custom URL&lt;/td&gt;                    &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;You will probably want to use your own custom URL like https://aexpense.adatumapps.com. &lt;/td&gt;                 &lt;/tr&gt;                  &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;                   &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;You may need certificates&lt;/td&gt;                    &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;You'll also notice that if you want to use HTTPS, you must install a certificate that matches the custom DNS name in your hosted service.&lt;/td&gt;                 &lt;/tr&gt;               &lt;/tbody&gt;&lt;/table&gt;           &lt;/td&gt;         &lt;/tr&gt;       &lt;/tbody&gt;&lt;/table&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Here is what the big picture goals are: &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;1.&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Use the Windows Azure Management Portal to create storage accounts and hosted service components&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;2.&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Deploy service component packages using the Windows Azure Management Portal user interface&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;3.&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Change configuration settings for a deployed application&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;4.&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Test deployments in a separate staging environment before deployment to final production&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;5.&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Secure your Windows Azure application with SSL&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;   &lt;br /&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Automating Deployment with PowerShell&lt;/strong&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;There may come a time where you want to automate deployment. This section gives a brief overview on doing so.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4540.tjbhpas4_5F00_0818BF83.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="tjbhpas4" border="0" alt="tjbhpas4" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5428.tjbhpas4_5F00_thumb_5F00_59BF39D5.jpg" width="500" height="125" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Windows Azure PowerShell Cmdlets&lt;/strong&gt;&lt;/p&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;a href="http://wappowershell.codeplex.com/"&gt;http://wappowershell.codeplex.com/&lt;/a&gt; &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;The Windows Azure Service Management PowerShell Cmdlets wrap the Windows Azure Service Management API. &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;These cmdlets make it simple to automate the deployment, upgrade, and scaling of your Windows Azure application. &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;By pipelining commands, you compose complex scripts that use the output of one command as the input to another. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;   &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;You can programmatically perform the deployment and upgrade of Windows Azure applications, change the configuration for a role, and set and manage your diagnostic configuration and diagnostic data &lt;/span&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You will need to generate a &lt;strong&gt;self-signed certificate&lt;/strong&gt; &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;To ensure that access to the &lt;strong&gt;Service Management API&lt;/strong&gt; is &lt;strong&gt;secure&lt;/strong&gt;, you must first&lt;strong&gt; associate a certificate with your subscription&lt;/strong&gt;. The &lt;strong&gt;management service&lt;/strong&gt; uses the certificate to authenticate requests. You can use a &lt;strong&gt;self-signed certificate&lt;/strong&gt; or one &lt;strong&gt;signed by a certification authority&lt;/strong&gt;. Any valid &lt;strong&gt;X.509 v3&lt;/strong&gt; is suitable as long as its key length is&lt;strong&gt; at least 2048 bits.&lt;/strong&gt;      &lt;ul style="list-style-type: decimal;"&gt;       &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&lt;strong&gt;Command to make certificate&lt;/strong&gt;          &lt;ul style="list-style-type: decimal;"&gt;           &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;makecert -r -pe -n &amp;quot;CN=AzureMgmt&amp;quot; -a sha1 -len 2048 -ss My &amp;quot;AzureMgmt.cer&amp;quot; &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;&lt;strong&gt;Deployment with PowerShell&lt;/strong&gt;          &lt;ul&gt;           &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em;"&gt;New-Deployment -serviceName &amp;lt;YOUR_SERVICE_NAME_LOWER_CASE&amp;gt; -subscriptionId &amp;lt;YOUR_SUBSCRIPTION_ID&amp;gt; -certificate (get-item cert:\CurrentUser\MY\&amp;lt;YOUR_CERTIFICATE_THUMBPRINT&amp;gt;) -slot staging –package &amp;lt;PACKAGE_LOCATION&amp;gt; -configuration &amp;lt;CONFIGURATION_LOCATION&amp;gt; -label &amp;quot;v2.0&amp;quot; –storageServiceName &amp;lt;YOUR_STORAGE_SERVICE_NAME_LOWER_CASE&amp;gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10297629" width="1" height="1"&gt;</description></item><item><title>Developing Windows Azure, Cloud-Based Applications With Windows 8-What you need and how to get there</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/23/developing-windows-azure-cloud-based-applications-with-windows-8-what-you-need-and-how-to-get-there.aspx</link><pubDate>Tue, 24 Apr 2012 04:28:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10296984</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10296984</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/23/developing-windows-azure-cloud-based-applications-with-windows-8-what-you-need-and-how-to-get-there.aspx#comments</comments><description>&lt;hr /&gt;&lt;span style="border-left-width: 0px; font-size: 1.4em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.1em; padding-right: 0px; border-top-width: 0px"&gt;&lt;strong&gt;Introduction – Cloud Development on Windows 8&lt;/strong&gt;&lt;/span&gt;   &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;I am now doing most, if not all my development on Windows 8. Don’t get me wrong I am a die-hard fan of Windows 7. I go weeks without rebooting – through airports, the back of a motorcycle. But now that Windows 8 is working so well, I’m just spending all my time there. Windows 8 feels like a brave new, re-imagined world, yet with some familiar, feel-at-home features that make the upgrade feel really smooth. Because I do a lot of presenting, I am hesitant to adopt Consumer Preview software. But I am perfectly at home in Windows 8 – even as I write this post.    &lt;br /&gt;    &lt;br /&gt;The &lt;strong&gt;convincing argument&lt;/strong&gt; was that I could easily run &lt;strong&gt;Visual Studio 2010&lt;/strong&gt; and &lt;strong&gt;Visual Studio 2011&lt;/strong&gt; at the &lt;strong&gt;same time,&lt;/strong&gt; on the &lt;strong&gt;same machine&lt;/strong&gt;. I've also got all my familiar databases and tooling as well.     &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;Windows 8 Metro and Windows Azure Developer Tooling on the same machine - delightful&lt;/strong&gt; &lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;Yes, you heard me right. It works great to run both Visual Studio 2010 and Visual Studio 2011 at the same time. I use Visual Studio 2010 to do the back-end Azure http servers. And I use Visual Studio 2011 to do the Windows 8 Metro client application. &lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;You can go back and forth between both environments, client and server. You can hit breakpoints in the server when a Windows 8 Metro Client makes a service request. &lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;Can you do it? Can Windows 8 be your only machine?&lt;/strong&gt;&lt;/span&gt;     &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;For me it is working out well. I haven't been hit with any obstacles that prevent me not to be a 100% on Windows 8. Some of my friends are running Macs with Windows 8 and simultaneously dual booting into MacOS.&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;I am about to show you a cloud project on Windows Azure that runs on Windows 8. I've even had multiple debugging sessions with both Visual Studio 2010 and Visual Studio 2011 running at the exact same time. &lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;Regarding the needed database support, SQL Server 2008 R2 installed just fine.     &lt;br /&gt;    &lt;br /&gt;My custom, hand-built utilities that I use every day came to the Windows 8 world without a single hitch. I am not going to bore you with the long list of things are that are going well.&lt;/span&gt;   &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;/span&gt;  &lt;hr /&gt;&lt;strong&gt;Task 1 - Migration Underway&lt;/strong&gt;   &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;My old projects have all opened, compiled, with little or no hassle. I have some low level API code in C++, even like keyboard hooks that ported right over. I also have some LiveWriter plugins. I've written that work great with LiveWriter on Windows 8. I am delighted at the level of compatibility. I personally see no reason to just be 100% on Windows 8. &lt;/span&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;   &lt;br /&gt;I focus on the cloud quite a bit so I obviously want to run my previous cloud projects on Windows 8. It turns out this is working great for me. My samples just work. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;   &lt;hr /&gt;&lt;strong&gt;Task 2 - Installing Visual Studio 2010/2011 and Windows 8&lt;/strong&gt; &lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;You can develop &lt;strong&gt;Windows Azure&lt;/strong&gt; applications on &lt;strong&gt;Windows 8. &lt;/strong&gt;But you will need to &lt;strong&gt;manually install&lt;/strong&gt; and configure your development environment. This means you cannot use the Web Platform installer to install all the &lt;strong&gt;Azure-related tooling&lt;/strong&gt;.&lt;/span&gt;     &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;First off, you will need to add &lt;strong&gt;Visual Studio 2010. &lt;/strong&gt;This is quite easy. I haven’t tried the Express versions, but my Visual Studio 2010 Ultimate works and I expect most, if not all, versions of Visual Studio should work.&lt;/span&gt;     &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;Visual Studio 20&lt;font color="#ff0000"&gt;11&lt;/font&gt;&lt;/strong&gt; does not yet support the &lt;strong&gt;Azure SDK&lt;/strong&gt; and &lt;strong&gt;tooling&lt;/strong&gt;. But &lt;strong&gt;Visual Studio 2010&lt;/strong&gt; works great, luckily. No learning curve there, things work just as you'd expect.&amp;#160; Here is how to get things started. First, there is the OS, which is Windows 8 and is the point of this post. Second, &lt;/span&gt;&lt;/span&gt;  &lt;ol style="border-left-width: 0px; list-style-type: decimal; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 2.8em; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;   &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Install &lt;strong&gt;Windows 8&lt;/strong&gt;       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;a href="http://windows.microsoft.com/en-US/windows-8/download"&gt;http://windows.microsoft.com/en-US/windows-8/download&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Make sure &lt;strong&gt;Visual Studio 2011&lt;/strong&gt; is downloaded and installed. You &lt;strong&gt;won’t use&lt;/strong&gt; Visual Studio 2011 for cloud development. You will use &lt;strong&gt;Visual Studio 2011&lt;/strong&gt; for &lt;strong&gt;Windows 8 Metro&lt;/strong&gt; application development.       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090703"&gt;http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090703&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Press the &lt;strong&gt;Windows logo key&lt;/strong&gt; to show the &lt;strong&gt;Start area&lt;/strong&gt; in the Windows shell. &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The &lt;strong&gt;Start Menu&lt;/strong&gt; will appear. &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Type in &lt;strong&gt;Control Panel&lt;/strong&gt; &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Type in &lt;strong&gt;Windows Features&lt;/strong&gt;       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Follow the directions in &lt;strong&gt;Task 4&lt;/strong&gt; to install the needed features &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Install &lt;strong&gt;Visual Studio 2010 &lt;/strong&gt;( Express versions available ). This is what you’ll use for cloud development. &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Install the &lt;strong&gt;Windows Azure SDK and Tooling&lt;/strong&gt;. It is &lt;strong&gt;&lt;font color="#ff0000"&gt;CRITICAL&lt;/font&gt;&lt;/strong&gt; you install in the order below.       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;32-bit:          &lt;ul style="list-style-type: decimal"&gt;           &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;WindowsAzureEmulator-x86.exe &lt;/li&gt;            &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;WindowsAzureSDK-x86.exe &lt;/li&gt;            &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;WindowsAzureLibsForNet-x86.msi &lt;/li&gt;            &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;WindowsAzureTools.VS100.exe &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;64-bit:          &lt;ul style="list-style-type: decimal"&gt;           &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;WindowsAzureEmulator-x64.exe &lt;/li&gt;            &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;WindowsAzureSDK-x64.exe &lt;/li&gt;            &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;WindowsAzureLibsForNet-x64.msi &lt;/li&gt;            &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;WindowsAzureTools.VS100.exe &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;hr /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;Task 3 - Activating the Appropriate IIS Features&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;The next task is to &lt;strong&gt;configure IIS&lt;/strong&gt; to run cloud applications. These are the settings that are &lt;strong&gt;required&lt;/strong&gt;. &lt;strong&gt;Task 4&lt;/strong&gt; will give you a visual representation.&lt;/span&gt;   &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-left-width: 0px; list-style-type: decimal; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 2.8em; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;   &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;.NET Framework 3.5 (includes .NET 2.0 and 3.0)      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Windows Communication Foundation HTTP Activation &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;.NET Framework 4.5 Advanced Services      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;ASP.NET 4.5 &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;WCF Services -&amp;gt;          &lt;ul style="list-style-type: decimal"&gt;           &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;HTTP Activation &lt;/li&gt;            &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;TCP Port Sharing &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Internet Information Services      &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Web Management Tools -&amp;gt; IIS Management Console &lt;/li&gt;        &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;World Wide Web Services -&amp;gt;          &lt;ul style="list-style-type: decimal"&gt;           &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Application Development Features -&amp;gt;              &lt;ul style="list-style-type: decimal"&gt;               &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;.NET Extensibility 3.5 &lt;/li&gt;                &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;NET Extensibility 4.5 &lt;/li&gt;                &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;ASP.NET 3.5 &lt;/li&gt;                &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;ASP.NET 4.5 &lt;/li&gt;                &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;ISAPI Extensions &lt;/li&gt;                &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;ISAPT Filters &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Common HTTP Features -&amp;gt;              &lt;ul style="list-style-type: decimal"&gt;               &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Default Document &lt;/li&gt;                &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Directory Browsing &lt;/li&gt;                &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Tracing &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;Security -&amp;gt; Request Filtering &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;Task 4- Visual Representation of Windows Features&lt;/strong&gt; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;The previous steps in Task 3 can be seen below. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1586.win8AzureIISFull_5F00_583991E1.png"&gt;&lt;img title="win8AzureIIS-Full" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="win8AzureIIS-Full" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6761.win8AzureIISFull_5F00_thumb_5F00_0C018833.png" width="381" height="1143" /&gt;&lt;/a&gt;   &lt;hr /&gt;&lt;span style="border-left-width: 0px; font-size: 1.4em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.1em; padding-right: 0px; border-top-width: 0px"&gt;&lt;strong&gt;Additional Resources&lt;/strong&gt;&amp;#160; &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;/span&gt;&lt;span style="border-left-width: 0px; font-size: 1.4em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.1em; padding-right: 0px; border-top-width: 0px"&gt;   &lt;hr /&gt;&lt;/span&gt;&lt;span style="border-left-width: 0px; font-size: 1.4em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.1em; padding-right: 0px; border-top-width: 0px"&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;strong&gt;Window Azure Toolkit for Windows 8&lt;/strong&gt; &lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;font size="3"&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;It is focused on leveraging &lt;strong&gt;push notifications&lt;/strong&gt; for &lt;strong&gt;Windows 8 Metro applications&lt;/strong&gt;. This means &lt;strong&gt;it doesn’t yet support all the typical features of the Azure SDK and related tooling&lt;/strong&gt;. As stated previously, you need to use Visual Studio 2010 for the traditional Azure cloud projects.&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="border-left-width: 0px; font-size: 1.4em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; background-repeat: no-repeat; color: rgb(25,98,151); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 50px 0px 0px; display: block; line-height: 1.1em; padding-right: 0px; border-top-width: 0px"&gt;&lt;font size="3"&gt;&lt;span style="border-left-width: 0px; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;  &lt;ol style="border-left-width: 0px; list-style-type: decimal; font-size: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; border-right-width: 0px; border-bottom-width: 0px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 2.8em; line-height: 2em; padding-right: 0.5em; border-top-width: 0px"&gt;   &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;It can be found here at &lt;strong&gt;CodePlex&lt;/strong&gt;.       &lt;ul style="list-style-type: decimal"&gt;       &lt;li style="font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;&lt;a href="http://watwindows8.codeplex.com/"&gt;http://watwindows8.codeplex.com/&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;It is focused on building a &lt;strong&gt;cloud service &lt;/strong&gt;to support rich &lt;strong&gt;Windows Metro style apps&lt;/strong&gt;. &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;The toolkit includes &lt;strong&gt;Visual Studio project templates &lt;/strong&gt;for a sample &lt;strong&gt;Metro style app &lt;/strong&gt;and a &lt;strong&gt;Windows Azure cloud project&lt;/strong&gt;. &lt;/li&gt;    &lt;li style="list-style-type: decimal; font-size: 1em; padding-bottom: 0px; padding-left: 0px; margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px"&gt;It is designed to accelerate development so that developers can start &lt;strong&gt;enabling Windows 8 features&lt;/strong&gt;, such as &lt;strong&gt;push notifications&lt;/strong&gt;, for their app with minimal time and experience. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;   &lt;br /&gt;The following links should help you find what you need.     &lt;br /&gt;&lt;/p&gt;  &lt;table style="font-size: 1em; border-top: medium none; font-family: arial, helvetica, sans-serif; border-right: #666666 1px solid; vertical-align: top; border-collapse: collapse; border-bottom: #666666 1px solid; color: #000; text-align: left; left: 0px; border-left: #666666 1px solid; line-height: 19px; margin-right: 0px"&gt;&lt;tbody&gt;     &lt;tr style="font-size: 1em; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #ebf3ff; margin-right: 0px"&gt;       &lt;td style="font-size: 1em; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;Download center page for Windows Azure SDK - &lt;strong&gt;November 2011            &lt;br /&gt;&lt;/strong&gt;&lt;font color="#ff0000"&gt;(follow the exact order as discussed above)&lt;/font&gt;&lt;/td&gt;        &lt;td style="font-size: 1em; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=28045#" target="_blank"&gt;http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=28045#&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="font-size: 1em; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #ffffff; margin-right: 0px"&gt;       &lt;td style="font-size: 1em; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;SQL Server 2008 R2 Express with SP1&lt;/td&gt;        &lt;td style="font-size: 1em; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?id=26729#" target="_blank"&gt;http://www.microsoft.com/download/en/details.aspx?id=26729#&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="font-size: 1em; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #ebf3ff; margin-right: 0px"&gt;       &lt;td style="font-size: 1em; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;Windows Azure online forums&lt;/td&gt;        &lt;td style="font-size: 1em; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;&lt;a href="http://www.windowsazure.com/en-us/support/forums/#" target="_blank"&gt;http://www.windowsazure.com/en-us/support/forums/#&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="font-size: 1em; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #ffffff; margin-right: 0px"&gt;       &lt;td style="font-size: 1em; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;Windows 8 download&lt;/td&gt;        &lt;td style="font-size: 1em; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;&lt;a href="http://windows.microsoft.com/en-US/windows-8/download" target="_blank"&gt;http://windows.microsoft.com/en-US/windows-8/download&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="font-size: 1em; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #ebf3ff; margin-right: 0px"&gt;       &lt;td style="font-size: 1em; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;Visual Studio 2011&lt;/td&gt;        &lt;td style="font-size: 1em; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090703" target="_blank"&gt;http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090703&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="font-size: 1em; font-family: arial, helvetica, sans-serif; vertical-align: top; text-align: left; left: 0px; line-height: 19px; background-color: #ffffff; margin-right: 0px"&gt;       &lt;td style="font-size: 1em; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;More detailed directions&lt;/td&gt;        &lt;td style="font-size: 1em; border-top: #000000 1px solid; font-family: arial, helvetica, sans-serif; vertical-align: top; padding-bottom: 5px; text-align: left; padding-top: 5px; padding-left: 15px; left: 0px; border-left: #000000 1px solid; line-height: 19px; padding-right: 15px; margin-right: 0px"&gt;&lt;a href="http://www.windowsazure.com/en-us/develop/net/other-resources/windows-azure-on-windows-8/" target="_blank"&gt;http://www.windowsazure.com/en-us/develop/net/other-resources/windows-azure-on-windows-8/&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10296984" width="1" height="1"&gt;</description></item><item><title>Windows 8 Developer Event–April 23rd, Los Angeles</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/20/windows-8-developer-event-april-23rd-los-angeles.aspx</link><pubDate>Sat, 21 Apr 2012 01:26:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10296023</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10296023</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/20/windows-8-developer-event-april-23rd-los-angeles.aspx#comments</comments><description>&lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Windows 8 Developer Event&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em;"&gt;This is Windows re-imagined. This event is targeted for developers.&lt;/span&gt;  &lt;br /&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; &lt;strong&gt;It is about Metro&lt;/strong&gt;&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Learn everything you need to start building Metro-style apps for Windows today at our free, full-day Windows Developer Event.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; &lt;strong&gt;Visual Studio (HTML5, JavaScript XAML, C#, C/C++)&lt;/strong&gt;&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; We’ll show you how to use Visual Studio to code fast, fluid, immersive and beautiful Metro-style applications in HTML5/JavaScript, XAML/C# and C/C++. Your investments in these languages carry forward, making Windows a no-compromise platform for developers.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; &lt;strong&gt;Live tiles, deep links, contract&lt;/strong&gt;&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Whatever language you choose, your app gets deep integration with the Windows shell, including notifications, live tiles, deep links, and contracts with other apps. And now you can build once and support all Windows customers, no matter what type of PC they have—from tablets to laptops to convertibles to desktops.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;Registration – 4/23 – Los Angeles&lt;/strong&gt;&lt;/p&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Downtown LA.&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Registration Link&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032508898&amp;amp;Culture=en-US" target="_blank"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032508898&amp;amp;Culture=en-US&lt;/a&gt;          &lt;br /&gt;          &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="wzfkcsdk" border="0" alt="wzfkcsdk" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3630.wzfkcsdk_5F00_4F418C43.jpg" width="346" height="337" /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10296023" width="1" height="1"&gt;</description></item><item><title>Make the World a Better Place and Help Young Entrepreneurs - Vote in Imagine Cup</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/16/make-the-world-a-better-place-and-help-young-entrepreneurs-vote-in-imagine-cup.aspx</link><pubDate>Mon, 16 Apr 2012 21:02:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10294250</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10294250</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/16/make-the-world-a-better-place-and-help-young-entrepreneurs-vote-in-imagine-cup.aspx#comments</comments><description>&lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Vote Today, Help a student make a difference&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Imagine a world where technology helps solve the toughest problems.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;We asked students from all over the world to come up with innovative uses of technology that would make the world a better place. They stepped up to the challenge, and the Imagine Cup US 2012 competition was on!&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;table style="border: 1px solid rgb(0, 0, 255); width: 600px;"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td style="width: 75px;"&gt;&lt;a href="https://apps.facebook.com/microsoftimaginecup"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="hyperlink2" border="0" alt="hyperlink2" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4774.hyperlink2_5F00_349BFCAF.png" width="75" longdesc="Imagine Cup 2012" height="75" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td style="width: 1px;"&gt;&amp;#160; &lt;/td&gt;        &lt;td&gt;         &lt;p style="color: rgb(204, 204, 221); font-family: arial, helvetica, sans-serif; font-weight: bold; margin-top: 10px; margin-bottom: 10px;"&gt;&lt;a title="Imagine Cup 2012" href="https://apps.facebook.com/microsoftimaginecup"&gt;Imagine Cup 2012&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;table style="border: 1px solid rgb(0, 0, 255); width: 600px;"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td style="width: 75px;"&gt;&lt;a href="https://apps.facebook.com/microsoftimaginecup"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="hyperlink2" border="0" alt="hyperlink2" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2055.hyperlink2_5F00_35CC5BC2.png" width="75" longdesc="Vote Now" height="75" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td style="width: 1px;"&gt;&amp;#160; &lt;/td&gt;        &lt;td&gt;         &lt;p style="color: rgb(204, 204, 221); font-family: arial, helvetica, sans-serif; font-weight: bold; margin-top: 10px; margin-bottom: 10px;"&gt;&lt;a title="Vote Now" href="https://apps.facebook.com/microsoftimaginecup"&gt;Vote Now&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;br /&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="wlcazdsh" border="0" alt="wlcazdsh" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7801.wlcazdsh_5F00_2C679303.jpg" width="808" height="642" /&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;A Global Competition that needs your vote&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Imagine Cup is a global technology competition, enabling students worldwide to use technology to transform the world we live in. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Every year, Imagine Cup inspires eager students to shine, developing skills that will power their futures, and applying what they have learned to make a positive impact in the world and build a brighter future.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Last year, over 325,000 students participated in Imagine Cup. Today, 22 teams from across the country have made it to the Imagine Cup US finals, developing solutions and providing awareness to issues that address environmental stewardship, the worldwide obesity epidemic, and the plight of children in war-torn Africa.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Now it’s up to you&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;These teams need your votes to win the Imagine Cup People’s Choice award. The team with the most votes by May 19, 2012 will travel to the Imagine Cup Worldwide Finals in Sydney, Australia this July. Vote now!&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Your vote is powerful. By helping select the Imagine Cup People’s Choice winner, you’ll not only be raising awareness for critical social issues, you’ll also be supporting the future of technology innovation here in the US.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;And of course there’s something in it for you, too. Every time you vote, you qualify to win prizes like a laptop, an Xbox, or a Windows Phone!&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Visit the Imagine Cup US Facebook page to check out our US finalists and vote for your favorite—it’s fast and easy. And remember, the more often you vote, the more often you can win, so stop by every day!&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;table style="border: 1px solid rgb(0, 0, 255); width: 600px;"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td style="width: 75px;"&gt;&lt;a href="https://apps.facebook.com/microsoftimaginecup"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="hyperlink2" border="0" alt="hyperlink2" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1385.hyperlink2_5F00_0F4A2CDD.png" width="75" longdesc="Visit on Facebook" height="75" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td style="width: 1px;"&gt;&amp;#160; &lt;/td&gt;        &lt;td&gt;         &lt;p style="color: rgb(204, 204, 221); font-family: arial, helvetica, sans-serif; font-weight: bold; margin-top: 10px; margin-bottom: 10px;"&gt;&lt;a title="Visit on Facebook" href="https://apps.facebook.com/microsoftimaginecup"&gt;Visit on Facebook&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10294250" width="1" height="1"&gt;</description></item><item><title>How To Build Cloud-Based, Asynchronous, Scalable Web Applications With Near Real-Time Persistent Long-Running Connections With SignalR</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/09/how-to-build-cloud-based-asynchronous-scalable-web-applications-with-near-real-time-persistent-long-running-connections-with-signalr.aspx</link><pubDate>Mon, 09 Apr 2012 19:09:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10291993</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10291993</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/09/how-to-build-cloud-based-asynchronous-scalable-web-applications-with-near-real-time-persistent-long-running-connections-with-signalr.aspx#comments</comments><description>&lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Introducing SignalR&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;First of all, thank you to David Fowler and Damian Edwards for creating SignalR and providing a demo here: &lt;a href="http://channel9.msdn.com/Shows/Web+Camps+TV/Damian-Edwards-and-David-Fowler-Demonstrate-SignalR" target="_blank"&gt;http://channel9.msdn.com/Shows/Web+Camps+TV/Damian-Edwards-and-David-Fowler-Demonstrate-SignalR&lt;/a&gt;. SignalR is a new technology from Microsoft that makes long-running interactions between web client and web server practical and scalable. SignalR is a framework available on GitHub (https://github.com/SignalR/SignalR) that makes it easy to build asynchronous scalable web applications with real-time persistent long-running connections. A number of technical innovations in recent years has paved the way to create SignalR. If you talk to its creators, David Fowler and Damian Edwards, they will tell you that SignalR would have been too challenging a few years ago.     &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="blsmrlvv" border="0" alt="blsmrlvv" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8103.blsmrlvv_5F00_28241B4F.jpg" width="432" height="440" /&gt;    &lt;br /&gt;    &lt;br /&gt;    &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;     &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Click&lt;/strong&gt; on the link twice         &lt;ul style="list-style-type: disc;"&gt;         &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;This will open up two instances&lt;/li&gt;          &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;You can even use different browsers&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Move the grey rectangle with the mouse        &lt;ul style="list-style-type: disc;"&gt;         &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;You should see both rectangles move&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;   &lt;/ol&gt;    &lt;br /&gt;    &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;       &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Try it out (click twice)&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://signalrincloud.cloudapp.net/Moveshape.htm" target="_blank"&gt;http://signalrincloud.cloudapp.net/Moveshape.htm&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;br /&gt;Writing multi-threaded programs was just too difficult until the Task Parallel Library in the Microsoft .NET Framework 4 was introduced. Also, the development of jQuery makes it possible to write JavaScript once and deploy it on Firefox, Internet Explorer, Safari, Opera, and Chrome. The convergence of various technologies has opened the door for the technical feasibility of creating and using SignalR.&lt;/span&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Building and Deploying to the cloud&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Even if SignalR can support 100,000’s of connections on a single server, there may come a time where additional scale is needed. Windows Azure is a cloud offering from Microsoft that makes hosting a SignalR application easy to deploy and scale. I will demonstrate how easy it is to build a SignalR application and deploy it to the cloud. I am assuming you’ve installed all the necessary Azure-related tooling and SDKs. I discuss this here: &lt;/span&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Configuring your environment&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/27/microsoft-azure-cloud-devcamps-if-you-can-t-make-it-in-person.aspx. " target="_blank"&gt;http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/27/microsoft-azure-cloud-devcamps-if-you-can-t-make-it-in-person.aspx. &lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Let’s discuss how we’d implement the application in Figure 1, which allows one browser to broadcast a drag operation to other browsers. This means that if a user drags a shape in one browser, all other browsers will see the shape move on their own browser. If Browser #1 moves the grey shape, the shape will automatically move in Browser #2.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="0nmjntnq" border="0" alt="0nmjntnq" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3223.0nmjntnq_5F00_274BB565.jpg" width="480" height="330" /&gt;  &lt;br /&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Exercise 1: The high level steps to create a SignalR application and hosting it in the cloud include:&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 1. &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Use Visual Studio 2010 to create a new Cloud project.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 2. &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Add an Asp.Net Web Role to the project. This will be the container for our web application.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 3. &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Use NuGet to add the needed SignalR assemblies and references. You will also add some jQuery JavaScript modules with NuGet.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 4. &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Create a server-side class the inherits from the SignalR intrinsic Hub. This is the server-side code that listens to Browser #1 and transmits the event to Browser #2.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 5. &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Create the client-side code, which is effectively some JavaScript and a web page. &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 6. &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Go to the Windows Azure Management Portal and create a hosted service and a storage account. &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 7. &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Package up our project (Steps 1 – 4) and deploy to Windows Azure.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 8. &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Tell Windows Azure how many running instances you need (this is the elastic scale part). It is also adjustable after deployment.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 9. &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Done! &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;Here is what the Visual Studio 2010 solution looks like when it is complete.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="z13oc0cw" border="0" alt="z13oc0cw" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7024.z13oc0cw_5F00_629F1B23.jpg" width="327" height="391" /&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;I will demonstrate how easy it is to build a SignalR application and deploy it to the cloud. I am assuming you’ve installed all the necessary Azure-related tooling and SDKs. I discuss this here: &lt;a href="http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/27/microsoft-azure-cloud-devcamps-if-you-can-t-make-it-in-person.aspx." target="_blank"&gt;How to Install the Needed Tooling&lt;/a&gt;.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;The 3 Key files that you will add to the Visual Studio Solution are:&lt;/span&gt;  &lt;br /&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;thead&gt;     &lt;tr&gt;       &lt;th style="padding: 5px 15px; left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: silver; align: left;" scope="col"&gt; Module &lt;/th&gt;        &lt;th style="padding: 5px 15px; left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; background-color: silver; align: left;" scope="col"&gt; Description &lt;/th&gt;     &lt;/tr&gt;   &lt;/thead&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;MoveShape.cs&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; The server side SignalR file that acts as a hub or central gateway to broadcast jQuery calls. This code is what listens to one browser and forwards user actions to other browsers.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;MoveShape.js&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; The JavaScript in the browser that gets called through the SignalR back-end server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;MoveShape.htm&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; The web page where all the action happens. This is where the user drags a shape and the other users see the shape move on their own browsers.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;tfoot&gt;     &lt;tr style="background-color: silver;"&gt;       &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tfoot&gt;&lt;/table&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 1 - Create a new cloud project. &lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Create a new &lt;strong&gt;cloud&lt;/strong&gt; project.       &lt;ul style="list-style-type: disc;"&gt;       &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Start Visual Studio as administrator and select &lt;strong&gt;File, New Project.&lt;/strong&gt;&lt;/li&gt;       &lt;img style="border: 0px currentcolor; width: 500px; display: inline; background-image: none;" title="ph5j2wy1" border="0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3618.ph5j2wy1_5F00_5B13ABB6.jpg" /&gt;        &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;In the left template pane in the New Project dialog, select Cloud, then provide a Name and Location.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Double-click &lt;strong&gt;ASP.NET Web Role&lt;/strong&gt;.       &lt;ul style="list-style-type: disc;"&gt;       &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;You can also hit the &lt;strong&gt;“&amp;gt;”&lt;/strong&gt; button between the two panes.&lt;/li&gt;     &lt;/ul&gt;     &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="lejgabn4" border="0" alt="lejgabn4" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2046.lejgabn4_5F00_615A8244.jpg" width="600" /&gt;&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Rename&lt;/strong&gt; web role to &lt;strong&gt;CloudSignalRSample_WebRole&lt;/strong&gt;.       &lt;ul style="list-style-type: disc;"&gt;       &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;This is not required but keeps the code better organized.&lt;/li&gt;       &lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="yrct3eeq" border="0" alt="yrct3eeq" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1641.yrct3eeq_5F00_797DEC9F.jpg" width="600" /&gt;&lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;   &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 2 - Use NuGet to Install SignalR&lt;/strong&gt;&lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;NuGet is probably the easiest way to work with SignalR. &lt;/span&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;It allows you to easily download the SignalR assemblies, and add some SignalR sample source code to your project. It&lt;/span&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt; also adds the needed references. &lt;/span&gt;&lt;/p&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;If you haven’t done this previously, &lt;strong&gt;enabling NuGet&lt;/strong&gt; is the first step and can be done from the &lt;strong&gt;Tools&lt;/strong&gt; menu.       &lt;ul style="list-style-type: disc;"&gt;       &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Select &lt;strong&gt;Extension Manager&lt;/strong&gt;. NuGet is useful for a variety of technologies, not just SignalR.&lt;/li&gt;       &lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="lti00rq1" border="0" alt="lti00rq1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3617.lti00rq1_5F00_31BC63B8.jpg" width="600" /&gt;&lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Selet &lt;strong&gt;NuGetPackage Manager&lt;/strong&gt; and choose &lt;strong&gt;Download&lt;/strong&gt;.&lt;/li&gt;   &lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="qjpmz5nb" border="0" alt="qjpmz5nb" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7002.qjpmz5nb_5F00_2311B7D3.jpg" width="600" /&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Once NuGet is installed, we can begin to install SignalR.&lt;/li&gt;   &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="sraej51c" border="0" alt="sraej51c" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7713.sraej51c_5F00_65CE7FB2.jpg" width="407" height="389" /&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Selecting the first of two &lt;strong&gt;SignalR packages&lt;/strong&gt;. Be sure to install these two:       &lt;ul style="list-style-type: disc;"&gt;       &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;SignalR.Js&lt;/li&gt;        &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;SignalR.Hosting.AspNet&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;   &lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="c4nrc225" border="0" alt="c4nrc225" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2630.c4nrc225_5F00_612AD284.jpg" width="624" height="328" /&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Install the package &lt;strong&gt;SignalR.Hosting.AspNet&lt;/strong&gt;&lt;/li&gt;   &lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="cmxw11lc" border="0" alt="cmxw11lc" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4375.cmxw11lc_5F00_40375FDD.jpg" width="624" height="328" /&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Note that various &lt;strong&gt;references &lt;/strong&gt;have been added to reflect the &lt;strong&gt;SignalR packages&lt;/strong&gt; just installed.&lt;/li&gt;   &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="sxmsosb5" border="0" alt="sxmsosb5" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0160.sxmsosb5_5F00_7F28E078.jpg" width="356" height="377" /&gt;&lt;/ol&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 3 – Adding the server and client side code&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;It is now time to add the 3 files discussed previously: (1) MoveShape.cs; (2) MoveShape.js; (3) MoveShape.htm. The first of these three files is the server side. It will broadcast drag events sent by the client browser and forward to other browser clients.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;The last 2 of the 3 files are the client implementations. The JavaScript is written to send drag events to the server. The JavaScript will also move shape objects in the htm page for drag events sent by the server.&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Right click on the &lt;strong&gt;web role&lt;/strong&gt; and select &lt;strong&gt;Add, New Item.&lt;/strong&gt;&lt;/li&gt;   &lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="lldc32at" border="0" alt="lldc32at" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2046.lldc32at_5F00_1A61397A.jpg" width="624" height="250" /&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Select &lt;strong&gt;Class&lt;/strong&gt; and &lt;strong&gt;name&lt;/strong&gt; the file &lt;strong&gt;MoveShape.cs.&lt;/strong&gt;&lt;/li&gt;   &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="tsc31khi" border="0" alt="tsc31khi" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5265.tsc31khi_5F00_5723D3CD.jpg" width="539" height="303" /&gt;    &lt;br /&gt;    &lt;br /&gt;    &lt;hr /&gt;&lt;strong&gt;MoveShape.cs&lt;/strong&gt;    &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Collections.Generic;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Linq;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Web;

&lt;span style="color: green;"&gt;// Add reference
&lt;/span&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;SignalR.Hubs;
&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;CloudSignalRSample_WebRole
{
    &lt;span style="color: green;"&gt;// Derive from Hub, which is a server-side class
    // and a client side proxy.
    &lt;/span&gt;[&lt;span style="color: rgb(43, 145, 175);"&gt;HubName&lt;/span&gt;(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;moveShape&amp;quot;&lt;/span&gt;)]  &lt;span style="color: green;"&gt;// moveShape is the name used in the Javascript
    &lt;/span&gt;&lt;span style="color: blue;"&gt;public class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;MoveShapeHub &lt;/span&gt;: &lt;span style="color: rgb(43, 145, 175);"&gt;Hub
    &lt;/span&gt;{
        &lt;span style="color: blue;"&gt;public void &lt;/span&gt;MoveShape(&lt;span style="color: blue;"&gt;int &lt;/span&gt;x, &lt;span style="color: blue;"&gt;int &lt;/span&gt;y)
        {
  &lt;/pre&gt;

  &lt;pre class="code"&gt; &lt;font color="#008000"&gt;&lt;strong&gt;           // Broadcast drag event to other browsers&lt;/strong&gt;&lt;/font&gt;&lt;/pre&gt;

  &lt;pre class="code"&gt;            Clients.shapeMoved(Context.ConnectionId, x, y);

            &lt;span style="color: green;"&gt;// Simple diagnostics for debugging
            &lt;/span&gt;System.Diagnostics.&lt;span style="color: rgb(43, 145, 175);"&gt;Debug&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;x = &amp;quot; &lt;/span&gt;+ x + &lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;, y = &amp;quot; &lt;/span&gt;+ y);
        }
    }
}
  &lt;/pre&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Use NuGet to add some jQuery code to the project. 
    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Right click on &lt;strong&gt;References&lt;/strong&gt; and choose &lt;strong&gt;Manage NuGet Packages&lt;/strong&gt;.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="fttnize5" border="0" alt="fttnize5" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4505.fttnize5_5F00_4B8E168E.jpg" width="430" height="353" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Select the NuGet Package called jQuery UI (Combined Library).&lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="5ki4w1ba" border="0" alt="5ki4w1ba" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0576.5ki4w1ba_5F00_10B8CB44.jpg" width="624" height="382" /&gt;

  &lt;br /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Note that the following scripts that have been added.&lt;/li&gt;
  &lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="cvkhriqc" border="0" alt="cvkhriqc" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6837.cvkhriqc_5F00_25E6D0EC.jpg" width="281" height="286" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Right click&lt;/strong&gt; on the web role and select&lt;strong&gt; Add, New Item.&lt;/strong&gt;

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;We will add MoveShape.js.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;This represents the jQuery written to send drag events to the server.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;MoveShape.js will also move shape objects in the web page for drag events sent by the SignalR server.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="sjtobvoj" border="0" alt="sjtobvoj" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5270.sjtobvoj_5F00_1259714B.jpg" width="624" height="342" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Select &lt;strong&gt;Web&lt;/strong&gt; in the &lt;strong&gt;Templates&lt;/strong&gt; pane and the &lt;strong&gt;Jscript&lt;/strong&gt; File for the file type. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Provide the &lt;strong&gt;name&lt;/strong&gt; MoveShape.js&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="uixpss3c" border="0" alt="uixpss3c" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0167.uixpss3c_5F00_586A2E5E.jpg" width="624" height="351" /&gt;

  &lt;br /&gt;

  &lt;br /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Paste&lt;/strong&gt; in the following code into MoveShape.js.&lt;/li&gt;

  &lt;hr /&gt;&lt;strong&gt;MoveShape.js&lt;/strong&gt;

  &lt;pre class="code"&gt;&lt;span style="color: rgb(0, 100, 0);"&gt;/// &amp;lt;reference path=&amp;quot;Scripts/jquery-1.6.4.js&amp;quot; /&amp;gt;
/// &amp;lt;reference path=&amp;quot;Scripts/jquery.signalR.js&amp;quot; /&amp;gt;
/// &amp;lt;reference path=&amp;quot;Scripts/jquery-ui-1.8.18.js&amp;quot; /&amp;gt;

&lt;/span&gt;$(&lt;span style="color: blue;"&gt;function &lt;/span&gt;() {
    &lt;span style="color: rgb(0, 100, 0);"&gt;// Get a refeerence to the server-side moveShape() class.
    &lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;hub = $.connection.moveShape,
    &lt;span style="color: rgb(0, 100, 0);"&gt;// Get a reference to the shape div in the html
    &lt;/span&gt;$shape = $(&lt;span style="color: maroon;"&gt;&amp;quot;#shape&amp;quot;&lt;/span&gt;);
    &lt;span style="color: rgb(0, 100, 0);"&gt;// Use extend to move the shape object (if we are not the sender)
    &lt;/span&gt;$.extend(hub, {

        &lt;span style="color: rgb(0, 100, 0);"&gt;// Use css to move the shape object

        &lt;/span&gt;shapeMoved: &lt;span style="color: blue;"&gt;function &lt;/span&gt;(cid, x, y) {
            &lt;span style="color: blue;"&gt;if &lt;/span&gt;($.connection.hub.id !== cid) {
                $shape.css({ left: x, top: y });
                $(&lt;span style="color: maroon;"&gt;&amp;quot;p:last&amp;quot;&lt;/span&gt;).text(&lt;span style="color: maroon;"&gt;&amp;quot;left: &amp;quot; &lt;/span&gt;+ x + &lt;span style="color: maroon;"&gt;&amp;quot;, top: &amp;quot; &lt;/span&gt;+ y);
            }
        }
    });
    &lt;span style="color: rgb(0, 100, 0);"&gt;// Wire up the draggable behavior (when hub is done starting)
    // &amp;quot;done&amp;quot; is a jquery deferred method
    &lt;/span&gt;$.connection.hub.start().done(&lt;span style="color: blue;"&gt;function &lt;/span&gt;() {
        $shape.draggable({
            &lt;span style="color: rgb(0, 100, 0);"&gt;// Implement draggable effect for jquery
            &lt;/span&gt;drag: &lt;span style="color: blue;"&gt;function &lt;/span&gt;() {
                &lt;span style="color: rgb(0, 100, 0);"&gt;// Tell the server that the shape was just dragged
                &lt;/span&gt;hub.moveShape(&lt;span style="color: blue;"&gt;this&lt;/span&gt;.offsetLeft, &lt;span style="color: blue;"&gt;this&lt;/span&gt;.offsetTop);
            }
        });
    })
});

  &lt;/pre&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Right click&lt;/strong&gt; on the &lt;strong&gt;web role&lt;/strong&gt; and select &lt;strong&gt;Add, New Item&lt;/strong&gt;. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;We will add MoveShape.htm.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;This represents the primary web page the user will interact with.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;It contains the shape that the user will drag.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;It leverages MoveShape.js, which we just wrote.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="qazsjccf" border="0" alt="qazsjccf" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8081.qazsjccf_5F00_708D98B9.jpg" width="624" height="319" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Select &lt;strong&gt;Web&lt;/strong&gt; in the &lt;strong&gt;Templates&lt;/strong&gt; pane and the &lt;strong&gt;HTML Page&lt;/strong&gt; for the file type. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Provide the &lt;strong&gt;name&lt;/strong&gt; MoveShape.htm&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="etb2nqos" border="0" alt="etb2nqos" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6036.etb2nqos_5F00_56B9628A.jpg" width="624" height="322" /&gt;

  &lt;hr /&gt;&lt;strong&gt;MoveShape.htm&lt;/strong&gt;

  &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;&amp;lt;!&lt;/span&gt;&lt;span style="color: maroon;"&gt;DOCTYPE &lt;/span&gt;&lt;span style="color: red;"&gt;html &lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;html &lt;/span&gt;&lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;head&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;title&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;title&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;style &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;text/css&amp;quot;&amp;gt;
        &lt;/span&gt;&lt;span style="color: maroon;"&gt;#shape
        &lt;/span&gt;{   
            &lt;span style="color: red;"&gt;width&lt;/span&gt;: &lt;span style="color: blue;"&gt;200px&lt;/span&gt;;
            &lt;span style="color: red;"&gt;height&lt;/span&gt;: &lt;span style="color: blue;"&gt;200px&lt;/span&gt;;
            &lt;span style="color: red;"&gt;background&lt;/span&gt;: &lt;span style="color: blue;"&gt;#ccc&lt;/span&gt;;
            &lt;span style="color: red;"&gt;border&lt;/span&gt;: &lt;span style="color: blue;"&gt;2px solid #333&lt;/span&gt;;
            
        }
        &lt;span style="color: maroon;"&gt;p &lt;/span&gt;{ &lt;span style="color: red;"&gt;margin-left&lt;/span&gt;:&lt;span style="color: blue;"&gt;10px&lt;/span&gt;; }
    &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;style&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;head&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div &lt;/span&gt;&lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;shape&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;script &lt;/span&gt;&lt;span style="color: red;"&gt;src&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;../Scripts/jquery-1.6.4.js&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;script &lt;/span&gt;&lt;span style="color: red;"&gt;src&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;../Scripts/jquery-ui-1.8.18.js&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;script &lt;/span&gt;&lt;span style="color: red;"&gt;src&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;../Scripts/jquery.signalR.js&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;script &lt;/span&gt;&lt;span style="color: red;"&gt;src&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;/signalr/hubs&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;script &lt;/span&gt;&lt;span style="color: red;"&gt;src&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;MoveShape.js&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;  &amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;p&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Hello&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;p&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;p&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;p&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;html&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;

&lt;/span&gt;&lt;/pre&gt;
&lt;/ol&gt;
&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 4 – Testing the application&lt;/strong&gt;&lt;/span&gt;

&lt;br /&gt;

&lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;This project will run in the Compute emulator (because this is a cloud project). Before we run this project,let’s set the startup page to be MoveShape.htm. &lt;/span&gt;

&lt;br /&gt;

&lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;
  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Select the &lt;strong&gt;Debug, Start Debugging&lt;/strong&gt; menu. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;This will start the Compute and Storage Emulators (the come when you install the Azure SDK and related tooling).&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="ghkqrnce" border="0" alt="ghkqrnce" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5367.ghkqrnce_5F00_55E0FCA0.jpg" width="624" height="95" /&gt;&lt;/ol&gt;

&lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="owppiivx" border="0" alt="owppiivx" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2211.owppiivx_5F00_3559BCEE.jpg" width="337" height="369" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Start another browser instance. Start IE (or any browser) and paste in the url:&amp;#160; http://127.0.0.1:81/MoveShape.htm. 
    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Move the shape in either of the two browsers.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Note the two instances communicating.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="buxk4alm" border="0" alt="buxk4alm" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3113.buxk4alm_5F00_34ED89F9.jpg" width="624" height="312" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;We are done. Prepare for the next step. 
    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;At a high level we will go to the Windows Azure Management Portal and provision a hosted service and a storage account.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;The hosted service will act as our container for our server and client code code.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Although we are not using storage, we will need a storage account for diagnostics.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Exercise 2: Provisioning an Windows Azure Account and Deploying to the Cloud&lt;/strong&gt;&lt;/span&gt;

&lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;The next step will involve taking our project and deploying it to the cloud. There will be a few things we need to get done before we can actually move the bits of our SignalR application to a MS data center.&lt;/span&gt;

&lt;br /&gt;

&lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;There is an assumption that you are already have an account. More information is available here: &lt;/span&gt;

&lt;table style="border: 1px solid rgb(0, 0, 255); width: 600px;"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style="width: 75px;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200060656"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="hyperlink2" border="0" alt="hyperlink2" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5367.hyperlink2_5F00_14664A47.png" width="75" longdesc="Sign up for an Azure account" height="75" /&gt;&lt;/a&gt;&lt;/td&gt;

      &lt;td style="width: 1px;"&gt;&amp;#160; &lt;/td&gt;

      &lt;td&gt;&lt;a title="Sign up for an Azure account" href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200060656"&gt;Sign up for an Azure account&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 2: Task 1 - Configuring a hosted service and storage account&lt;/strong&gt;&lt;/span&gt;

&lt;br /&gt;

&lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;After you’ve signed up for a Windows Azure account, you are ready to start setting up your hosted service and storage account. This is the preliminary step to deploying your application to the cloud.&lt;/span&gt;

&lt;br /&gt;

&lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;
  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;&lt;strong&gt;Sign in&lt;/strong&gt; to the &lt;strong&gt;Windows Azure Portal&lt;/strong&gt;. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;&lt;strong&gt;Click&lt;/strong&gt; in the left pane on &lt;strong&gt;Hosted Services&lt;/strong&gt;.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Go to the &lt;strong&gt;middle pane&lt;/strong&gt; to the relevant account, right-mouse click and select &lt;strong&gt;New Hosted Service&lt;/strong&gt;.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="x0y3a5ej" border="0" alt="x0y3a5ej" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8306.x0y3a5ej_5F00_16155469.jpg" width="579" height="351" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Specify the details of your &lt;strong&gt;Hosted Service&lt;/strong&gt;. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Enter a &lt;strong&gt;name&lt;/strong&gt; for your service.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Enter a &lt;strong&gt;URL&lt;/strong&gt; (this has to be globally unique)&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Choose a &lt;strong&gt;region&lt;/strong&gt; (this is the location of the data center)&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Select &lt;strong&gt;Do Not Deploy&lt;/strong&gt; (we will deploy later)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="30fo2hwa" border="0" alt="30fo2hwa" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0572.30fo2hwa_5F00_237B676F.jpg" width="467" height="544" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Notice that the portal indicates the &lt;strong&gt;hosted service&lt;/strong&gt; is being &lt;strong&gt;provisioned&lt;/strong&gt;. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;It takes about 10 minutes for this process to complete.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="topscpqi" border="0" alt="topscpqi" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2022.topscpqi_5F00_1BEFF802.jpg" width="502" height="227" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Provision a &lt;strong&gt;storage account&lt;/strong&gt;. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;A &lt;strong&gt;storage account&lt;/strong&gt; is needed for the built-in &lt;strong&gt;diagnostics&lt;/strong&gt;.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="40eqjcpw" border="0" alt="40eqjcpw" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7823.40eqjcpw_5F00_105A3AC3.jpg" width="492" height="305" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Provide a &lt;strong&gt;Name&lt;/strong&gt; for your Storage Account. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Provide a &lt;strong&gt;URL&lt;/strong&gt; that is globally unique.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Specify a &lt;strong&gt;Region&lt;/strong&gt; or Data Center (should be in the same data center as your &lt;strong&gt;hosted service&lt;/strong&gt; for performance reasons).&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="aajv1e0z" border="0" alt="aajv1e0z" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3034.aajv1e0z_5F00_41E5A858.jpg" width="434" height="244" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Wait for the &lt;strong&gt;storage account&lt;/strong&gt; to complete.&lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="1oxxeboo" border="0" alt="1oxxeboo" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6254.1oxxeboo_5F00_6F66C81B.jpg" width="452" height="166" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Once your &lt;strong&gt;storage account&lt;/strong&gt; is complete, you will need the &lt;strong&gt;Access Keys&lt;/strong&gt;. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;The &lt;strong&gt;Access Key&lt;/strong&gt; is needed for diagnostics.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;You will enter the &lt;strong&gt;Access Key&lt;/strong&gt; into your Visual Studio Project.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Click on the View&lt;strong&gt; Access Key&lt;/strong&gt; toolbar button&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="q3if0m2w" border="0" alt="q3if0m2w" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8080.q3if0m2w_5F00_5A0912B3.jpg" width="398" height="363" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Copy the &lt;strong&gt;Primary Access Key&lt;/strong&gt; to the clipboard. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Click on the &lt;strong&gt;icon&lt;/strong&gt; to the right as seen below.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="seg3yasr" border="0" alt="seg3yasr" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4505.seg3yasr_5F00_3981D301.jpg" width="462" height="164" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You will now enter your &lt;strong&gt;Access Key&lt;/strong&gt; into Visual Studio. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Right mouse click and choose &lt;strong&gt;Properties&lt;/strong&gt;.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="kq15affo" border="0" alt="kq15affo" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6330.kq15affo_5F00_7FFEC309.jpg" width="528" height="246" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;In the left pane click on &lt;strong&gt;Settings&lt;/strong&gt;. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;The &lt;strong&gt;Storage Account Connection String Dialog&lt;/strong&gt; box will appear.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="rp5aff5x" border="0" alt="rp5aff5x" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1157.rp5aff5x_5F00_769499BA.jpg" width="624" height="460" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Click on &lt;strong&gt;Enter storage account credentials.&lt;/strong&gt;

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Enter the &lt;strong&gt;Account name&lt;/strong&gt; that you specified at the portal.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Paste in the &lt;strong&gt;Account Key&lt;/strong&gt; that you copied from the portal.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="l5300nvp" border="0" alt="l5300nvp" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6254.l5300nvp_5F00_0D64D610.jpg" width="523" height="432" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Click on &lt;strong&gt;Configuration&lt;/strong&gt;. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Note that the &lt;strong&gt;Instance count&lt;/strong&gt; is 1 (this means there is one running instance of your SignalR server application)&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;You can increase the &lt;strong&gt;instance count&lt;/strong&gt; number to increase scale.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="dxsshdnc" border="0" alt="dxsshdnc" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3603.dxsshdnc_5F00_7E4DF735.jpg" width="468" height="366" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;We are now ready to &lt;strong&gt;package&lt;/strong&gt; up our SignalR Cloud Application. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Right mouse click on &lt;strong&gt;CloudSignalRSample&lt;/strong&gt;.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="niemwxcc" border="0" alt="niemwxcc" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0871.niemwxcc_5F00_0BB40A3C.jpg" width="465" height="179" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Click the &lt;strong&gt;Package&lt;/strong&gt; Button. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;We will leave everything else to the &lt;strong&gt;default&lt;/strong&gt; values.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="uq5cvbfd" border="0" alt="uq5cvbfd" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1440.uq5cvbfd_5F00_2443A78C.jpg" width="316" height="158" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;When the packaging process is complete, &lt;strong&gt;Visual Studio&lt;/strong&gt; will launch an &lt;strong&gt;explorer window&lt;/strong&gt; so you can see your two &lt;strong&gt;package files&lt;/strong&gt;. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;The first file is the web application itself, complete with all the &lt;strong&gt;needed assemblies&lt;/strong&gt; (Including SignalR).&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;The second file is the &lt;strong&gt;configuration file&lt;/strong&gt; (stores the &lt;strong&gt;instance count&lt;/strong&gt;, the &lt;strong&gt;access keys&lt;/strong&gt;,etc).&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="bslmtrzp" border="0" alt="bslmtrzp" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6837.bslmtrzp_5F00_25B65F85.jpg" width="624" height="150" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Return back to the &lt;strong&gt;Windows Azure Portal.&lt;/strong&gt;

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Click on &lt;strong&gt;Hosted Services&lt;/strong&gt;.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Right mouse click on your previously created &lt;strong&gt;Hosted Service&lt;/strong&gt;.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Select &lt;strong&gt;New Production Deployment&lt;/strong&gt;.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="rmeothip" border="0" alt="rmeothip" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7416.rmeothip_5F00_6AC09794.jpg" width="527" height="439" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You will now upload your &lt;strong&gt;packaged files&lt;/strong&gt; from the previous step. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;The path used by Visual Studio is &lt;strong&gt;C:\temp\signalr\CloudSignalRSample\CloudSignalRSample\bin\Release\app.publish&lt;/strong&gt;.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;You will upload both the &lt;strong&gt;cspkg&lt;/strong&gt; file as well as the &lt;strong&gt;cscfg&lt;/strong&gt; file.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="4zmsxj0q" border="0" alt="4zmsxj0q" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6646.4zmsxj0q_5F00_152CC8B2.jpg" width="441" height="313" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You are getting this warning because your &lt;strong&gt;instance count&lt;/strong&gt; was only &lt;strong&gt;1.&lt;/strong&gt;

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;If you want to utilize the SLA of Windows Azure, you need an &lt;strong&gt;instance count&lt;/strong&gt; of at least &lt;strong&gt;2&lt;/strong&gt;.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;You can ignore and click &lt;strong&gt;Yes&lt;/strong&gt;.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="12xbgslt" border="0" alt="12xbgslt" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3108.12xbgslt_5F00_09970B73.jpg" width="436" height="205" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;10 minutes later, the web application is ready to use. 
    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Note the &lt;strong&gt;DNS Name&lt;/strong&gt; (&lt;strong&gt;&lt;a href="http://signalrInCloud.cloudapp.net"&gt;http://signalrInCloud.cloudapp.net&lt;/a&gt;&lt;/strong&gt;).&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="h0okn0zv" border="0" alt="h0okn0zv" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4505.h0okn0zv_5F00_3B227908.jpg" width="548" height="421" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;10 minutes later, the web application is &lt;strong&gt;ready&lt;/strong&gt; to use. 

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Note the &lt;strong&gt;DNS Name&lt;/strong&gt; (http://signalrInCloud.cloudapp.net).&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;You will have your own &lt;strong&gt;DNS name&lt;/strong&gt; based on the &lt;strong&gt;URL&lt;/strong&gt; you provided in an earlier step.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;In my case, I am navigating to &lt;strong&gt;http://signalrincloud.cloudapp.net/Moveshape.htm&lt;/strong&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;

  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;
      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;
        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Try it out (click twice)&lt;/td&gt;

        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://signalrincloud.cloudapp.net/Moveshape.htm" target="_blank"&gt;http://signalrincloud.cloudapp.net/Moveshape.htm&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;&lt;/table&gt;

  &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="pybws4bz" border="0" alt="pybws4bz" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6013.pybws4bz_5F00_65304AB0.jpg" width="624" height="479" /&gt;

  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Navigate to &lt;strong&gt;http://signalrincloud.cloudapp.net/Moveshape.htm&lt;/strong&gt;

    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Start another browser instance. Start IE and paste in the url:&amp;#160; &lt;strong&gt;http://signalrincloud.cloudapp.net/Moveshape.htm&lt;/strong&gt;&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Move the shape in either of the two browsers.&lt;/li&gt;

      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Note the two instances communicating.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="shwrc3ie" border="0" alt="shwrc3ie" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4760.shwrc3ie_5F00_49D75863.jpg" width="456" height="305" /&gt;&lt;/ol&gt;

&lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;&lt;/ol&gt;

&lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;&lt;/ol&gt;

&lt;br /&gt;

&lt;br /&gt;

&lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;
    &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 0.9em; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;
      &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Download Project&lt;/td&gt;

      &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: 1em; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="https://skydrive.live.com/redir.aspx?cid=98b7747cd2e738fb&amp;amp;resid=98B7747CD2E738FB!2291&amp;amp;parid=98B7747CD2E738FB!172" target="_blank"&gt;https://skydrive.live.com/redir.aspx?cid=98b7747cd2e738fb&amp;amp;resid=98B7747CD2E738FB!2291&amp;amp;parid=98B7747CD2E738FB!172&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/span&gt;

&lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(0, 0, 0); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;SignalR is a major leap forward in lowering the technical barriers to creating asynchronous and scalable web applications across all of today’s popular browsers. Combined with Windows Azure, SignalR opens the door to many more types of applications. Let me also mention that SignalR works with non-browser clients, such as traditional desktop applications. Finally, SignalR is designed to leverage other high-level transports that are not based on long-polling, such as Web Sockets, Server Sent Events, and the Forever Frame on Internet Explorer. You can expect its creators, Damian Edwards and David Fowler, to continue to develop and improve SignalR with the help of the community on CodePlex and Github.&lt;/span&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10291993" width="1" height="1"&gt;</description></item><item><title>Simplifying Synchronization-Challenges of a multi-device, highly-connected world</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/03/simplifying-synchronization-challenges-of-a-multi-device-highly-connected-world.aspx</link><pubDate>Tue, 03 Apr 2012 22:05:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10290543</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10290543</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/04/03/simplifying-synchronization-challenges-of-a-multi-device-highly-connected-world.aspx#comments</comments><description>&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Simplifying Synchronization Complexities&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Synchronizing data is more important than ever. Never has there been more device types and never has the world of distributed systems been more common. I’m getting a lot of questions about keeping phones, browsers, and databases synchronized.    &lt;br /&gt;    &lt;br /&gt; Things get difficult right away.     &lt;br /&gt;    &lt;br /&gt;    &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;       &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(221, 255, 170);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Mobile Applications &lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; How do you send data to a mobile application if that mobile application isn't running the application that needs the data? &lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Web Browsers&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; What about a web browser that needs to get realtime updates? How do you avoid really chatty Javascript that constantly makes asynchronous calls the the server? After all, http is stateless.&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(221, 255, 170);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Relational data in the cloud&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; What about your relational data? What if you have SQL Azure hosted in a Microsoft data center and what if you want to keep that data synchronized with some SQL Server data that is hosted on-premise?&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;br /&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; There a many scenarios the modern developer faces. Moving forward, as the lines separating between desktop, tablet, and mobile become increasingly blurred, the synchronizing challenge will increase. Consumers will switch between devices and expect to be able to continue where they left off. They also expect to get the latest information from applications.    &lt;br /&gt;    &lt;br /&gt; Developers must support cloud, on-premise and mobile. I present you &lt;font color="#ff0000"&gt;&lt;strong&gt;three challenges&lt;/strong&gt;&lt;/font&gt; and &lt;font color="#008080"&gt;&lt;strong&gt;three solutions&lt;/strong&gt;&lt;/font&gt;.&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; How do you send data from a web server to a mobile device?&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; How do you send near real-time updates to browsers from web servers?&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; How do you synchronize events between cloud-hosted sites and on-premise sites?&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The Big Picture&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Figure 1: A Visual Picture of Synchronization Challenges The various players in the world of synch. &lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; How do you keep this stuff synchronized?    &lt;br /&gt;    &lt;br /&gt; The 3 challenges I will address here are:     &lt;br /&gt; (1)Synchronizing Mobile and Web     &lt;br /&gt; (2)Relational data base in the cloud and hosted on-premise     &lt;br /&gt; (3)Browser and Web     &lt;br /&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="4s1ie0fs" border="0" alt="4s1ie0fs" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2133.4s1ie0fs_5F00_18ED661B.jpg" width="526" height="392" /&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;   &lt;hr /&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Challenge #1: Web user needing latest information from an on-premise web site&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; This situation is very common. The goal is to have real-time persistent long-running connections between the on-premise web site and the remotely connected web user.    &lt;br /&gt;    &lt;br /&gt; Imagine the web user wants real time stock price information.     &lt;br /&gt;    &lt;br /&gt; There are many situations where you want as near real time as possible to synchronize the web server and the browser.     &lt;br /&gt;    &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="txfxpski" border="0" alt="txfxpski" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8880.txfxpski_5F00_77F9F373.jpg" width="584" height="202" /&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="karzi4ui" border="0" alt="karzi4ui" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7875.karzi4ui_5F00_173C9A47.jpg" width="617" height="176" /&gt;&lt;/div&gt;  &lt;p&gt;&lt;b&gt;Figure 2: A user of a web browser needs the latest from the ASP.NET Web Site (doesn’t have to be a browser, could be a .NET Client as well)&lt;/b&gt;    &lt;br /&gt;&lt;i&gt;Keeping the web user synchronized with up to the second weather, travel or financial information. &lt;/i&gt;&lt;i&gt;Note that the web site/service could be hosted on-premise or in the cloud.&lt;/i&gt;&lt;/p&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;&lt;font color="#008040"&gt;Solution to Challenge #1 - SignalR&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Scott Hanselman describes SignalR succinctly as &amp;quot;Asynchronous scalable web applications with real-time persistent long-running connections.&amp;quot;    &lt;br /&gt;    &lt;br /&gt; There are two pieces to SignalR, a client piece and a server piece. The client piece comes in two forms: (1) Javascript for browsers; (2) .NET for web apps or for thick client (WPF, WinForms, etc). &lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;thead&gt;     &lt;tr&gt;       &lt;th style="padding: 5px 15px; left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: silver; align: left;" scope="col"&gt; 1 Server and 2 clients &lt;/th&gt;        &lt;th style="padding: 5px 15px; left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; background-color: silver; align: left;" scope="col"&gt; Library Name &lt;/th&gt;        &lt;th style="padding: 5px 15px; left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; background-color: silver; align: left;" scope="col"&gt; Description &lt;/th&gt;     &lt;/tr&gt;   &lt;/thead&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Server&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;SignalR.Server &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Server side components needed to build SignalR endpoints &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Client #1&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;SignalR.Js &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Javascript client for SignalR &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Client #2&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;SignalR.Client &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; .NET client for SignalR &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;tfoot&gt;     &lt;tr style="background-color: silver;"&gt;       &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tfoot&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Where to get SignalR&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;a href="https://github.com/SignalR/SignalR"&gt;https://github.com/SignalR/SignalR&lt;/a&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;   &lt;hr /&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Challenge #2: Synchronizing databases (SQL Azure and On-Premise SQL Server)&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; The challenge is having multiple copies of databases in different locations. There is a need to synchronize multiple copies of a database globally dispersed. You can even think of the scenario as needing to sync two different web sites. Often times and efficient way to pass messages from the cloud to an on-premise web site/service is to have some type of an &lt;strong&gt;Messages &lt;/strong&gt;table that is kept in synch between op-premise and cloud-hosted databases.     &lt;br /&gt;    &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="d0pzjczu" border="0" alt="d0pzjczu" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0435.d0pzjczu_5F00_6876E1A4.jpg" width="575" height="418" /&gt;&lt;/div&gt;  &lt;strong&gt;Figure 3: Synchronizing geographically dispersed databases.&lt;/strong&gt;  &lt;br /&gt;&lt;i&gt;Using SQL Azure Data Sync to keep databases properly synchronized&lt;/i&gt;  &lt;br /&gt;Image here   &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;&lt;font color="#008000"&gt;Solution to Challenge #2: Microsoft SQL Azure Data Sync&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Microsoft SQL Azure Data Sync is a cloud-hosted data synchronization service which provides uni-directional and bi-directional data sync. Data Sync allows data to be easily shared between SQL Azure and on-premises SQL Server databases, as well as between multiple SQL Azure databases.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Benefits of Microsoft SQL Azure Data Sync&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;   &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;       &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; No holes in corp firewall&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; No web services&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; SQL Data Sync Service Agent Process &amp;amp; WCF&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Where to get Microsoft SQL Azure Data Sync&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/hh667316.aspx"&gt;http://msdn.microsoft.com/en-us/library/hh667316.aspx&lt;/a&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;   &lt;hr /&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Challenge #3: Sending data to mobile devices from the cloud for from on-premise web sites&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; The challenge is not having mobile devices “poll” for new data. This is also known as the “pull” model, where by the mobile application needs to constantly ask the web server if there is newer data. This is considered too chatty, meaning that it wastes bandwidth, doesn’t scale well, and drains battery life.    &lt;br /&gt;    &lt;br /&gt; In a practical sense, it doesn’t work well, since most mobile frameworks don’t allow applications to constantly poll web services, because of the limited power of batteries.     &lt;br /&gt;    &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="psawi3qh" border="0" alt="psawi3qh" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7382.psawi3qh_5F00_158BCE73.jpg" width="550" height="803" /&gt;&amp;#160; &lt;br /&gt;&lt;/div&gt;  &lt;p&gt;&lt;b&gt;Figure 4: Sending data to mobile devices&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;From on-premise or cloud-hosted web sites&lt;/i&gt;&lt;/p&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;&lt;font color="#008000"&gt;Solution to Challenge #3: Push Notifications services&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; The solution is to leverage the native notification frameworks available in today’s modern devices. There are third party vendors, such as Urban Airship, as well as implementations by Apple and Microsoft.    &lt;br /&gt;    &lt;br /&gt; Microsoft offers a powerful service hosted in Windows Azure. The diagram illustrates the major pieces. As you can see, the Microsoft Push Notification Service brokers or proxies the messaging interactions. Notice that there is a push client service built into the Windows Phone 7 frameworks and operating systems.     &lt;br /&gt;    &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="0gn1mrxn" border="0" alt="0gn1mrxn" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3666.0gn1mrxn_5F00_54111C19.jpg" width="660" height="420" /&gt;&lt;/div&gt;  &lt;p&gt;&lt;b&gt;Figure 5: Windows Push Notification Services Diagram&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;How the pieces fit together &lt;/i&gt;&lt;/p&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Two Types of Notification&lt;/strong&gt;&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(252, 239, 197);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; (1) &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;strong&gt;Toast&lt;/strong&gt;          &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="evltzydd" border="0" alt="evltzydd" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0028.evltzydd_5F00_4C1979B7.jpg" width="443" height="189" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; (2) &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;strong&gt;Tile&lt;/strong&gt;          &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="0jksgclk" border="0" alt="0jksgclk" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8358.0jksgclk_5F00_597F8CBD.jpg" width="485" height="223" /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Here is an example relevant for Windows Phone 7 developers. &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;   &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="3twixja3" border="0" alt="3twixja3" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7444.3twixja3_5F00_5D1DA79A.jpg" width="529" height="302" /&gt;&lt;/div&gt;  &lt;p&gt;&lt;b&gt;Figure 6: A Cloud Hosted Notification Server sending messages to a Windows Phone 7 Device&lt;/b&gt;    &lt;br /&gt;&lt;i&gt;Developers can easily create scalable, cloud-hosted push notifications services with the Windows Azure SDK and Visual Studio web sites&lt;/i&gt;&lt;/p&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Benefits to Solution #3&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; The definitive way to send data from a web server/service to a mobile device. The primary driver is enabling updates to the mobile device but not requiring the an application to always be running. This approach saves on battery life.    &lt;br /&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Where to get more information on Push Notification Services&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; How it works can be found here: &lt;a href="http://msdn.microsoft.com/en-us/library/ff402558(v=VS.92).aspx"&gt;http://msdn.microsoft.com/en-us/library/ff402558%28v=VS.92%29.aspx&lt;/a&gt;    &lt;br /&gt;    &lt;br /&gt; There is also an extensive lab in the Windows Phone Training Kit&amp;#160; &lt;/div&gt;  &lt;hr /&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; I presented 3 technologies that will help you stay synchronized. There is more to discuss in a future post. Here are some additional synchronization technologies that offer additional capabilities.&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;thead&gt;     &lt;tr&gt;       &lt;th style="padding: 5px 15px; left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: silver; align: left;" scope="col"&gt; Technology &lt;/th&gt;        &lt;th style="padding: 5px 15px; left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; background-color: silver; align: left;" scope="col"&gt; Features &lt;/th&gt;     &lt;/tr&gt;   &lt;/thead&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Windows Azure Service Bus&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Integrate on-premise and the cloud          &lt;br /&gt;          &lt;p&gt;Event notifications to occasionally connected clients            &lt;br /&gt;&lt;/p&gt;          &lt;p&gt;Store messages with connectivity failure            &lt;br /&gt;&lt;/p&gt;          &lt;p&gt;Integrate across NATs, firewalls            &lt;br /&gt;&lt;/p&gt;          &lt;p&gt;Multiple web service standards - REST, WS-*, SOAP            &lt;br /&gt;&lt;/p&gt;          &lt;p&gt;More secure than a VPN            &lt;br /&gt;&lt;/p&gt;          &lt;p&gt;Asynchronous Cloud Event Support&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Azure Traffic Manager&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Geo-load balancing.          &lt;br /&gt;          &lt;br /&gt; Manage and distribute incoming traffic to your Windows Azure hosted services whether they are deployed in the same data center or in different centers across the world&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;tfoot&gt;     &lt;tr style="background-color: silver;"&gt;       &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tfoot&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&amp;#160;&lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10290543" width="1" height="1"&gt;</description></item><item><title>Microsoft Azure (Cloud) DevCamps–If you can’t make it in person..</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/27/microsoft-azure-cloud-devcamps-if-you-can-t-make-it-in-person.aspx</link><pubDate>Tue, 27 Mar 2012 16:16:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10288062</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10288062</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/27/microsoft-azure-cloud-devcamps-if-you-can-t-make-it-in-person.aspx#comments</comments><description>&lt;span style="margin: 1em 0px 0.5em; padding: 0px; color: rgb(9, 53, 238); line-height: 1.1em; letter-spacing: -1px; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.8em; font-weight: normal;"&gt; Introduction&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 1em 0px 0.5em; padding: 0px; line-height: 2em; letter-spacing: -1px; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.1em; text-decoration: none;"&gt;   &lt;br /&gt; The purpose of this post is to bring you up to speed writing Windows Azure cloud-based applications from scratch. I assume you just have the hardware and the willingness to get started by installing the software.&amp;#160; &lt;br /&gt;    &lt;br /&gt; Not everybody can afford the time to attend a DevCamp.     &lt;br /&gt;    &lt;br /&gt; So what this post is about is getting you installed and executing even though you were not able to make it in person.     &lt;br /&gt;    &lt;br /&gt; This first section is about getting setup and configured. You will need to download a number of things and you will create a test project to validate the setup. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="margin: 0px 0px 0em; padding: 0px; color: rgb(9, 53, 238); line-height: 1.1em; letter-spacing: -1px; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.8em; font-weight: normal;"&gt; Exercise 1: Getting the correct hardware and software    &lt;br /&gt;    &lt;br /&gt;&lt;/span&gt;&lt;span style="border-width: 0px; margin: 1em 0px 0.5em; padding: 0px; line-height: 2em; letter-spacing: -1px; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.1em; text-decoration: none;"&gt; What you will need.&amp;#160; &lt;br /&gt;Task 1 – Validating your current hardware    &lt;br /&gt;Task 2 – Installing your software     &lt;br /&gt;Task 3 – Download the lab exercises     &lt;br /&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="margin: 1em 0px 0.5em; padding: 0px; color: rgb(9, 53, 238); line-height: 1.1em; letter-spacing: -1px; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.8em; font-weight: normal;"&gt; Exercise 2: Validating that your cloud project will run    &lt;br /&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 1em 0px 0.5em; padding: 0px; line-height: 2em; letter-spacing: -1px; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.1em; text-decoration: none;"&gt;Creating your first test project with Windows Azure and making sure it runs.    &lt;br /&gt;Task 1 – File / New Project&amp;#160; &lt;br /&gt;Task 2 – Adding basic code     &lt;br /&gt;Task 3 – Starting the emulator&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="margin: 1em 0px 0.5em; padding: 0px; color: rgb(9, 53, 238); line-height: 1.1em; letter-spacing: -1px; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.8em; font-weight: normal;"&gt;Summary    &lt;br /&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 1em 0px 0.5em; padding: 0px; line-height: 2em; letter-spacing: -1px; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.1em; text-decoration: none;"&gt; The core lessons in this post are:    &lt;br /&gt;1.&amp;#160;&amp;#160; Understanding the hardware needed to write cloud applications.     &lt;br /&gt;2.&amp;#160;&amp;#160; Where to download needed software.     &lt;br /&gt;3.&amp;#160; Working with Visual Studio to create and run your first cloud project.     &lt;br /&gt;4.&amp;#160;&amp;#160; Understanding the emulation environment.     &lt;br /&gt;5.&amp;#160;&amp;#160; Next steps.     &lt;br /&gt;&lt;/span&gt;  &lt;hr /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt; &lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Exercise 1: Getting the correct hardware and software &lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;This exercise is about figuring out what you have and where you need to be. Currently, from a hardware point of view, I'm using VS 2010. So please try to get to Visual Studio version 2010. Shouldn't be a problem because you can use the Express version of VS for free. Does your hardware measure up to at least these standards? &lt;/span&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 1 - Validating your current hardware &lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;This task is about figuring your current available hardware that will be your developer machine. I recommend a little more than what you see here. The best environment I've ever had is a Lenovo w520, 16GB RAM, solid state drive. Everything loads in seconds. If you can afford solid state, I highly recommend it if you are an impatient developer type.&lt;/span&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Click on the Start Menu and get the properties for your computer      &lt;ul style="list-style-type: disc;"&gt;       &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Right mouse click on the Computer Icon&lt;/li&gt;        &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Select &amp;quot;Properties&amp;quot;&lt;/li&gt;     &lt;/ul&gt;     &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="jihraqkc" border="0" alt="jihraqkc" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6327.jihraqkc_5F00_603DA139.jpg" width="436" height="352" /&gt;      &lt;br /&gt;&lt;b&gt;Figure 1&lt;/b&gt;      &lt;br /&gt;&lt;i&gt;Computer Properties&lt;/i&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Check on the amount of available RAM, CPU type      &lt;ul style="list-style-type: disc;"&gt;       &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Is your hardware ready?&lt;/li&gt;        &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Can you continue with the installation process?&lt;/li&gt;     &lt;/ul&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;&lt;strong&gt;Exercise 1: Task 2 – Installing the software&lt;/strong&gt;&lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt; You will need a combination of Visual Studio, SQL Server 2008 R2 Management Studio Express with SP1, SDKs, and operating system settings.    &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;     &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Download and install Visual Studio 2010 Express (or higher)        &lt;ul style="list-style-type: disc;"&gt;         &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Web Site = http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Download and install Windows Azure SDK for .NET – November 2011 (or higher)        &lt;ul style="list-style-type: disc;"&gt;         &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Web Site = &lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200060656" target="_blank"&gt;http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200060656&lt;/a&gt;&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Configure IIS: Tracing        &lt;ul style="list-style-type: disc;"&gt;         &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Choose Turn Windows Features On or Off. Type in “turn features” into the search box.&lt;/li&gt;       &lt;/ul&gt;       &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="ekfeviul" border="0" alt="ekfeviul" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7701.ekfeviul_5F00_6DA3B43F.jpg" width="584" height="261" /&gt;        &lt;br /&gt;&lt;b&gt;Figure 2&lt;/b&gt;        &lt;br /&gt;&lt;em&gt;Turn features on/off&lt;/em&gt;        &lt;br /&gt;        &lt;ul style="list-style-type: disc;"&gt;         &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Under Microsoft .NET Framework 3.5, select Windows Communication Foundation HTTP Activation. &lt;/li&gt;       &lt;/ul&gt;       &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="nywbrrrs" border="0" alt="nywbrrrs" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0435.nywbrrrs_5F00_6D37814A.jpg" width="429" height="375" /&gt;        &lt;br /&gt;&lt;b&gt;Figure 3&lt;/b&gt;        &lt;br /&gt;&lt;i&gt;Changing Windows Features&lt;/i&gt;        &lt;br /&gt;        &lt;ul style="list-style-type: disc;"&gt;         &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Under Internet Information Services, expand World Wide Web Services, then Application Development Features, then select .NET Extensibility, ASP.NET, ISAPI Extensions and ISAPI Filters.&lt;/li&gt;          &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Under Internet Information Services, expand World Wide Web Services, then Common HTTP Features, then select Directory Browsing, HTTP Errors, HTTP Redirection, Static Content.&lt;/li&gt;          &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Under Internet Information Services, expand World Wide Web Services, then Health and Diagnostics, then select Logging Tools, Request Monitor and Tracing.&lt;/li&gt;          &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Under Internet Information Services, expand World Wide Web Services, then Security, then select Request Filtering.&lt;/li&gt;          &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Under Internet Information Services, expand Web Management Tools, then select IIS Management Console.&lt;/li&gt;          &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Install the selected features.&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Download and install SQL Server 2008 R2 Management Studio Express with SP1        &lt;ul style="list-style-type: disc;"&gt;         &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Web Site = &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=22985"&gt;http://www.microsoft.com/download/en/details.aspx?id=22985&lt;/a&gt;&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;   &lt;/ol&gt;   &lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;     &lt;br /&gt;&lt;strong&gt;Exercise 1: Task 3 - Exploring the labs&lt;/strong&gt;&lt;/span&gt; 	&lt;br/&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;A subset of labs are provided. The next section will guide you through the process of installing the content and testing the labs to make sure they can run.&lt;/span&gt;  &lt;br/&gt; &lt;br/&gt;   &lt;table border="1" cellspacing="0" cellpadding="2" width="100%"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td style="background-color: rgb(221, 221, 221);" valign="top" width="100%"&gt;&lt;img style="border: 0px currentcolor; vertical-align: bottom; display: inline; background-image: none;" title="check" border="0" alt="check" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1524.check_5F00_4CB04198.png" width="20" height="20" /&gt;&lt;strong&gt;Note&lt;/strong&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="600"&gt;The Windows Azure Camps Training Kit uses the new Content Installer to install all prerequisites, hands-on labs and presentations that are used for the Windows Azure Camp events.&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;br/&gt;     &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;     &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Navigate to &lt;a href="http://www.contentinstaller.net/Install/ContentGroup/WAPCamps"&gt;http://www.contentinstaller.net/Install/ContentGroup/WAPCamps&lt;/a&gt; and allow the content installer to work.&lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;During installation you will specify a download folder for the content.        &lt;ul style="list-style-type: disc;"&gt;         &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Labs and Presentations will be 2 folders you can work with.&lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;You should also download the Windows Azure Training Kit at &lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=8396"&gt;http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=8396&lt;/a&gt; &lt;/li&gt;      &lt;ul style="list-style-type: disc;"&gt;       &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;It will install into c:\watk&lt;/li&gt;     &lt;/ul&gt;   &lt;/ol&gt; &lt;br/&gt;   &lt;table border="1" cellspacing="0" cellpadding="2" width="100%"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td style="background-color: rgb(221, 221, 221);" valign="top" width="100%"&gt;&lt;img style="border: 0px currentcolor; vertical-align: bottom; display: inline; background-image: none;" title="check" border="0" alt="check" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1680.check_5F00_0C7A281E.png" width="20" height="20" /&gt;&amp;#160; &lt;strong&gt;Note – The two kits to install&lt;/strong&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="600"&gt; Windows Azure Devcamps           &lt;br /&gt;&lt;a href="http://www.contentinstaller.net/Install/ContentGroup/WAPCamps"&gt;http://www.contentinstaller.net/Install/ContentGroup/WAPCamps&lt;/a&gt;            &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="cjlonrgl" border="0" alt="cjlonrgl" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2086.cjlonrgl_5F00_33483E5E.jpg" width="600" height="493" /&gt;            &lt;br /&gt;&lt;b&gt;Figure Content Installer&lt;/b&gt;            &lt;br /&gt;&lt;i&gt;For the Windows Azure Devcamp&lt;/i&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;            &lt;hr /&gt;            &lt;br /&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=8396"&gt;http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=8396&lt;/a&gt;            &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="0hu51dp5" border="0" alt="0hu51dp5" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5238.0hu51dp5_5F00_44B89F36.jpg" width="600" height="492" /&gt;            &lt;br /&gt;&lt;b&gt;Figure Windows Azure Platform Training Kit&lt;/b&gt;            &lt;br /&gt;&lt;i&gt;This is an additional download&lt;/i&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;  &lt;br/&gt;   &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;     &lt;hr /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: 0px; margin: 0px 50px 0px 0px; padding: 0px; color: rgb(25, 98, 151); line-height: 1.1em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1.4em; display: block; background-repeat: no-repeat;"&gt;&lt;strong&gt;Exercise 2: Validating that your cloud project will run &lt;/strong&gt;&lt;/span&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;The purpose of this section is to validate that we can create and run a Windows Azure project.&lt;/span&gt;    &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;We will create a new project and run it in the local emulators. We will then start opening the projects from: (1) Azure Dev Camp Kit; (2) Windows Azure Platform Kit.&lt;/span&gt;&lt;br/&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;   &lt;br /&gt;&lt;strong&gt;Exercise 2: Task 1 - File / New Project &lt;/strong&gt;&lt;/span&gt;   &lt;br/&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;We will create a new project from scratch to build a &amp;quot;hello world&amp;quot; application. &lt;/span&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Start Visual Studio 2010 as administrator. You need those administrator privileges.      &lt;ul style="list-style-type: disc;"&gt;       &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;You will add an ASP.NET Web role&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt; &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="ykx1xeof" border="0" alt="ykx1xeof" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5635.ykx1xeof_5F00_3D2D2FC9.jpg" width="325" height="507" /&gt;  &lt;br /&gt;&lt;b&gt;Figure Starting Visual Studio as administrator&lt;/b&gt;  &lt;br /&gt;&lt;i&gt;How to start Visual Studio as administrator&lt;/i&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Select&lt;strong&gt; File/New Project&lt;/strong&gt; from the Visual Studio menu.       &lt;ul style="list-style-type: disc;"&gt;       &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Provide a name of &lt;strong&gt;Hello World&lt;/strong&gt;&lt;/li&gt;     &lt;/ul&gt;     &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="cy5qvcsq" border="0" alt="cy5qvcsq" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1184.cy5qvcsq_5F00_638F1314.jpg" width="514" height="389" /&gt;      &lt;br /&gt;&lt;b&gt;Figure Creating a new project&lt;/b&gt;      &lt;br /&gt;&lt;i&gt;How to create a cloud project&lt;/i&gt;      &lt;ul style="list-style-type: disc;"&gt;&lt;/ul&gt;   &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Select ASP.NET Web Role and click the right arrow.      &lt;ul style="list-style-type: disc;"&gt;       &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Click OK&lt;/li&gt;     &lt;/ul&gt;     &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="q5fqqof1" border="0" alt="q5fqqof1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1104.q5fqqof1_5F00_57F955D5.jpg" width="524" height="344" /&gt;      &lt;br /&gt;&lt;b&gt;Figure Adding an ASP.NET Web Role&lt;/b&gt;      &lt;br /&gt;&lt;i&gt;How to add a web role&lt;/i&gt;      &lt;br /&gt;&amp;#160;&amp;#160; &lt;/li&gt;    &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Your solution has now been created.&lt;/li&gt;   &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="awrxef4d" border="0" alt="awrxef4d" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2086.awrxef4d_5F00_37721623.jpg" width="228" height="387" /&gt;    &lt;br /&gt;&lt;b&gt;Figure Validating our project&lt;/b&gt;    &lt;br /&gt;&lt;i&gt;How to create a cloud based solution&lt;/i&gt;&lt;/ol&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;   &lt;br /&gt;&lt;strong&gt;Exercise 2: Task 2 - Adding basic code &lt;/strong&gt;&lt;/span&gt;   &lt;br/&gt;  &lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;We will add some very basic code to validate our project. We will not be using storage for the demo.&lt;/span&gt; &lt;br/&gt; &lt;br/&gt; &lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;   &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Navigate to default.aspx. Add &lt;strong&gt;your name&lt;/strong&gt; to the h2 section as follows.&lt;/li&gt; &lt;/ol&gt;  &lt;pre class="code"&gt;&lt;span style="background: yellow;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: blue;"&gt;@ &lt;/span&gt;&lt;span style="color: maroon;"&gt;Page &lt;/span&gt;&lt;span style="color: red;"&gt;Title&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Home Page&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;Language&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;C#&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;MasterPageFile&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;~/Site.master&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;AutoEventWireup&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;true&amp;quot;
    &lt;/span&gt;&lt;span style="color: red;"&gt;CodeBehind&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Default.aspx.cs&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;Inherits&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;WebRole1._Default&amp;quot; &lt;/span&gt;&lt;span style="background: yellow;"&gt;%&amp;gt;

&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: maroon;"&gt;Content &lt;/span&gt;&lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;HeaderContent&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;server&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;HeadContent&amp;quot;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: maroon;"&gt;Content&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: maroon;"&gt;Content &lt;/span&gt;&lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;BodyContent&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;server&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;ContentPlaceHolderID&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;MainContent&amp;quot;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;h2&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
        &lt;/span&gt;Welcome to ASP.NET! &lt;strong&gt;&lt;font size="4"&gt;to you, Bruno Terkaly&lt;/font&gt;&lt;/strong&gt;
    &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;h2&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;p&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
        &lt;/span&gt;To learn more about ASP.NET visit &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;a &lt;/span&gt;&lt;span style="color: red;"&gt;href&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;http://www.asp.net&amp;quot; &lt;/span&gt;&lt;span style="color: red;"&gt;title&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;ASP.NET Website&amp;quot;&amp;gt;&lt;/span&gt;www.asp.net&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;a&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;.
    &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;p&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;p&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
        &lt;/span&gt;You can also find &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;a &lt;/span&gt;&lt;span style="color: red;"&gt;href&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;http://go.microsoft.com/fwlink/?LinkID=152368&amp;amp;amp;clcid=0x409&amp;quot;
            &lt;/span&gt;&lt;span style="color: red;"&gt;title&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;MSDN ASP.NET Docs&amp;quot;&amp;gt;&lt;/span&gt;documentation on ASP.NET at MSDN&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;a&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;.
    &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;p&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;asp&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: maroon;"&gt;Content&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;
  &lt;br /&gt;&lt;strong&gt;Exercise 2: Task 3 - Running your project&lt;/strong&gt;&lt;/span&gt;
&lt;br/&gt;
&lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;This next section will test if your Compute Emulator works.&lt;/span&gt;

&lt;br /&gt;
&lt;br /&gt;&lt;span style="border-width: 0px; margin: 0px; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em;"&gt;It will not test the storage emulator. We will cover that in another post.&lt;/span&gt;

&lt;br /&gt;
&lt;br /&gt;

&lt;ol style="border-width: 0px; margin: 0px 0px 0px 2.8em; padding: 0px 0.5em 0px 0px; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: decimal;"&gt;
  &lt;li style="margin: -0.2em 0px 0.3em; line-height: 2em; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; list-style-type: decimal;"&gt;Navigate to the Debug menu. Choose Start debugging. 
    &lt;ul style="list-style-type: disc;"&gt;
      &lt;li style="border-width: 0px; margin: -0.2em 0px 0.3em -0.8em; padding: 0.3em; color: rgb(85, 85, 85); line-height: 2em; font-family: segoe ui,arial,verdana,helvetica,sans-serif; font-size: 1em; list-style-type: disc;"&gt;Validate you see the following window.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;
&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="5snq4jcv" border="0" alt="5snq4jcv" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2654.5snq4jcv_5F00_5001B373.jpg" width="543" height="464" /&gt;

&lt;br /&gt;&lt;b&gt;Figure Verifying your cloud project runs.&lt;/b&gt;

&lt;br /&gt;&lt;i&gt;How to verify your cloud project can run in the compute emulator.&lt;/i&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10288062" width="1" height="1"&gt;</description></item><item><title>Silicon Valley Event - Reimagining App Development: Introducing Windows 8</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/19/silicon-valley-event-reimagining-app-development-introducing-windows-8.aspx</link><pubDate>Tue, 20 Mar 2012 04:23:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10285249</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10285249</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/19/silicon-valley-event-reimagining-app-development-introducing-windows-8.aspx#comments</comments><description>&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt; &lt;strong&gt;The LAUNCH you’ve been waiting for!&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Are you interested in learning more about Windows 8? Do you want to see some awesome demos of the tech industry’s newest and most exciting platform? Clearly, this release of Windows is destined to change the way consumers view portable devices. Despite their incredibly small size, these devices will have the full ability to run today’s most powerful software applications with long-lasting battery life.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Now is the time to jump in – early&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;You are invited to a full-day, knockout, blow-your-socks off event taking place on Microsoft’s Silicon Valley Campus. Design experts will take the stage to discuss the overwhelming aesthetics and breathtaking Windows 8 UI. &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Well-known and respected startups will demo their brand new apps, while the Microsoft team provides you with the tools you need to get started in building your own app. &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Microsoft executives will be on hand to discuss the marketplace opportunity for developers. &lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Robert Youngjohns &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Microsoft’s President of North America &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Dan'l Lewin &lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Corporate Vice President - Strategic and Emerging Business Development&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Join us and make sure to register here: &lt;a href="http://introducingwindows8.eventbrite.com/"&gt;http://introducingwindows8.eventbrite.com/&lt;/a&gt; &lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;" width="731"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="150"&gt;&lt;strong&gt;Time&lt;/strong&gt;&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="579"&gt; Wednesday, April 4, 2012 from 12:00 PM to 7:00 PM &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="150"&gt;&lt;strong&gt;Place&lt;/strong&gt;&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="579"&gt;         &lt;p&gt;Microsoft Silicon Valley Campus            &lt;br /&gt;1065 La Avenida, Building 1             &lt;br /&gt;Mountain View, CA, 94043 &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="150"&gt;&lt;strong&gt;Registration Link&lt;/strong&gt;&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="579"&gt;&lt;a href="http://introducingwindows8.eventbrite.com/"&gt;http://introducingwindows8.eventbrite.com/&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Tickets for this will go quickly, make sure to get your free ticket soon!&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10285249" width="1" height="1"&gt;</description></item><item><title>Node.js–How to use Node Package Manager (npm) and Underscore</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/17/node-js-the-most-popular-modules-and-how-they-work-part-1-a-bakers-dozen.aspx</link><pubDate>Sat, 17 Mar 2012 16:38:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10284605</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10284605</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/17/node-js-the-most-popular-modules-and-how-they-work-part-1-a-bakers-dozen.aspx#comments</comments><description>&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Starting with the Node Package Manager&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;I start this post by installing Node Package Manager. This is your gateway to Node nirvana. NPM will allow you to leverage 1000’s of lines of others code to make your node development efficient.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;After installing NPM, we will download the library called &lt;strong&gt;underscore.&lt;/strong&gt; This library has dozens of utility functions. I will walk you through about 12 of them. It will provide a quick background and allow you to start using underscore almost immediately in your code.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;In a nutshell, you will learn:&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(252, 239, 197);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; How to install NPM&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; This is the first, mandatory step to Node Nirvana&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; How to install &lt;strong&gt;underscore&lt;/strong&gt;&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;strong&gt;underscore&lt;/strong&gt; is the hugely popular library for node to provide functional programming capabilities to your code&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(252, 239, 197);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; How to use &lt;strong&gt;underscore&lt;/strong&gt;&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; I provide 12 detailed examples with copy and pastable code to show how they work.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Helps you install all modules from GitHub.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="yu23pjfo" border="0" alt="yu23pjfo" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8233.yu23pjfo_5F00_73B29923.jpg" width="512" height="493" /&gt;&lt;/div&gt;  &lt;hr /&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Windows or Mac – It is easy to install npm.exe (Node Package Manager)&lt;/strong&gt;&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Step 1&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Navigate to http://npmjs.org/dist/&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Step 2&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Download npm-1.1.9.zip to a folder that has access to node.exe&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Step 3&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Unzip npm-1.1.9.zip files to download folder&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&amp;#160;&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(252, 239, 197);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Easy Install for the Node Package Manager&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; &lt;a href="http://npmjs.org/dist/" target="_blank"&gt;http://npmjs.org/dist/&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="z34nupxq" border="0" alt="z34nupxq" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4431.z34nupxq_5F00_6E63B272.jpg" width="600" height="442" /&gt;&lt;/div&gt;  &lt;hr /&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Let’s run through the most popular packages&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Here are the “most used” packages in Node&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="aiiuh1h5" border="0" alt="aiiuh1h5" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6661.aiiuh1h5_5F00_1863B09B.jpg" width="600" height="420" /&gt;&lt;/div&gt;  &lt;hr /&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;underscore&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; The command to install using the node package manager is:&lt;/div&gt;  &lt;div style="font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: large; font-weight: bold;"&gt;npm install underscore&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="fbd15dbe" border="0" alt="fbd15dbe" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7651.fbd15dbe_5F00_77703DF3.jpg" width="922" height="117" /&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Purpose of underscore&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="z22mrlzd" border="0" alt="z22mrlzd" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3377.z22mrlzd_5F00_24852AC2.jpg" width="600" height="416" /&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; To bring functional language capabilities to Node.js. There is tons of wrapper code to help you.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;What is a functional language anyway?&lt;/strong&gt;&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(221, 255, 170);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Functional languages treats computation as the evaluation of mathematical functions &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Avoids state and mutable data&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(221, 255, 170);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;hr /&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;underscore01.js&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Note the code below loops through the array of numbers (1, 2, 3), calculating an average &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;It then increments the module level variable tot. Finally, it prints the result.&lt;/div&gt;  &lt;pre class="code"&gt;&lt;span style="color: rgb(0, 100, 0);"&gt;// Include underscore library
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;_ = require(&lt;span style="color: maroon;"&gt;'underscore'&lt;/span&gt;)._;

&lt;span style="color: rgb(0, 100, 0);"&gt;// Needs module scope to work
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;tot = 0;
&lt;span style="color: blue;"&gt;var &lt;/span&gt;count = 0;
_.each([1, 2, 3], &lt;span style="color: blue;"&gt;function &lt;/span&gt;(num) {
    &lt;span style="color: rgb(0, 100, 0);"&gt;// increment tot
    &lt;/span&gt;tot += num;
    count++;
});
console.log(&lt;span style="color: maroon;"&gt;'The average is ' &lt;/span&gt;+ tot / count); 
&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7585.image_5F00_23ACC4D8.png" width="266" height="47" /&gt;
&lt;/pre&gt;

&lt;hr /&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;underscore02.js&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Uses map functions to build associative arrays. Notice the callback parameters:&lt;/div&gt;

&lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;
    &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;
      &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;strong&gt;val&lt;/strong&gt;&lt;/td&gt;

      &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; either 1 or 2&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;
      &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/td&gt;

      &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; either 0 or 1. Just starts with 0 and auto-increments&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;
      &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;strong&gt;list&lt;/strong&gt;&lt;/td&gt;

      &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; The associative array itself&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Note you can look values in the map using syntax like this:&lt;/div&gt;

&lt;div style="font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: large; font-weight: bold;"&gt;list[key]&lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: rgb(0, 100, 0);"&gt;// Include underscore library
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;_ = require(&lt;span style="color: maroon;"&gt;'underscore'&lt;/span&gt;)._;

_.map([1, 2], &lt;span style="color: blue;"&gt;function &lt;/span&gt;(val, key, list) {
    console.log(&lt;span style="color: maroon;"&gt;'key is ' &lt;/span&gt;+ key + &lt;span style="color: maroon;"&gt;', ' &lt;/span&gt;+ &lt;span style="color: maroon;"&gt;'value is ' &lt;/span&gt;+ val);
    console.log(&lt;span style="color: maroon;"&gt;'list[' &lt;/span&gt;+ key + &lt;span style="color: maroon;"&gt;'] =  ' &lt;/span&gt;+ list[key]);
});
&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5516.image_5F00_156E4BE8.png" width="281" height="96" /&gt;
&lt;/pre&gt;

&lt;hr /&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;underscore03.js&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Notice we provide the keys in this example. So if we say something like &lt;strong&gt;list[one]&lt;/strong&gt; we get the value of &lt;strong&gt;1&lt;/strong&gt;.&lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: rgb(0, 100, 0);"&gt;// Include underscore library
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;_ = require(&lt;span style="color: maroon;"&gt;'underscore'&lt;/span&gt;)._;

&lt;span style="color: rgb(0, 100, 0);"&gt;// Using a map with keys declared. Notice the {} instead
// of []
&lt;/span&gt;_.map({ one: 1, two: 2 }, &lt;span style="color: blue;"&gt;function &lt;/span&gt;(val, key, list) {
    console.log(&lt;span style="color: maroon;"&gt;'key is ' &lt;/span&gt;+ key + &lt;span style="color: maroon;"&gt;', ' &lt;/span&gt;+ &lt;span style="color: maroon;"&gt;'value is ' &lt;/span&gt;+ val);
    console.log(&lt;span style="color: maroon;"&gt;'list[' &lt;/span&gt;+ key + &lt;span style="color: maroon;"&gt;'] =  ' &lt;/span&gt;+ list[key]);

});

&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3056.image_5F00_351D25B0.png" width="286" height="95" /&gt;
&lt;/pre&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;underscore04.js – recursive techniques&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; I show two versions here. The first version uses the underscore library. The second version is hand written.&lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: rgb(0, 100, 0);"&gt;// Include underscore library
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;_ = require(&lt;span style="color: maroon;"&gt;'underscore'&lt;/span&gt;)._;

&lt;span style="color: blue;"&gt;var &lt;/span&gt;sum = _.reduce([1, 2, 3, 4], &lt;span style="color: blue;"&gt;function &lt;/span&gt;(memo, num) {
    console.log(&lt;span style="color: maroon;"&gt;'memo is ' &lt;/span&gt;+ memo + &lt;span style="color: maroon;"&gt;' and num is ' &lt;/span&gt;+
                 num + &lt;span style="color: maroon;"&gt;' and total is ' &lt;/span&gt;+ (memo + num));

    &lt;span style="color: rgb(0, 100, 0);"&gt;// Simple compounding function
    &lt;/span&gt;&lt;span style="color: blue;"&gt;return &lt;/span&gt;memo + num;

}, 0);
console.log(&lt;span style="color: maroon;"&gt;'sum is ' &lt;/span&gt;+ sum);

&lt;span style="color: rgb(0, 100, 0);"&gt;// You could build it by hand also
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;result = compound(4);

console.log(&lt;span style="color: maroon;"&gt;'hand written result is ' &lt;/span&gt;+ result);

&lt;span style="color: rgb(0, 100, 0);"&gt;// My handwritten version that is recursive
&lt;/span&gt;&lt;span style="color: blue;"&gt;function &lt;/span&gt;compound(aNumber) {
    &lt;span style="color: blue;"&gt;if &lt;/span&gt;(aNumber &amp;lt; 0) {
        &lt;span style="color: blue;"&gt;return &lt;/span&gt;0;
    }
    &lt;span style="color: blue;"&gt;else if &lt;/span&gt;(aNumber == 0) {
        &lt;span style="color: blue;"&gt;return &lt;/span&gt;0;
    }
    &lt;span style="color: blue;"&gt;else &lt;/span&gt;{
        &lt;span style="color: blue;"&gt;return &lt;/span&gt;(aNumber + compound(aNumber - 1));
    }
}
&lt;/pre&gt;
&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8168.image_5F00_49A2752E.png" width="478" height="125" /&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;underscore05.js – using reject&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Have you ever been rejected? Well this code shows you how to reject a genre of music&lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: rgb(0, 100, 0);"&gt;// Include underscore library
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;_ = require(&lt;span style="color: maroon;"&gt;'underscore'&lt;/span&gt;)._;

&lt;span style="color: blue;"&gt;var &lt;/span&gt;odds = _.reject([&lt;span style="color: maroon;"&gt;'80s music'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'50s music'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'90s music'&lt;/span&gt;], &lt;span style="color: blue;"&gt;function &lt;/span&gt;(list, iterator) {
    console.log(&lt;span style="color: maroon;"&gt;'list is ' &lt;/span&gt;+ list + &lt;span style="color: maroon;"&gt;', iterator is ' &lt;/span&gt;+ iterator);
    &lt;span style="color: blue;"&gt;return &lt;/span&gt;list == &lt;span style="color: maroon;"&gt;'80s music'&lt;/span&gt;;
});

&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;var &lt;/span&gt;i = 0; i &amp;lt; odds.length; i++) {
    console.log(&lt;span style="color: maroon;"&gt;'odds[' &lt;/span&gt;+ i + &lt;span style="color: maroon;"&gt;']=' &lt;/span&gt;+ odds[i]);
}
&lt;/pre&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1222.image_5F00_1B48EF81.png" width="406" height="106" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;underscore06.js&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; The function determines where in the list 35 fits in. It is the &lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: rgb(0, 100, 0);"&gt;// Include underscore library
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;_ = require(&lt;span style="color: maroon;"&gt;'underscore'&lt;/span&gt;)._;

&lt;span style="color: blue;"&gt;var &lt;/span&gt;lookupnumber = 35;
&lt;span style="color: blue;"&gt;var &lt;/span&gt;listOfNumbers = [10, 20, 30, 40, 50];

&lt;span style="color: blue;"&gt;var &lt;/span&gt;answer = _.sortedIndex(listOfNumbers, lookupnumber);

&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;var &lt;/span&gt;i = 0; i &amp;lt; listOfNumbers.length; i++) {
    console.log(&lt;span style="color: maroon;"&gt;'listOfNumbers    [' &lt;/span&gt;+ i + &lt;span style="color: maroon;"&gt;']=' &lt;/span&gt;+ listOfNumbers[i]);
}
console.log(&lt;span style="color: maroon;"&gt;'lookupnumber is ' &lt;/span&gt;+ lookupnumber + &lt;span style="color: maroon;"&gt;', answer is ' &lt;/span&gt;+ answer);

&lt;/pre&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="ue4levnc" border="0" alt="ue4levnc" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1803.ue4levnc_5F00_48CA0F44.jpg" width="386" height="123" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Javascript itself has a lot of built in power, but not as much&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; From ScriptPlanet.com you see some examples of Javascript primitives. These are awesome but there’s just a few.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="ntto1ern" border="0" alt="ntto1ern" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3365.ntto1ern_5F00_5A3A701C.jpg" width="178" height="218" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;Array Functions&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Underscore07.js – lets you blend arrays together&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Let’s you grab the first column out of 3 arrays and glue together.&lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: rgb(0, 100, 0);"&gt;// Include underscore library
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;_ = require(&lt;span style="color: maroon;"&gt;'underscore'&lt;/span&gt;)._;

&lt;span style="color: blue;"&gt;var &lt;/span&gt;stooges = [&lt;span style="color: maroon;"&gt;'moe'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'larry'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'curly'&lt;/span&gt;];
&lt;span style="color: blue;"&gt;var &lt;/span&gt;verb = [&lt;span style="color: maroon;"&gt;'has a violence level of '&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'is not violent'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'can be violent'&lt;/span&gt;];
&lt;span style="color: blue;"&gt;var &lt;/span&gt;violencelevel = [&lt;span style="color: maroon;"&gt;'very'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'not really'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'kind of'&lt;/span&gt;];

&lt;span style="color: blue;"&gt;var &lt;/span&gt;result = _.zip(stooges, verb, violencelevel);

showArray(result);

&lt;span style="color: blue;"&gt;function &lt;/span&gt;showArray(myarray) {
    &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;var &lt;/span&gt;i = 0; i &amp;lt; myarray.length; i++) {
        console.log(&lt;span style="color: maroon;"&gt;'result    [' &lt;/span&gt;+ i + &lt;span style="color: maroon;"&gt;']=' &lt;/span&gt;+ myarray[i]);
    }
}

&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="3igvv5kb" border="0" alt="3igvv5kb" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7674.3igvv5kb_5F00_6BAAD0F4.jpg" width="556" height="78" /&gt;

&lt;/pre&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;Function Functions&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;These are helper functions. They can enhance ‘this’ pointers or can help with timeouts when call functions.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Underscore07.js – lets you blend arrays together&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;_bind()&lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: rgb(0, 100, 0);"&gt;// Include underscore library
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;_ = require(&lt;span style="color: maroon;"&gt;'underscore'&lt;/span&gt;)._;

&lt;span style="color: blue;"&gt;var &lt;/span&gt;stooges = [&lt;span style="color: maroon;"&gt;'moe'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'larry'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'curly'&lt;/span&gt;];
&lt;span style="color: blue;"&gt;var &lt;/span&gt;verb = [&lt;span style="color: maroon;"&gt;'has a violence level of '&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'is not violent'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'can be violent'&lt;/span&gt;];
&lt;span style="color: blue;"&gt;var &lt;/span&gt;violencelevel = [&lt;span style="color: maroon;"&gt;'very'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'not really'&lt;/span&gt;, &lt;span style="color: maroon;"&gt;'kind of'&lt;/span&gt;];

&lt;span style="color: blue;"&gt;var &lt;/span&gt;result = _.zip(stooges, verb, violencelevel);

&lt;span style="color: blue;"&gt;var &lt;/span&gt;func = &lt;span style="color: blue;"&gt;function &lt;/span&gt;showArray(myarray) {
    &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;var &lt;/span&gt;i = 0; i &amp;lt; myarray.length; i++) {
        console.log(&lt;span style="color: blue;"&gt;this&lt;/span&gt;.name + &lt;span style="color: maroon;"&gt;'[' &lt;/span&gt;+ i + &lt;span style="color: maroon;"&gt;']=' &lt;/span&gt;+ myarray[i]);
    }
}

&lt;span style="color: rgb(0, 100, 0);"&gt;// This means that there will be a this.name property in the function
// with the value of 'result'
&lt;/span&gt;func = _.bind(func, { name: &lt;span style="color: maroon;"&gt;'result' &lt;/span&gt;}, result);

&lt;span style="color: rgb(0, 100, 0);"&gt;// Now call showArray()
&lt;/span&gt;func();
&lt;/pre&gt;

&lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1234.image_5F00_2B088485.png" width="527" height="80" /&gt;&lt;/p&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;underscore09.js&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Let’s you run a function after the call stack is free. Noice that ‘calling bigJob’ shows up immediately.That is because we differed callking ‘bigJob.’&lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: rgb(0, 100, 0);"&gt;// Include underscore library
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;_ = require(&lt;span style="color: maroon;"&gt;'underscore'&lt;/span&gt;)._;

_.defer(&lt;span style="color: blue;"&gt;function &lt;/span&gt;() { bigJob(); });
console.log(&lt;span style="color: maroon;"&gt;'calling bigJob'&lt;/span&gt;);


&lt;span style="color: blue;"&gt;function &lt;/span&gt;bigJob() {
    &lt;span style="color: blue;"&gt;for &lt;/span&gt;(i = 0; i &amp;lt; 1000000; i++) {
        &lt;span style="color: blue;"&gt;for &lt;/span&gt;(j = 0; j &amp;lt; 1000; j++) {
        }
    }
    console.log(&lt;span style="color: maroon;"&gt;'bigJob has ended'&lt;/span&gt;);
} 

&lt;/pre&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2388.image_5F00_5889A448.png" width="268" height="130" /&gt;&amp;#160; &lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;underscore10.js – using the throttle function&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Can’t get it to run less than twice.&lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: rgb(0, 100, 0);"&gt;// Include underscore library
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;_ = require(&lt;span style="color: maroon;"&gt;'underscore'&lt;/span&gt;)._;

&lt;span style="color: blue;"&gt;var &lt;/span&gt;throttled = _.throttle(bigJob, 1000);

&lt;span style="color: rgb(0, 100, 0);"&gt;// Will execute only twice
// Can't get it to run once only.
&lt;/span&gt;throttled();
throttled();
throttled();
throttled();
throttled();

&lt;span style="color: blue;"&gt;function &lt;/span&gt;bigJob() {
    &lt;span style="color: blue;"&gt;for &lt;/span&gt;(i = 0; i &amp;lt; 1000000; i++) {
        &lt;span style="color: blue;"&gt;for &lt;/span&gt;(j = 0; j &amp;lt; 1000; j++) {
        }
    }
    console.log(&lt;span style="color: maroon;"&gt;'bigJob has ended'&lt;/span&gt;);
} 
&lt;/pre&gt;
&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4442.image_5F00_060AC40C.png" width="261" height="64" /&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;underscore11.js&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Will execute only once.&lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: rgb(0, 100, 0);"&gt;// Include underscore library
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;_ = require(&lt;span style="color: maroon;"&gt;'underscore'&lt;/span&gt;)._;

&lt;span style="color: blue;"&gt;var &lt;/span&gt;justonce = _.once(bigJob);

&lt;span style="color: rgb(0, 100, 0);"&gt;// Will execute only once
&lt;/span&gt;justonce();
justonce();
justonce();
justonce();
justonce();

&lt;span style="color: blue;"&gt;function &lt;/span&gt;bigJob() {
    &lt;span style="color: blue;"&gt;for &lt;/span&gt;(i = 0; i &amp;lt; 1000000; i++) {
        &lt;span style="color: blue;"&gt;for &lt;/span&gt;(j = 0; j &amp;lt; 10; j++) {
        }
    }
    console.log(&lt;span style="color: maroon;"&gt;'bigJob has ended'&lt;/span&gt;);
} 

&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0825.image_5F00_29C3EBA6.png" width="267" height="41" /&gt;
&lt;/pre&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;underscore12.js&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Enumerating properties and values.&lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: rgb(0, 100, 0);"&gt;// Include underscore library
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;_ = require(&lt;span style="color: maroon;"&gt;'underscore'&lt;/span&gt;)._;

&lt;span style="color: blue;"&gt;var &lt;/span&gt;customobject = { hottest_pepper: &lt;span style="color: maroon;"&gt;'habanero'&lt;/span&gt;, best_sauce: &lt;span style="color: maroon;"&gt;'putanesca'&lt;/span&gt;,
    least_healthy: &lt;span style="color: maroon;"&gt;'alfredo'
&lt;/span&gt;}

&lt;span style="color: blue;"&gt;var &lt;/span&gt;properties = _.keys(customobject);
&lt;span style="color: blue;"&gt;var &lt;/span&gt;values = _.values(customobject);

console.log(&lt;span style="color: maroon;"&gt;''&lt;/span&gt;);
console.log(&lt;span style="color: maroon;"&gt;'Displaying properties'&lt;/span&gt;);
showArray(properties);
console.log(&lt;span style="color: maroon;"&gt;'Displaying values'&lt;/span&gt;);
showArray(values);


&lt;span style="color: blue;"&gt;function &lt;/span&gt;showArray(myarray) {
    &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;var &lt;/span&gt;i = 0; i &amp;lt; myarray.length; i++) {
        console.log(myarray[i]);
    }
    console.log(&lt;span style="color: maroon;"&gt;''&lt;/span&gt;);
}

&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7103.image_5F00_77601826.png" width="275" height="185" /&gt;&lt;/pre&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;
  &lt;hr /&gt;

  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Wrap up for now&lt;/strong&gt;&lt;/div&gt;

  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; The next post will continue with some new modules. I recommend doing what I did. I tweaked and combined different examples to learn better how they work together. I plan to post a few more samples on the other modules soon. As always, life is busy. Hope this gets you one step closer to using Node effectively.&lt;/div&gt;

  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10284605" width="1" height="1"&gt;</description></item><item><title>Occasionally Connected Scenarios-How much power is too much power for the client?</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/14/occasionally-connected-scenarios-it-doesn-t-have-to-be-complicated.aspx</link><pubDate>Wed, 14 Mar 2012 18:43:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10283108</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10283108</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/14/occasionally-connected-scenarios-it-doesn-t-have-to-be-complicated.aspx#comments</comments><description>&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/div&gt;    &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;I am on a Microsoft Patterns and Practices advisory board to explore and provide guidance on the well-known and popular CQRS Design Pattern. We are exploring occasionally disconnected scenarios as part of the project. &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; As new versions of Windows role out and more mobile platforms are practical, managing disconnected scenarios will increase in importance.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;   &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;       &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Team Lead - Grigori           &lt;br /&gt;Melnik&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://blogs.msdn.com/b/agile/archive/2012/02/24/microsoft-s-cqrs-journey-project-to-take-community-contributions.aspx" target="_blank"&gt;http://blogs.msdn.com/b/agile/archive/2012/02/24/microsoft-s-cqrs-journey-project-to-take-community-contributions.aspx&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&amp;#160; &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;   &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;       &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(252, 239, 197);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;CQRS Journey&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://cqrsjourney.github.com/" target="_blank"&gt;http://cqrsjourney.github.com/&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;   &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;       &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="311"&gt;           &lt;br /&gt;            &lt;br /&gt;Advisory board&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="578"&gt;&lt;a href="http://cqrsjourney.github.com/advisors/members/#" target="_blank"&gt;http://cqrsjourney.github.com/advisors/members/#&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="311"&gt; Apache 2.0&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="578"&gt;&lt;a href="http://opensource.org/licenses/Apache-2.0#" target="_blank"&gt;http://opensource.org/licenses/Apache-2.0#&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&amp;#160;&lt;strong&gt;The Biggest Challenge for the client – Defining the decision-making power available to the client if disconnected&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;The biggest challenge in occasionally connected scenarios is empowering the client when they are not connected. Just because the network is down, doesn’t mean the client still has to do serious work.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;This means the client application will occasionally make mistakes because it doesn’t have the most up to date information. Let’s face it – that is just a fact of life – sometimes you make decisions with limited information. The question ultimately becomes, how bold are your decisions and how long has it been since you get the latest information.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Concrete Example-Conference Software&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Imagine that you create software run conferences. This software handles all aspects of running a variety of conference types, handling such things as registration, badge printing, scheduling, calendars, and so on.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="761"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="265"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="bcxjjove" border="0" alt="bcxjjove" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6648.bcxjjove_5F00_6F8862AF.jpg" width="261" height="196" /&gt;&lt;/td&gt;          &lt;td valign="top" width="494"&gt;For example, how would you handle the situation where the network is down an conference registrant wants to upgrade their registration and attend the panel discussion?            &lt;br /&gt;            &lt;br /&gt;The client software will need to update the badge to allow entry into the event.             &lt;br /&gt;            &lt;br /&gt;But because the network is down you inadvertently sell an extra ticket when the event was already &lt;font color="#ff0000"&gt;&lt;strong&gt;sold out&lt;/strong&gt;&lt;/font&gt;.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;You can also call it occasionally connected scenarios&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Questions that you’ll have to answer along the way of developing a solution.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;   &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;       &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Question 1&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; What are issues when the client is disconnected?&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Question 2&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; How does the client manage events that are pending?&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Question 3&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; When the client reconnects, what is important to do?&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;/div&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="Slide1" border="0" alt="Slide1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7823.Slide1_5F00_1C9D4F7E.png" width="700" height="394" /&gt;&lt;/p&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Power to the client ! &lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Assuming the client is disconnected, are you going to allow seat purchases? Isn’t that risky since the event may have sold out? Maybe you decide that if the client connected within the last hour and there was 10% seats left at that time, then it would be ok to sell additional seats when disconnected from the registration databases.&lt;/div&gt;  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="Slide2" border="0" alt="Slide2" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6646.Slide2_5F00_65078E8F.png" width="700" height="281" /&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The client will need to queue outgoing events when disconnected&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;The client will need to update the server after re-connecting. Changes to local data will need to be persisted up to the cloud.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Interestingly, there are some challenging decisions here. There are at least 2 choices like this:&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;" width="710"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="93"&gt; &lt;strong&gt;Choice 1            &lt;br /&gt;&lt;/strong&gt;[preferred by me]&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="615"&gt;         &lt;ul&gt;           &lt;li&gt; The client makes all changes to the local database. &lt;/li&gt;            &lt;li&gt;It also records changes as events. Those events get queued. &lt;/li&gt;            &lt;li&gt;Once the client re-connects, all the queued events get sent to the server.&lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="93"&gt; &lt;strong&gt;Choice 2&lt;/strong&gt;&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="615"&gt;         &lt;ul&gt;           &lt;li&gt; The client does not change the local data. &lt;/li&gt;            &lt;li&gt;The client records everything as an event. &lt;/li&gt;            &lt;li&gt;Events get propagated up to the server once re-connection happens. &lt;/li&gt;            &lt;li&gt;Once the server receives the events from the clients, it re-sends these events to all other clients. &lt;/li&gt;            &lt;li&gt;But this approach suffers from local data staleness.&lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="Slide3" border="0" alt="Slide3" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8715.Slide3_5F00_2A3FE5B9.png" width="648" height="226" /&gt;&lt;/p&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The client may not be able to send outgoing events &lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; A local, persistent database is clearly needed to store event-related .&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;thead&gt;     &lt;tr&gt;       &lt;th style="padding: 5px 15px; left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: silver; align: left;" scope="col"&gt; What the client needs &lt;/th&gt;        &lt;th style="padding: 5px 15px; left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; background-color: silver; align: left;" scope="col"&gt; Why it needs it &lt;/th&gt;     &lt;/tr&gt;   &lt;/thead&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Client Needs a local store&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Needs local access to registrants, schedules, room locations, etc&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; When connected the client receives seat availability events&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; These events either increase or decrease available seats at events. The client needs to be kept up-to-date about available seats.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; These events get queued up at the server when the client is not connected&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Upon reconnection the client will need to process incoming events. The client may not be able to see this events when the network is down.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;tfoot&gt;     &lt;tr style="background-color: silver;"&gt;       &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tfoot&gt;&lt;/table&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="Slide4" border="0" alt="Slide4" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6648.Slide4_5F00_69316654.png" width="700" height="394" /&gt;&lt;/p&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The client will adjust it's local store based on incoming events &lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; &lt;strong&gt;Two types of Queues - Incoming and Outgoing &lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;But this is only possible when there is a connection. Notice there are queues to support incoming and outgoing events. This event mechanism is used to synchronize clients and servers. You can leverage the Windows Azure Service Bus to implement this pattern. I will do this in&amp;#160; a future post.&lt;/div&gt;  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="Slide5" border="0" alt="Slide5" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1537.Slide5_5F00_7CDE4FE8.png" width="700" height="394" /&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Sequence Diagram Exploration&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; How does the client manage event processing when occasionally disconnected? Get ready to view this in detail in a little while.&lt;/div&gt;  &lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="Slide6" border="0" alt="Slide6" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3107.Slide6_5F00_2DFD8A89.png" width="700" height="394" /&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;We will allow clients to oversell seats at events &lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; The caveat is that it has only a one hour window where an oversell can take place. We could even add more rules. For example, we could say that client workstations can sell tickets assuming they have connected within the hour, plus there were at least 10% of seats left last time we checked.&lt;/div&gt;  &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="Slide7" border="0" alt="Slide7" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0385.Slide7_5F00_3AF76A9A.png" width="700" height="284" /&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Two type of events &lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Seat Sold and Seat Available Events.These events could be sent by the client or could be received by the client from the server.&lt;/div&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="lyzfestj" border="0" alt="lyzfestj" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2248.lyzfestj_5F00_6CF2C8A1.jpg" width="676" height="463" /&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Here is a workflow that demonstrates how seats are sold&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Service interruption may occur anywhere in the timeline.Notice that we have a Client A and and a Client B.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;The sequence diagram is fairly basic:&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Occasionally, the client gets the most up to date events around event and seat availability. &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Assume the client is up to date. It thinks it has one seat left.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; After the client loses a connection, the last seat is sold by another client.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; But the client doesn't know better and sells that last seat anyway.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Client A reconnects and needs to merge events&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;The key question to ask &lt;font color="#c0504d"&gt;&lt;strong&gt;“What will the client do once it realizes it oversold seats to an event?”&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;  &lt;p&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="Slide9" border="0" alt="Slide9" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4263.Slide9_5F00_3227624E.png" width="700" height="394" /&gt;&lt;/p&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The client is allowed one hour to override oversold scenarios &lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; The client may need to notify onsite staff for oversold scenarios.&lt;/div&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="5tadqikr" border="0" alt="5tadqikr" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1145.5tadqikr_5F00_59B6D46E.jpg" width="700" height="394" /&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Lingering Questions &lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Overselling an event is not an easy problem to resolve. If a mistake is made, it may not be resolvable at all.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Pick your poison – some decisions aren’t easy&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; There is a discrete number of behaviors the occasionally connected client can pursue once it discovers and event is oversold:&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; It can phone call the person and reverse the seat sale, canceling the scan-able badge. That would probably not be wise from a customer satisfaction point of view.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; It can let the oversold ticket work anyway and notify local staff about an extra seat&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; It could refuse service to a registrant in a disconnected state.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;In closing, you can see that the biggest challenge in a disconnected scenario is defining what the client should be allowed to do if in a disconnected state.The things a client can accomplish could also be fine-tuned based on other factors, such as:&lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;What percent full was the event at last count?&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;What is the ticket sales rate overtime? Statistics could be used to predict if an event is selling out quickly.&lt;/div&gt;   &lt;/li&gt;  &lt;/ul&gt;  &lt;p style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Implementing this software is the next goal. Stay tuned.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10283108" width="1" height="1"&gt;</description></item><item><title>Dependency Injection / Inversion of Control–A Concrete Example-Roll your own</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/08/dependency-injection-inversion-of-control-a-concrete-example-roll-your-own.aspx</link><pubDate>Thu, 08 Mar 2012 16:43:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10279880</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10279880</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/08/dependency-injection-inversion-of-control-a-concrete-example-roll-your-own.aspx#comments</comments><description>&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&amp;#160;&lt;strong&gt;Who’s the wizard behind the curtain?&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;   &lt;p&gt;I’ve been reading Martin Fowler’s post about Inversion of Control / Dependency Injection at &lt;a href="http://www.martinfowler.com"&gt;http://www.martinfowler.com&lt;/a&gt;. I looked long and hard for very simple examples that were easy to follow. I wanted to explore how they work, not just how to use an existing library.&lt;/p&gt;    &lt;p&gt;How exactly does Dependency Injection work? It seemed rather mysterious to me from the implementation point of view. Some people look at a compiler and think, “Wow, that’s cool how it could translate source code into machine code.” &lt;/p&gt;    &lt;p&gt;I’m the type of person that wants to know how exactly it works. &lt;/p&gt;    &lt;p&gt;So in this post I show you how you might start to think about building a Dependency Injection container.&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;    &lt;p&gt;I focus on code here. If you want to read all the friendly narrative, here is Martin’s post:&lt;/p&gt;    &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;       &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Inversion of Control Containers and the Dependency Injection pattern&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; &lt;a href="http://martinfowler.com/articles/injection.html" target="_blank"&gt;http://martinfowler.com/articles/injection.html&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The difficult way to learn how things work – using pre-built libraries&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;   &lt;p&gt;But the basic guidance is to use pre-built libraries. Microsoft historically supported the enterprise library, Unity. There is also Castle Windsor as an available library.&lt;/p&gt;  &lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; The Unity Application Block&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff648512.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/ff648512.aspx&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;br /&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;" width="649"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="251"&gt; Castle Windsor&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="396"&gt;&lt;a href="http://www.castleproject.org/castle/download.html" target="_blank"&gt;http://www.castleproject.org/castle/download.html&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Roll your own&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; But I was curious. What could I create in C# that mimicked the basic principles using some of features of C# just to illustrate the basic point with a simple, concrete example? &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;I’m borrowing heavily from Martin Fowler here, since he is highly regarded in software architecture space.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The definition in 2 sentences&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;In the Dependency Injection pattern, this decision is delegated to the &amp;quot;injector&amp;quot; which can choose to substitute different concrete class implementations of a dependency contract interface at run-time rather than at compile time. &lt;strong&gt;Being able to make this decision at run-time rather than compile time is the key advantage of dependency injection.&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Conventional OO – The dependent object is in control&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;With conventional software development the dependent object decides for itself what concrete classes it will use. &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Referring to Figure 1, this means the constructor for TextFileLister decides what concrete classes it will use. &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The dependent object will typically choose from among the two classes in Figure 2&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Figure 2 demonstrates that TextFileLister could choose either CommaTextFileReader or TabTextFileReader to process and read text files. &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;   &lt;p&gt;This is where the term Dependency Injection comes into play.&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Figure 1 – The Dependency Injection Diagram&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="utu15abf" border="0" alt="utu15abf" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7506.utu15abf_5F00_5BB5BB96.jpg" width="669" height="263" /&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Figure 2 – The interface and the corresponding implementation&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="rnoxfijc" border="0" alt="rnoxfijc" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1526.rnoxfijc_5F00_4FB3CB62.jpg" width="595" height="287" /&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Let the assembler (MutableContainer) make the decision&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;The basic idea of the Dependency Injection sample we are writing is to have a separate object, an assembler, that populates a field in the TextFileLister class with an appropriate implementation for the IFileReader interface, resulting in a dependency diagram along the lines of Figure 1. &lt;/p&gt;    &lt;p&gt;In a nutshell, the assembler makes the call. It chooses either CommaTextFileReader or TabTextFileReader. &lt;font color="#c0504d"&gt;&lt;strong&gt;The key point is that TextFileLister doesn’t make the decision.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;Figure 3 illustrates the Visual Studio project I created to demonstrate the points.&lt;/p&gt;    &lt;p&gt;&lt;b&gt;Figure 3 – Visual Studio&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="ln4vue31" border="0" alt="ln4vue31" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1602.ln4vue31_5F00_48285BF5.jpg" width="366" height="380" /&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;" width="968"&gt;&lt;tbody&gt;       &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;CommaDelimitedData.txt&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="748"&gt; Contains a comma-delimited list of strings&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;CommaTextFileReader.cs&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="748"&gt; Reads and parses CommaDelimitedData.txt, using commas as the delimeter.&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;IFileReader.cs&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="748"&gt; The interface to CommaTextFileReader and TabTextFileReader&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;MutableContainer.cs&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="748"&gt; The assembler which will build and configure objects at runtime. In a nutshell, it can be used to use either CommaTextFileReader or TabTextFileReader. This is the secret sauce to dependency injection.&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Program.cs&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="748"&gt; The main driver program containing main()&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;TabDelimitedData.txt&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="748"&gt; Contains a tab-delimited list of strings&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;TabTextFileReader.cs&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="748"&gt; Reads and parses TabDelimitedData.txt, using tabs as the delimeter&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;         &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;TextFileLister.cs&lt;/td&gt;          &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="748"&gt; The dependent object that uses the interface IFileReader. The TextFileLister will rely on CommaTextFileReader or TabTextFileReader, depending what the assembler decides (MutableContainer)&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The code&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Let’s start to explore the code. We’ll start with the basic objects and work our way up to the assembler.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Figure 4 is pretty straightforward and shows us the interface used by the two implementing classes in Figures 5 and 6. This is critical that we have an interface. Interfaces allow us to swap out the implementations without runtime or compile time errors.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;b&gt;Figure 4: IFileReader.cs - The interface to CommaTextFileReader and TabTextFileReader&lt;/b&gt;&lt;/div&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;
&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;IocForDummies
{
    &lt;span style="color: blue;"&gt;interface &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;IFileReader
    &lt;/span&gt;{
        &lt;span style="color: blue;"&gt;void &lt;/span&gt;Close();
        &lt;span style="color: blue;"&gt;int &lt;/span&gt;CountColumns();
        &lt;span style="color: blue;"&gt;int &lt;/span&gt;CountLines();
        &lt;span style="color: blue;"&gt;void &lt;/span&gt;FillData(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[,] data);
        &lt;span style="color: blue;"&gt;bool &lt;/span&gt;HasData();
        &lt;span style="color: blue;"&gt;void &lt;/span&gt;ReadLine(&lt;span style="color: blue;"&gt;string &lt;/span&gt;s);
    }
}
&lt;/pre&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;
  &lt;p&gt;This is one of the two implementation files that use IFileReader. The code is self-explanatory. It opens a text file and parses it out. In this case it is simply parsing a comma-delimited text file.&lt;/p&gt;

  &lt;p&gt;&lt;b&gt;Figure 5: CommaTextFileReader.cs - Reads and parses CommaDelimitedData.txt, using commas as the delimeter&lt;/b&gt;&lt;/p&gt;

  &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Collections.Generic;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Linq;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Text;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.IO;

&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;IocForDummies
{
    &lt;span style="color: blue;"&gt;public class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;CommaTextFileReader &lt;/span&gt;: IocForDummies.&lt;span style="color: rgb(43, 145, 175);"&gt;IFileReader
    &lt;/span&gt;{
        &lt;span style="color: rgb(43, 145, 175);"&gt;FileStream &lt;/span&gt;fsReader = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;
        &lt;span style="color: rgb(43, 145, 175);"&gt;StreamReader &lt;/span&gt;streamReader = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;

        &lt;span style="color: blue;"&gt;public &lt;/span&gt;CommaTextFileReader(&lt;span style="color: blue;"&gt;string &lt;/span&gt;path)
        {
            fsReader = &lt;span style="color: rgb(43, 145, 175);"&gt;File&lt;/span&gt;.Open(path, &lt;span style="color: rgb(43, 145, 175);"&gt;FileMode&lt;/span&gt;.Open);
            streamReader = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;StreamReader&lt;/span&gt;(fsReader, System.Text.&lt;span style="color: rgb(43, 145, 175);"&gt;Encoding&lt;/span&gt;.ASCII);

        }
        &lt;span style="color: blue;"&gt;public void &lt;/span&gt;ReadLine(&lt;span style="color: blue;"&gt;string &lt;/span&gt;s)
        {
            s = streamReader.ReadLine();
        }
        &lt;span style="color: blue;"&gt;public bool &lt;/span&gt;HasData()
        {
            &lt;span style="color: blue;"&gt;return &lt;/span&gt;(streamReader.EndOfStream == &lt;span style="color: blue;"&gt;false&lt;/span&gt;);
        }
        &lt;span style="color: blue;"&gt;public void &lt;/span&gt;FillData(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[,] data)
        {
            &lt;span style="color: blue;"&gt;string&lt;/span&gt;[] s = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;
            &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; data.GetLength(0); i++)
            {
                s = streamReader.ReadLine().Split(&lt;span style="color: rgb(163, 21, 21);"&gt;','&lt;/span&gt;);
                &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;j = 0; j &amp;lt; data.GetLength(1); j++)
                {
                    &lt;span style="color: blue;"&gt;if &lt;/span&gt;(s[j] != &lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;&amp;quot;&lt;/span&gt;)
                        data[i, j] = s[j];
                }
            }
        }
        &lt;span style="color: blue;"&gt;public int &lt;/span&gt;CountLines()
        {
            &lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0;
            &lt;span style="color: blue;"&gt;string &lt;/span&gt;s = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;
            &lt;span style="color: blue;"&gt;while &lt;/span&gt;((s = streamReader.ReadLine()) != &lt;span style="color: blue;"&gt;null&lt;/span&gt;)
            {
                i++;
            }
            fsReader.Seek(0, &lt;span style="color: rgb(43, 145, 175);"&gt;SeekOrigin&lt;/span&gt;.Begin);
            streamReader.DiscardBufferedData();
            &lt;span style="color: blue;"&gt;return &lt;/span&gt;i;
        }
        &lt;span style="color: blue;"&gt;public int &lt;/span&gt;CountColumns()
        {
            &lt;span style="color: blue;"&gt;string &lt;/span&gt;s = streamReader.ReadLine();
            &lt;span style="color: blue;"&gt;string&lt;/span&gt;[] columns = s.Split(&lt;span style="color: rgb(163, 21, 21);"&gt;','&lt;/span&gt;);
            fsReader.Seek(0, &lt;span style="color: rgb(43, 145, 175);"&gt;SeekOrigin&lt;/span&gt;.Begin);
            streamReader.DiscardBufferedData();
            &lt;span style="color: blue;"&gt;return &lt;/span&gt;columns.Length;
        }
        &lt;span style="color: blue;"&gt;public void &lt;/span&gt;Close()
        {
            streamReader.Close();
            fsReader.Close();
        }
    }
}

  &lt;/pre&gt;
&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;TabTextFileReader&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; This is the second of the two implementation files that use IFileReader. The code is self-explanatory. It opens a text file and parses it out. In this case it is simply parsing a tab-delimited text file.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;b&gt;Figure 6: TabTextFileReader.cs - Reads and parses TabDelimitedData.txt, using tabs as the delimeter&lt;/b&gt;&lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;public class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;TabTextFileReader &lt;/span&gt;: IocForDummies.&lt;span style="color: rgb(43, 145, 175);"&gt;IFileReader
&lt;/span&gt;{
    &lt;span style="color: rgb(43, 145, 175);"&gt;FileStream &lt;/span&gt;fsReader = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;
    &lt;span style="color: rgb(43, 145, 175);"&gt;StreamReader &lt;/span&gt;streamReader = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;

    &lt;span style="color: blue;"&gt;public &lt;/span&gt;TabTextFileReader(&lt;span style="color: blue;"&gt;string &lt;/span&gt;path)
    {
        fsReader = &lt;span style="color: rgb(43, 145, 175);"&gt;File&lt;/span&gt;.Open(path, &lt;span style="color: rgb(43, 145, 175);"&gt;FileMode&lt;/span&gt;.Open);
        streamReader = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;StreamReader&lt;/span&gt;(fsReader);

    }
    &lt;span style="color: blue;"&gt;public void &lt;/span&gt;ReadLine(&lt;span style="color: blue;"&gt;string &lt;/span&gt;s)
    {
        s = streamReader.ReadLine();
    }
    &lt;span style="color: blue;"&gt;public bool &lt;/span&gt;HasData()
    {
        &lt;span style="color: blue;"&gt;return &lt;/span&gt;(streamReader.EndOfStream == &lt;span style="color: blue;"&gt;false&lt;/span&gt;);
    }
    &lt;span style="color: blue;"&gt;public void &lt;/span&gt;FillData(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[,] data)
    {
        &lt;span style="color: blue;"&gt;string&lt;/span&gt;[] s = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;
        &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; data.GetLength(0); i++)
        {
            s = streamReader.ReadLine().Split(&lt;span style="color: rgb(163, 21, 21);"&gt;','&lt;/span&gt;);
            &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;j = 0; j &amp;lt; data.GetLength(1); j++)
            {
                &lt;span style="color: blue;"&gt;if &lt;/span&gt;(s[j] != &lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;&amp;quot;&lt;/span&gt;)
                    data[i, j] = s[j];
            }
        }
    }
    &lt;span style="color: blue;"&gt;public int &lt;/span&gt;CountLines()
    {
        &lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0;
        &lt;span style="color: blue;"&gt;string &lt;/span&gt;s = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;
        &lt;span style="color: blue;"&gt;while &lt;/span&gt;((s = streamReader.ReadLine()) != &lt;span style="color: blue;"&gt;null&lt;/span&gt;)
        {
            i++;
        }
        fsReader.Seek(0, &lt;span style="color: rgb(43, 145, 175);"&gt;SeekOrigin&lt;/span&gt;.Begin);
        streamReader.DiscardBufferedData();
        &lt;span style="color: blue;"&gt;return &lt;/span&gt;i;
    }
    &lt;span style="color: blue;"&gt;public int &lt;/span&gt;CountColumns()
    {
        &lt;span style="color: blue;"&gt;string &lt;/span&gt;s = streamReader.ReadLine();
        &lt;span style="color: blue;"&gt;string&lt;/span&gt;[] columns = s.Split(&lt;span style="color: rgb(163, 21, 21);"&gt;','&lt;/span&gt;);
        fsReader.Seek(0, &lt;span style="color: rgb(43, 145, 175);"&gt;SeekOrigin&lt;/span&gt;.Begin);
        streamReader.DiscardBufferedData();
        &lt;span style="color: blue;"&gt;return &lt;/span&gt;columns.Length;

    }
    &lt;span style="color: blue;"&gt;public void &lt;/span&gt;Close()
    {
        streamReader.Close();
        fsReader.Close();
    }
}

&lt;/pre&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; The class in Figure 7 (TextFileLister) simply calls the code in the implementation files in Figures 5 and 6. The key point is IFileReader can contain either CommaTextFileReader or TabTextFileReader, depending on the assembler’s wishes. This is the key point in this post – that TextFileLister doesn’t determine the classes it will use.&lt;/div&gt;

&lt;p style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Figure 7: TextFileLister.cs - The dependent object that uses the interface IFileReader. The TextFileLister will rely on CommaTextFileReader or TabTextFileReader, depending what the assembler (MutableContainer) decides&lt;/strong&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Collections.Generic;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Linq;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Text;

&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;IocForDummies
{
    &lt;span style="color: blue;"&gt;class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;TextFileLister
    &lt;/span&gt;{
        &lt;span style="color: rgb(43, 145, 175);"&gt;IFileReader &lt;/span&gt;reader = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;
        &lt;span style="color: blue;"&gt;string&lt;/span&gt;[,] data = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;

        &lt;span style="color: blue;"&gt;public &lt;/span&gt;TextFileLister(&lt;span style="color: rgb(43, 145, 175);"&gt;IFileReader &lt;/span&gt;fileReader)
        {
            reader = fileReader;
        }
        &lt;span style="color: blue;"&gt;public void &lt;/span&gt;ReadData()
        {
            &lt;span style="color: blue;"&gt;int &lt;/span&gt;lines = reader.CountLines();
            &lt;span style="color: blue;"&gt;int &lt;/span&gt;columns = reader.CountColumns();
            data = &lt;span style="color: blue;"&gt;new string&lt;/span&gt;[lines, columns];
            reader.FillData(data);
        }
        &lt;span style="color: blue;"&gt;public void &lt;/span&gt;ShowData()
        {
            &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;i = 0; i &amp;lt; data.GetLength(0); i++) 
            {
                &lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;j = 0; j &amp;lt; data.GetLength(1); j++)
                    &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.Write(&lt;span style="color: blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;[{0}]&amp;quot;&lt;/span&gt;, data[i, j]));
                &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;&amp;quot;&lt;/span&gt;);
            }
        }
        ~TextFileLister()
        {
            reader.Close();

        }
    }
}

&lt;/pre&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The Assembler – Where the magic happens&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Figure 8 has some tricky code. The _typeToCreateCode field is a dictionary. The dictionary contains object creation code that is mapped to an object type. For example, we can ask the MutableContainer code to go and retrieve the previously added constructor code for any type. Figure 9 illustrates how we add entries to the Dictionary _typeToCreateCode field. &lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Using lamdas, it is very easy to pass in a type and a delegate. For example, the AddComponent&lt;t&gt;(CreateCode createCode) gets called in Program.cs, where a type and some object construction code gets passed in.&lt;/t&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;t&gt;The code in Figure 8 allows you to later retrieve an object type and it’s creation code at runtime, supporting the whole Dependency Injection paradigm. The MutableContainer code below is at the heart of the dependency injection capabilities. &lt;/t&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;t&gt;Notice that AddComponent() will replace an existing object, not necessarily always add one. This is important because mutableContainer.AddComponent&lt;ifilereader&gt; could either pass in CommaTextFileReader or TabTextFileReader, but not both.&lt;/ifilereader&gt;&lt;/t&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Figure 8: MutableContainer.cs - The assembler which will build construct objects at runtime. In a nutshell, it can be used to use either CommaTextFileReader or TabTextFileReader&lt;/strong&gt;&lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Collections.Generic;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Linq;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Text;

&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;IocForDummies
{
    &lt;span style="color: blue;"&gt;public class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;MutableContainer
    &lt;/span&gt;{
        &lt;span style="color: blue;"&gt;public delegate object &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;CreateCode&lt;/span&gt;();

        &lt;span style="color: blue;"&gt;private readonly &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;Type&lt;/span&gt;, &lt;span style="color: rgb(43, 145, 175);"&gt;CreateCode&lt;/span&gt;&amp;gt; _typeToCreateCode
                        = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;Type&lt;/span&gt;, &lt;span style="color: rgb(43, 145, 175);"&gt;CreateCode&lt;/span&gt;&amp;gt;();

        &lt;span style="color: blue;"&gt;public &lt;/span&gt;T Create&amp;lt;T&amp;gt;()
        {
            &lt;span style="color: green;"&gt;// Do a look up in the dictionary. Use the object type to do the lookup &amp;quot;typeof(T)&amp;quot;.
            // The lookup will yield the object creation code.
            // Execute the object creation code.
            &lt;/span&gt;&lt;span style="color: blue;"&gt;return &lt;/span&gt;(T)_typeToCreateCode[&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(T)]();
        }
        &lt;span style="color: blue;"&gt;internal void &lt;/span&gt;AddComponent&amp;lt;T&amp;gt;(&lt;span style="color: rgb(43, 145, 175);"&gt;CreateCode &lt;/span&gt;CreateCode)
        {
            &lt;span style="color: green;"&gt;// Remove previous entry, if it exists
            &lt;/span&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(_typeToCreateCode.ContainsKey(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(T)))
                _typeToCreateCode.Remove(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(T));
            &lt;span style="color: green;"&gt;// Add the new entry
            &lt;/span&gt;_typeToCreateCode.Add(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(T), CreateCode);
        }
    }
}

&lt;/pre&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Using MutableContainer&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; This is the code where the assembler is called to perform its work. &lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;The key point of Dependency Injection is that the assembler determines how the TextFileLister gets constucted, whether TextFileLister uses CommaTextFileReader or TabTextFileReader. TextFileLister does not determine how it reads text files.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Figure 9: Program.cs – The main driver loop which illustrates our points&lt;/strong&gt;&lt;/div&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Collections.Generic;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Linq;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Text;

&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;IocForDummies
{
    &lt;span style="color: blue;"&gt;class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Program
    &lt;/span&gt;{
        &lt;span style="color: blue;"&gt;static void &lt;/span&gt;Main(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] args)
        {
            &lt;span style="color: blue;"&gt;string &lt;/span&gt;commaFileName = &lt;span style="color: rgb(43, 145, 175);"&gt;Environment&lt;/span&gt;.CurrentDirectory +
                                        &lt;span style="color: rgb(163, 21, 21);"&gt;@&amp;quot;..\..\..\&amp;quot; &lt;/span&gt;+ &lt;span style="color: rgb(163, 21, 21);"&gt;@&amp;quot;CommaDelimitedData.txt&amp;quot;&lt;/span&gt;;

            &lt;span style="color: blue;"&gt;string &lt;/span&gt;tabFileName = &lt;span style="color: rgb(43, 145, 175);"&gt;Environment&lt;/span&gt;.CurrentDirectory +
                                        &lt;span style="color: rgb(163, 21, 21);"&gt;@&amp;quot;..\..\..\&amp;quot; &lt;/span&gt;+ &lt;span style="color: rgb(163, 21, 21);"&gt;@&amp;quot;TabDelimitedData.txt&amp;quot;&lt;/span&gt;;


            &lt;span style="color: rgb(43, 145, 175);"&gt;MutableContainer &lt;/span&gt;mutableContainer = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;MutableContainer&lt;/span&gt;();
            
            mutableContainer.AddComponent&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;IFileReader&lt;/span&gt;&amp;gt;(() =&amp;gt;
            {
                &lt;span style="color: green;"&gt;// Embeded object is of type CommaTextFileReader
                &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;IFileReader &lt;/span&gt;fileReader= &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;CommaTextFileReader&lt;/span&gt;(commaFileName);
                &lt;span style="color: blue;"&gt;return &lt;/span&gt;fileReader;
            });

            mutableContainer.AddComponent&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;TextFileLister&lt;/span&gt;&amp;gt;(() =&amp;gt;
            {
                &lt;span style="color: rgb(43, 145, 175);"&gt;IFileReader &lt;/span&gt;fileReader = mutableContainer.Create&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;IFileReader&lt;/span&gt;&amp;gt;();
                &lt;span style="color: blue;"&gt;return new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;TextFileLister&lt;/span&gt;(fileReader);
                
            });

            &lt;span style="color: rgb(43, 145, 175);"&gt;TextFileLister &lt;/span&gt;customCommaDataReader = mutableContainer.Create&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;TextFileLister&lt;/span&gt;&amp;gt;();
            customCommaDataReader.ReadData();
            customCommaDataReader.ShowData();

            &lt;span style="color: green;"&gt;// Now read a tab delimited file
            &lt;/span&gt;mutableContainer.AddComponent&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;IFileReader&lt;/span&gt;&amp;gt;(() =&amp;gt;
            {
                &lt;span style="color: green;"&gt;// Embeded object is of type TabTextFileReader
                &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;IFileReader &lt;/span&gt;fileReader = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;TabTextFileReader&lt;/span&gt;(tabFileName);
                &lt;span style="color: blue;"&gt;return &lt;/span&gt;fileReader;
            });

            &lt;span style="color: rgb(43, 145, 175);"&gt;TextFileLister &lt;/span&gt;customTabDataReader = mutableContainer.Create&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;TextFileLister&lt;/span&gt;&amp;gt;();
            customTabDataReader.ReadData();
            customTabDataReader.ShowData();
        }
        }
}

&lt;/pre&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Figure 10 – The text files&lt;/strong&gt;&lt;/div&gt;

&lt;table style="border: currentcolor; border-collapse: collapse; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt;" class="MsoTableGrid" border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;
    &lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"&gt;
      &lt;td style="padding: 0in 5.4pt; border: 1pt solid windowtext; width: 6.15in; mso-border-alt: solid windowtext .5pt;" valign="top" width="590"&gt;
        &lt;p style="mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;u&gt;&lt;span style="color: windowtext; font-family: consolas; font-size: 14pt;"&gt;CommaDelimitedData.txt&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
        &lt;span style="color: windowtext; font-family: consolas; font-size: 14pt;"&gt;row1col1,row1col2,row1col3 &lt;/span&gt;

        &lt;p style="mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="color: windowtext; font-family: consolas; font-size: 14pt;"&gt;row2col1,row2col2,row2col3 &lt;/span&gt;&lt;/p&gt;

        &lt;p style="mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="color: windowtext; font-family: consolas; font-size: 14pt;"&gt;row3col1,row3col2,row3col3 &lt;/span&gt;&lt;/p&gt;

        &lt;p style="mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="color: windowtext; font-family: consolas; font-size: 14pt;"&gt;&lt;/span&gt;&lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;"&gt;
      &lt;td style="border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor windowtext windowtext; padding: 0in 5.4pt; width: 6.15in; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt;" valign="top" width="590"&gt;
        &lt;p style="mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;u&gt;&lt;span style="color: windowtext; font-family: consolas; font-size: 14pt;"&gt;TabDelimitedData.txt &lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

        &lt;p style="mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="color: windowtext; font-family: consolas; font-size: 14pt;"&gt;row1col1[tab]row1col2[tab]row1col3 &lt;/span&gt;&lt;/p&gt;

        &lt;p style="mso-layout-grid-align: none;" class="MsoNormal"&gt;&lt;span style="color: windowtext; font-family: consolas; font-size: 14pt;"&gt;row2col1[tab]row2col2[tab]row2col3 &lt;/span&gt;&lt;/p&gt;

        &lt;p style="page-break-after: avoid; mso-outline-level: 3;" class="MsoNormal"&gt;&lt;span style="color: windowtext; font-family: consolas; font-size: 14pt;"&gt;row3col1[tab]row3col2[tab]row3col3 &lt;/span&gt;&lt;/p&gt;

        &lt;p style="page-break-after: avoid; mso-outline-level: 3;" class="MsoNormal"&gt;&lt;span style="color: windowtext; font-family: consolas; font-size: 14pt;"&gt;&lt;/span&gt;&lt;/p&gt;

        &lt;p style="page-break-after: avoid; mso-outline-level: 3;" class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="color: windowtext; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 14pt; mso-bidi-font-size: 10.0pt;"&gt;* Note that [tab] is there instead of real tabs because they are invisible.&lt;/span&gt;&lt;/i&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 14pt; mso-bidi-font-size: 10.0pt;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; What I just described is &lt;strong&gt;Constructor Injection&lt;/strong&gt;. There are 2 other types of injection, &lt;strong&gt;Setter Injection&lt;/strong&gt; and &lt;strong&gt;Interface Injection&lt;/strong&gt;. Martin Fowler describes the other forms of DI in at his blog. &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10279880" width="1" height="1"&gt;</description></item><item><title>C# Delegates, Actions, Funcs, Lambdas–Keeping it super simple</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/02/c-delegates-actions-lambdas-keeping-it-super-simple.aspx</link><pubDate>Sat, 03 Mar 2012 00:46:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10276814</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10276814</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/02/c-delegates-actions-lambdas-keeping-it-super-simple.aspx#comments</comments><description>&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Syntactic Sugar? Maybe.&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; &lt;strong&gt;&lt;font color="#09b315"&gt;[ Updated to reflect a reader’s observation – missing Func&amp;lt;&amp;gt; coverage. Now included ]&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;I was speaking with a colleague of mine today, Bret Stateham (&lt;a href="http://bretstateham.com"&gt;http://bretstateham.com&lt;/a&gt;) and I was explaining my ignorance to some well established C# language constructs. I’ve always avoided language constructs that translate into “less typing.” What I mean is, delegates, actions, and lambdas can be totally avoided and you can still build the most sophisticated software. The compiler steps in at compile time and generates the IL for you (intermediate language), that language that gets translated into CPU-specific machine language at runtime by the CLR (Common language runtime).&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Conceptually, and for the most part, it looks like &lt;strong&gt;Figure 1&lt;/strong&gt; below. The “Regular C# code” is probably skipped, meaning the fancy C# code ends up directly as IL. Anders Hejlsberg, the creator of C# (and the former creator of Borland’s Turbo Pascal) has spoken in detail about the inter-workings of the C# compiler in the past. &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Figure 1&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="l2t4pq0a" border="0" alt="l2t4pq0a" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1512.l2t4pq0a_5F00_52F8D085.jpg" width="417" height="323" /&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;[ BTW, one day I’ll talk about what an amazing human being Anders is. He is the most humble, approachable, computer science genius I’ve ever met ].&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Anders Hejlsberg Interview&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=B202A125-DC9C-495A-8A5A-7BF98BECACE2&amp;amp;displaylang=e&amp;amp;displaylang=en" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=B202A125-DC9C-495A-8A5A-7BF98BECACE2&amp;amp;displaylang=e&amp;amp;displaylang=en&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Let’s start with a simple delegate example&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; A &lt;a href="http://msdn.microsoft.com/en-us/library/900fyy8e(v=vs.80).aspx"&gt;delegate&lt;/a&gt; is a type that safely encapsulates a method, similar to a function pointer in C and C++. Unlike C function pointers, delegates are object-oriented, type safe, and secure. The type of a delegate is defined by the name of the delegate.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Code is the best teacher.&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Part 1&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Helps the compiler with type safety&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Part 2&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;One of the methods associated with the delegate&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Part 3&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;The other method associated with the delegate&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Part 4&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Our object used to demo delegates with &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Part 5&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Declare a delegate and attach a method from the demo object&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Part 6&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Declare a delegate and attach the other method from the demo object&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Part 7&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Exercise the first delegate. In other words, use it to do work.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Part 8&lt;/td&gt;        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Exercise the second delegate. In other words, use it to do work.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&amp;#160;&lt;/div&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="692"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="690"&gt;         &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Collections.Generic;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Linq;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Text;

&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;ModernLanguageConstructs
{
    &lt;span style="color: blue;"&gt;class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Program
    &lt;/span&gt;{
        &lt;span style="color: green;"&gt;// Part 1 - Explicit declaration of a delegate (helps a compiler ensure type safety)
        &lt;/span&gt;&lt;span style="color: blue;"&gt;public delegate double &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;delegateConvertTemperature&lt;/span&gt;(&lt;span style="color: blue;"&gt;double &lt;/span&gt;sourceTemp);

        &lt;span style="color: green;"&gt;// A sample class to play with
        &lt;/span&gt;&lt;span style="color: blue;"&gt;class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;TemperatureConverterImp
        &lt;/span&gt;{
            &lt;span style="color: green;"&gt;// Part 2 - Will be attached to a delegate later in the code
            &lt;/span&gt;&lt;span style="color: blue;"&gt;public double &lt;/span&gt;ConvertToFahrenheit(&lt;span style="color: blue;"&gt;double &lt;/span&gt;celsius)
            {
                &lt;span style="color: blue;"&gt;return &lt;/span&gt;(celsius * 9.0/5.0) + 32.0;
            }

            &lt;span style="color: green;"&gt;//  Part 3 - Will be attached to a delegate later in the code
            &lt;/span&gt;&lt;span style="color: blue;"&gt;public double &lt;/span&gt;ConvertToCelsius(&lt;span style="color: blue;"&gt;double &lt;/span&gt;fahrenheit)
            {
                &lt;span style="color: blue;"&gt;return &lt;/span&gt;(fahrenheit - 32.0) * 5.0 / 9.0;
            }
        }


        &lt;span style="color: blue;"&gt;static void &lt;/span&gt;Main(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] args)
        {
            &lt;span style="color: green;"&gt;//  Part 4 - Instantiate the main object
            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;TemperatureConverterImp &lt;/span&gt;obj = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;TemperatureConverterImp&lt;/span&gt;();

            &lt;span style="color: green;"&gt;//  Part 5 - Intantiate delegate #1
            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;delegateConvertTemperature &lt;/span&gt;delConvertToFahrenheit =
                         &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;delegateConvertTemperature&lt;/span&gt;(obj.ConvertToFahrenheit);

            &lt;span style="color: green;"&gt;//  Part 6 - Intantiate delegate #2
            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;delegateConvertTemperature &lt;/span&gt;delConvertToCelsius =
                         &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;delegateConvertTemperature&lt;/span&gt;(obj.ConvertToCelsius);

            &lt;span style="color: green;"&gt;// Use delegates to accomplish work

            //  Part 7 - delegate #1
            &lt;/span&gt;&lt;span style="color: blue;"&gt;double &lt;/span&gt;celsius = 0.0;
            &lt;span style="color: blue;"&gt;double &lt;/span&gt;fahrenheit = delConvertToFahrenheit(celsius);
            &lt;span style="color: blue;"&gt;string &lt;/span&gt;msg1 = &lt;span style="color: blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;Celsius = {0}, Fahrenheit = {1}&amp;quot;&lt;/span&gt;,
                                         celsius, fahrenheit);
            &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(msg1);

            &lt;span style="color: green;"&gt;//  Part 8 - delegate #2
            &lt;/span&gt;fahrenheit = 212.0;
            celsius = delConvertToCelsius(fahrenheit);
            &lt;span style="color: blue;"&gt;string &lt;/span&gt;msg2 = &lt;span style="color: blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;Celsius = {0}, Fahrenheit = {1}&amp;quot;&lt;/span&gt;,
                                         celsius, fahrenheit);
            &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(msg2);
        }
    }
}

&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4846.image_5F00_0EEAC295.png" width="287" height="80" /&gt;&lt;/pre&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;hr /&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;C# Actions – More sugar, please&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;
  &lt;p&gt;You can use the Action(Of T) delegate to pass a method as a parameter &lt;strong&gt;without explicitly declaring a custom delegate&lt;/strong&gt;. The sugar here is you don’t have to declare a delegate. The compiler is smart enough to figure out the proper types. &lt;/p&gt;

  &lt;p&gt;But you pay a price in terms of a limitation. The corresponding method action must not return a value. (In C#, the method must return void.)&lt;/p&gt;

  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;
      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;
        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Part 1&lt;/td&gt;

        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;The Action syntax avoids the use of a declared delegate. Everything is inline.&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;
        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Part 2&lt;/td&gt;

        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;The Action syntax avoids the use of a declared delegate. Everything is inline.&lt;/td&gt;
      &lt;/tr&gt;

      &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;
        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Part 3&lt;/td&gt;

        &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Execute the corresponding Action code&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;&lt;/table&gt;

  &lt;br /&gt;

  &lt;table border="1" cellspacing="0" cellpadding="2" width="734"&gt;&lt;tbody&gt;
      &lt;tr&gt;
        &lt;td valign="top" width="732"&gt;
          &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Collections.Generic;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Linq;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Text;

&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;ModernLanguageConstructs
{
    &lt;span style="color: blue;"&gt;class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Program
    &lt;/span&gt;{
        &lt;span style="color: blue;"&gt;static void &lt;/span&gt;Main(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] args)
        {
            &lt;span style="color: green;"&gt;// Part 1 - First action that takes an int and converts it to hex
            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Action&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;gt; displayHex = &lt;span style="color: blue;"&gt;delegate&lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;intValue)
            {
                &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(intValue.ToString(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;X&amp;quot;&lt;/span&gt;));
            };

            &lt;span style="color: green;"&gt;// Part 2 - Second action that takes a hex string and 
            // converts it to an int
            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Action&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; displayInteger = &lt;span style="color: blue;"&gt;delegate&lt;/span&gt;(&lt;span style="color: blue;"&gt;string &lt;/span&gt;hexValue)
            {
                &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: blue;"&gt;int&lt;/span&gt;.Parse(hexValue,
                    System.Globalization.&lt;span style="color: rgb(43, 145, 175);"&gt;NumberStyles&lt;/span&gt;.HexNumber));
            };
            
            &lt;span style="color: green;"&gt;// Part 3 - exercise Action methods
            &lt;/span&gt;displayHex(16);
            displayInteger(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;10&amp;quot;&lt;/span&gt;);
        }
    }
}
          &lt;/pre&gt;

          &lt;pre class="code"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1033.image_5F00_54FB7FA8.png" width="259" height="92" /&gt;&lt;/pre&gt;
        &lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;

&lt;hr /&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Func&amp;lt;&amp;gt; Delegates&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; This differs from Action&amp;lt;&amp;gt; in the sense that it supports parameters AND return values.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;You can use this delegate to represent a method that can be passed as a parameter without explicitly declaring a custom delegate. The encapsulated method must correspond to the method signature that is defined by this delegate. &lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;This means that the encapsulated method &lt;strong&gt;must have one parameter that is passed to it by value, and that it must return a value&lt;/strong&gt;.&lt;/div&gt;

&lt;table border="1" cellspacing="0" cellpadding="2" width="733"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="731"&gt;
        &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Collections.Generic;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Linq;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Text;

&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;ModernLanguageConstructs
{
    &lt;span style="color: blue;"&gt;class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Program
    &lt;/span&gt;{
        &lt;span style="color: blue;"&gt;static void &lt;/span&gt;Main(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] args)
        {
            &lt;span style="color: green;"&gt;// Part 1 - First Func&amp;lt;&amp;gt; that takes an int and returns a string
            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Func&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;, &lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; displayHex = &lt;span style="color: blue;"&gt;delegate&lt;/span&gt;(&lt;span style="color: blue;"&gt;int &lt;/span&gt;intValue)
            {
                &lt;span style="color: blue;"&gt;return &lt;/span&gt;(intValue.ToString(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;X&amp;quot;&lt;/span&gt;));
            };

            &lt;span style="color: green;"&gt;// Part 2 - Second Func&amp;lt;&amp;gt; that takes a hex string and 
            // returns an int
            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Func&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;, &lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;gt; displayInteger = &lt;span style="color: blue;"&gt;delegate&lt;/span&gt;(&lt;span style="color: blue;"&gt;string &lt;/span&gt;hexValue)
            {
                &lt;span style="color: blue;"&gt;return &lt;/span&gt;(&lt;span style="color: blue;"&gt;int&lt;/span&gt;.Parse(hexValue,
                    System.Globalization.&lt;span style="color: rgb(43, 145, 175);"&gt;NumberStyles&lt;/span&gt;.HexNumber));
            };

            &lt;span style="color: green;"&gt;// Part 3 - exercise Func&amp;lt;&amp;gt; delegates
            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(displayHex(16));
            &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(displayInteger(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;10&amp;quot;&lt;/span&gt;));
        }
    }
}

&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1832.image_5F00_7689B80F.png" width="168" height="115" /&gt;&lt;/pre&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&amp;#160;&lt;/div&gt;

&lt;hr /&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Lambdas – Syntactic Sugar Squared&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; I’ve been staring at Lambdas for years and for whatever reason they don’t come natural to me. Maybe I need to spend more time in a functional language like F# to make them a natural construct. &lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;A lambda expression is an anonymous function that can contain expressions and statements, and can be used to create delegates or expression tree types. &lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;All lambda expressions use the lambda operator =&amp;gt;, which is read as &amp;quot;goes to&amp;quot;. The left side of the lambda operator specifies the input parameters (if any) and the right side holds the expression or statement block. &lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;The lambda expression x =&amp;gt; x * x is read &amp;quot;x goes to x times x.&amp;quot;&lt;/div&gt;

&lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); left: 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-collapse: collapse;"&gt;&lt;tbody&gt;
    &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(235, 243, 255);"&gt;
      &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Part 1&lt;/td&gt;

      &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Declare 2 lambda expressions&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr style="left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; background-color: rgb(255, 255, 255);"&gt;
      &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Part 2&lt;/td&gt;

      &lt;td style="padding: 5px 15px; left: 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; margin-right: 0px; vertical-align: top; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Run them.&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;/div&gt;

&lt;table border="1" cellspacing="0" cellpadding="2" width="731"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="729"&gt;
        &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Collections.Generic;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Linq;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Text;

&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;ModernLanguageConstructs
{
    &lt;span style="color: blue;"&gt;class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Program
    &lt;/span&gt;{
        &lt;span style="color: blue;"&gt;static void &lt;/span&gt;Main(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] args)
        {
            &lt;span style="color: green;"&gt;// Part 1 - An action and a lambda
            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Action&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&amp;gt; displayHex = intValue =&amp;gt;
            {
                &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(intValue.ToString(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;X&amp;quot;&lt;/span&gt;));
            };

            &lt;span style="color: rgb(43, 145, 175);"&gt;Action&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; displayInteger = hexValue =&amp;gt;
            {
                &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: blue;"&gt;int&lt;/span&gt;.Parse(hexValue,
                    System.Globalization.&lt;span style="color: rgb(43, 145, 175);"&gt;NumberStyles&lt;/span&gt;.HexNumber));
            };

            &lt;span style="color: green;"&gt;// Part 2 - Use the lambda expressions
            &lt;/span&gt;displayHex(16);
            displayInteger(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;10&amp;quot;&lt;/span&gt;);

        }
    }
}
        &lt;/pre&gt;

        &lt;pre class="code"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3771.image_5F00_2D55037E.png" width="259" height="92" /&gt;&lt;/pre&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;br /&gt;

&lt;hr /&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Lambdas and Queries&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Lambda expressions can also be used to simplify queries.&lt;/div&gt;

&lt;table border="1" cellspacing="0" cellpadding="2" width="729"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="727"&gt;
        &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Collections.Generic;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Linq;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Text;

&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;ModernLanguageConstructs
{
    &lt;span style="color: blue;"&gt;class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Program
    &lt;/span&gt;{
        &lt;span style="color: blue;"&gt;static void &lt;/span&gt;Main(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] args)
        {
            &lt;span style="color: green;"&gt;// Part 1 - ordinary list object
            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; listPets = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt;();

            &lt;span style="color: green;"&gt;// Part 2 - Queryable list object

            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;IQueryable&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; queryPets = listPets.AsQueryable();
            listPets.Add(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;dog&amp;quot;&lt;/span&gt;);
            listPets.Add(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;cat&amp;quot;&lt;/span&gt;);
            listPets.Add(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;iguana&amp;quot;&lt;/span&gt;);

            &lt;span style="color: green;"&gt;// Part 3 - Lambda Expression (does not use curly braces)
            &lt;/span&gt;&lt;span style="color: blue;"&gt;string &lt;/span&gt;result1 = listPets.First(x =&amp;gt; x.StartsWith(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;d&amp;quot;&lt;/span&gt;));
            &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(result1);  &lt;span style="color: green;"&gt;// Prints &amp;quot;dog&amp;quot;

            // Part 4 - Lambda expressions using iQueryable interface
            &lt;/span&gt;&lt;span style="color: blue;"&gt;string &lt;/span&gt;result2 = queryPets.First(x =&amp;gt; x.StartsWith(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;ig&amp;quot;&lt;/span&gt;));
            &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(result2);  &lt;span style="color: green;"&gt;// Prints &amp;quot;iguana&amp;quot;

            // Part 5 - Lambda Statement (uses curly braces)
            //          Supports the return statement
            &lt;/span&gt;result1 = listPets.First(x =&amp;gt; { &lt;span style="color: blue;"&gt;return &lt;/span&gt;x.EndsWith(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;a&amp;quot;&lt;/span&gt;); });
            &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(result1);  &lt;span style="color: green;"&gt;// Prints &amp;quot;iguana&amp;quot;

            // Part 6 - Does not compile
            // A lambda expression with a statement body 
            // cannot be converted to an expression tree    
            // result2 = queryPets.First(x =&amp;gt; { return x.EndsWith(&amp;quot;e&amp;quot;); }); 

            // Part 7 - Does compile using the Func&amp;lt;T&amp;gt; syntax
            //          You can pass in a lambda expression and it 
            //          will be compiled to an Expression(Of TDelegate).
            &lt;/span&gt;&lt;span style="color: blue;"&gt;string &lt;/span&gt;result3 = queryPets.First((&lt;span style="color: rgb(43, 145, 175);"&gt;Func&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;, &lt;span style="color: blue;"&gt;bool&lt;/span&gt;&amp;gt;)
                                         (x =&amp;gt; { &lt;span style="color: blue;"&gt;return &lt;/span&gt;x.EndsWith(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;g&amp;quot;&lt;/span&gt;); }));
            &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(result3);  &lt;span style="color: green;"&gt;// Prints &amp;quot;dog&amp;quot;


            // Part 8 - Convert to IQueryable
            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; result4 =
                listPets.AsQueryable().Where(pet =&amp;gt; pet.Length == 3);

            &lt;span style="color: blue;"&gt;foreach &lt;/span&gt;(&lt;span style="color: blue;"&gt;string &lt;/span&gt;pet &lt;span style="color: blue;"&gt;in &lt;/span&gt;result4)
                &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(pet);  &lt;span style="color: green;"&gt;// Prints &amp;quot;dog&amp;quot; then &amp;quot;cat&amp;quot;


        &lt;/span&gt;}

    }
}
        &lt;/pre&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Want to help?&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; If you’ve got some super simple examples to demonstrate advance language features, please forward them to &lt;a href="mailto:bterkaly@microsoft.com"&gt;bterkaly@microsoft.com&lt;/a&gt;.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;The next dragon I want to slay is Dependency Injection and Inversion of Control. I want to explain these two concepts in as little code as possible. Hope you got some value out of this post.&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10276814" width="1" height="1"&gt;</description></item><item><title>Azure/Cloud, HTML5, Windows Phone Free Training Events Coming To Your City</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/29/azure-cloud-html5-windows-phone-free-training-events-coming-to-your-city.aspx</link><pubDate>Thu, 01 Mar 2012 05:54:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10275248</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10275248</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/29/azure-cloud-html5-windows-phone-free-training-events-coming-to-your-city.aspx#comments</comments><description>&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;5 Cities in the west (March 30 to May 25)&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Developer Camps (DevCamps for short) are free, fun, no-fluff events for developers, by developers. You learn from experts in a low-key, interactive way and then get hands-on time to apply what you’ve learned. Where else can you get so much good stuff all in a day? &lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Register today at the following links&lt;/div&gt;  &lt;table style="border: currentcolor; border-collapse: collapse; mso-border-left-alt: solid #666666 .75pt; mso-border-bottom-alt: solid #666666 .75pt; mso-border-right-alt: solid #666666 .75pt; mso-yfti-tbllook: 1184;" class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0"&gt;&lt;thead&gt;     &lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;"&gt;       &lt;td style="background: silver; border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor rgb(102, 102, 102); padding: 3.75pt 11.25pt; mso-border-left-alt: solid #666666 .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;CityDate&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: silver; border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;Cloud RegLink&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: silver; border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;HTML5 Reglink&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: silver; border-width: 1pt 1pt medium; border-style: solid solid none; border-color: black rgb(102, 102, 102) currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-right-alt: solid #666666 .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;Windows Phone RegLink&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/thead&gt;&lt;tbody&gt;     &lt;tr style="mso-yfti-irow: 1;"&gt;       &lt;td style="background: rgb(235, 243, 255); border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;Los Angeles - March 30 &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: rgb(235, 243, 255); border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090110&amp;amp;CR_EAC=300039235"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: rgb(235, 243, 255); border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200089179&amp;amp;CR_EAC=300038707"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: rgb(235, 243, 255); border-width: 1pt 1pt medium; border-style: solid solid none; border-color: black rgb(102, 102, 102) currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-right-alt: solid #666666 .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090171&amp;amp;CR_EAC=300039242"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 2;"&gt;       &lt;td style="background: white; border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;Irvine - April 20 &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: white; border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090110&amp;amp;CR_EAC=300039236"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: white; border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200089179&amp;amp;CR_EAC=300038708"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: white; border-width: 1pt 1pt medium; border-style: solid solid none; border-color: black rgb(102, 102, 102) currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-right-alt: solid #666666 .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090171&amp;amp;CR_EAC=300039243"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 3;"&gt;       &lt;td style="background: rgb(235, 243, 255); border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;Redmond - April 27 &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: rgb(235, 243, 255); border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090110&amp;amp;CR_EAC=300039237"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: rgb(235, 243, 255); border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200089179&amp;amp;CR_EAC=300038709"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: rgb(235, 243, 255); border-width: 1pt 1pt medium; border-style: solid solid none; border-color: black rgb(102, 102, 102) currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-right-alt: solid #666666 .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090171&amp;amp;CR_EAC=300039244"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 4;"&gt;       &lt;td style="background: white; border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;Denver - May 18 &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: white; border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090110&amp;amp;CR_EAC=300039238"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: white; border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200089179&amp;amp;CR_EAC=300038710"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: white; border-width: 1pt 1pt medium; border-style: solid solid none; border-color: black rgb(102, 102, 102) currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-right-alt: solid #666666 .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090171&amp;amp;CR_EAC=300039245"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 5;"&gt;       &lt;td style="background: rgb(235, 243, 255); border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;Phoenix - May 25 &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: rgb(235, 243, 255); border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090110&amp;amp;CR_EAC=300039239"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: rgb(235, 243, 255); border-width: 1pt medium medium 1pt; border-style: solid none none solid; border-color: black currentcolor currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200089179&amp;amp;CR_EAC=300038711"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: rgb(235, 243, 255); border-width: 1pt 1pt medium; border-style: solid solid none; border-color: black rgb(102, 102, 102) currentcolor black; padding: 3.75pt 11.25pt; mso-border-left-alt: solid black .75pt; mso-border-right-alt: solid #666666 .75pt; mso-border-top-alt: solid black .75pt;" valign="top"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090171&amp;amp;CR_EAC=300039246"&gt;Click Here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 6; mso-yfti-lastrow: yes;"&gt;       &lt;td style="background: silver; border-width: medium medium 1pt 1pt; border-style: none none solid solid; border-color: currentcolor currentcolor rgb(102, 102, 102) black; padding: 0.75pt; mso-border-left-alt: solid black .75pt; mso-border-bottom-alt: solid #666666 .75pt;"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&amp;#160; &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: silver; border-width: medium medium 1pt 1pt; border-style: none none solid solid; border-color: currentcolor currentcolor rgb(102, 102, 102) black; padding: 0.75pt; mso-border-left-alt: solid black .75pt; mso-border-bottom-alt: solid #666666 .75pt;"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&amp;#160; &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: silver; border-width: medium medium 1pt 1pt; border-style: none none solid solid; border-color: currentcolor currentcolor rgb(102, 102, 102) black; padding: 0.75pt; mso-border-left-alt: solid black .75pt; mso-border-bottom-alt: solid #666666 .75pt;"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&amp;#160; &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="background: silver; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102) black; padding: 0.75pt; mso-border-left-alt: solid black .75pt; mso-border-bottom-alt: solid #666666 .75pt; mso-border-right-alt: solid #666666 .75pt;"&gt;         &lt;p style="line-height: 14.25pt;" class="MsoNormal"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 13.5pt;"&gt;&amp;#160; &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Come prepared&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; We want you to hit the ground running.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1727.image_5F00_54978E4C.png"&gt;&lt;img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6840.image_5F00_thumb_5F00_35083E77.png" width="777" height="453" /&gt;&amp;#160;&lt;/a&gt;&lt;/div&gt; Please come prepared.   &lt;br /&gt;  &lt;br /&gt;You don’t want to waste your time at an Azure DevCamp downloading and installing files. Setting up can take quite some time and will interfere with productivity.&amp;#160;&amp;#160; I will also provide some posts for those that could not attend.   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;This post includes:   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;     &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 1.&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Hardware&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Minimum Hardware configurations.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 2.&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Software&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Windows, Visual Studio&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 3.&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; SDKs&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Azure SDK&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 4.&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Labs&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Labs and Powerpoint downloads&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 5.&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Video Verification&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; The video you should watch to verify you are setup (less than 2 minutes)&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="601"&gt;Azure DevCamp - Hardware - minimum&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="601"&gt;The following hardware is needed to install the needed software:          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;          &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; CPU&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 1.6 GHz or faster non-Mac CPU &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Memory&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 2+ GB RAM &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Storage&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 20 GB Hard Disk &lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;          &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;" width="600"&gt; &lt;thead&gt;             &lt;tr&gt;               &lt;th style="padding: 5px 15px; height: 26px; text-align: left; color: rgb(255, 255, 255); font-size: 90%; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: blue; align: left;" scope="col"&gt; ** Important Note ** &lt;/th&gt;             &lt;/tr&gt;           &lt;/thead&gt; &lt;tbody&gt;             &lt;tr style="vertical-align: middle; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px; height: 26px; border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt; Running Macintosh computers is not recommended. Storage and Compute emulators do not always work properly.&lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="601"&gt;Azure DevCamp - Software&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="601"&gt;&lt;strong&gt;Supported Operating Systems            &lt;br /&gt;&lt;/strong&gt;          &lt;br /&gt; Don’t expect Windows XP to work. Here are the supported OS’s.           &lt;br /&gt;          &lt;br /&gt;          &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 1.&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Windows Server 2008 &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 2.&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Windows Server 2008 R2 &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 3.&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Windows Vista &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 4.&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Windows 7 &lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;          &lt;br /&gt;&lt;strong&gt;Visual Studio and SQL Server Express            &lt;br /&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;Various versions of Visual Studio will work. Please be sure you have one of the following:           &lt;br /&gt;          &lt;br /&gt;          &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Visual Studio 2010 Professional&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Visual Studio 2010 Ultimate&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Visual Studio 2010 Test Professional&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Visual Studio Express&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; SQL Server Express (this is required)&lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="601"&gt;Free Trial Account&amp;#160; / Azure SDK&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="601"&gt;Free Trial&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200077473"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200077473" target="_blank"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5141.image_5F00_6DCE6A84.png" width="675" height="224" /&gt;&lt;/a&gt;          &lt;br /&gt;          &lt;br /&gt;          &lt;br /&gt;&lt;a href="https://www.windowsazure.com/en-us/develop/downloads/" target="_blank"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7215.image_5F00_493CDD00.png" width="679" height="376" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="601"&gt;Labs and PowerPoints&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="601"&gt;         &lt;p&gt;You are about to install Windows Azure Camps Kit.&lt;/p&gt;          &lt;p&gt;The Windows Azure Camps Training Kit includes the hands-on labs and presentations that are used for the Windows Azure Camp events.            &lt;br /&gt;&lt;/p&gt;          &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(221, 255, 170);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Installer for Azure Web Camps&lt;/td&gt;                &lt;td style="font: 80%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://www.contentinstaller.net/Install/ContentGroup/WAPCamps" target="_blank"&gt;http://www.contentinstaller.net/Install/ContentGroup/WAPCamps&lt;/a&gt;&lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;br /&gt;  &lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="601"&gt;Video – to prepare you are ready&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="601"&gt;The main thing to remember is that most of the labs can be done with emulators. This means you don’t necessarily need to deploy your app to the cloud (Microsoft Data Center). You can run most of these labs all on your local computer. This is important as there is not often enough network bandwidth at large events.          &lt;br /&gt;          &lt;br /&gt;Currently, there is no audio. But it should be easy to follow.           &lt;br /&gt;          &lt;br /&gt;          &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(221, 255, 170);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Video to verify setup&lt;/td&gt;                &lt;td style="font: 80%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://brunoblogfiles.com/videos/PrepareForAzureDevCamp.wmv" target="_blank"&gt;http://brunoblogfiles.com/videos/PrepareForAzureDevCamp.wmv&lt;/a&gt;&lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="601"&gt;Conclusion&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="601"&gt;Please verify you can run the sample demonstrated in the video above. This will give you a huge headstart once you attend the boot camp.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;p&gt;&lt;em&gt;People only see what they are prepared to see.              &lt;br /&gt;&lt;/em&gt;&lt;strong&gt;Ralph Waldo Emerson&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="clear: both;"&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10275248" width="1" height="1"&gt;</description></item><item><title>Node.js–Table of Contents to some posts</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/28/node-js-table-of-contents-to-some-posts.aspx</link><pubDate>Tue, 28 Feb 2012 21:55:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10274065</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10274065</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/28/node-js-table-of-contents-to-some-posts.aspx#comments</comments><description>&lt;table style="border-bottom: #666666 1px solid; text-align: left; border-left : #666666 1px solid; border-collapse: collapse; 
             vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium;color: #000; border-top: medium none; 
			  border-right: #666666 1px solid; "&gt; 	&lt;thead&gt; 		&lt;tr&gt;  			&lt;th scope="col" style="padding: 5px 15px; 
			   background-color: silver; text-align: left; color: #000; vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium; align: left; 
			   border-top: #000000 1px solid;"&gt; 			 			Topic 			 			&lt;/th&gt;&lt;th scope="col" style="padding: 5px 15px; background-color: silver; vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium; 
			color: #000; align: left; border-top: #000000 1px solid; 
			border-left: #000000 1px solid;"&gt; 			Link &lt;/th&gt;&lt;/tr&gt; 	&lt;/thead&gt;&lt;tr style="background-color: #ebf3ff; vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium;"&gt;&lt;td style="padding: 5px 15px; border-left: 1px solid #000000;border-top: 1px solid #000000; vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium;"&gt; 		Node.js - A chat server written in Node and a client app written in C#&lt;/td&gt;&lt;td style="padding: 5px 15px; border-left: 1px solid #000000;border-top: 1px solid #000000; vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium;"&gt; 		&lt;a href="http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/28/node-js-a-chat-server-written-in-node-and-a-client-app-written-in-c.aspx#" target="_blank"&gt;http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/28/node-js-a-chat-server-written-in-node-and-a-client-app-written-in-c.aspx#&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="background-color: #ffffff;vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium; "&gt;&lt;td style="padding: 5px 15px; border-left: 1px solid #000000;border-top: 1px solid #000000; vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium;"&gt; 		Node.js - Serving Up Web Pages with Dynamic Content&lt;/td&gt;&lt;td style="padding: 5px 15px; border-left: 1px solid #000000;border-top: 1px solid #000000; vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium;"&gt; 		&lt;a href="http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/27/node-js-serving-up-web-pages-with-dynamic-content.aspx#" target="_blank"&gt;http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/27/node-js-serving-up-web-pages-with-dynamic-content.aspx#&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="background-color: #ebf3ff; vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium;"&gt;&lt;td style="padding: 5px 15px; border-left: 1px solid #000000;border-top: 1px solid #000000; vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium;"&gt; 		Node.js - Socket Programming with C# and Javascript&lt;/td&gt;&lt;td style="padding: 5px 15px; border-left: 1px solid #000000;border-top: 1px solid #000000; vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium;"&gt; 		&lt;a href="http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/22/node-js-socket-programming-with-c-and-javascript.aspx#" target="_blank"&gt;http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/22/node-js-socket-programming-with-c-and-javascript.aspx#&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="background-color: #ffffff;vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium; "&gt;&lt;td style="padding: 5px 15px; border-left: 1px solid #000000;border-top: 1px solid #000000; vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium;"&gt; 		Node.js–How to use Node Package Manager (npm) and Underscore&lt;/td&gt;&lt;td style="padding: 5px 15px; border-left: 1px solid #000000;border-top: 1px solid #000000; vertical-align:top; margin-right:0; left:0; text-align:left; line-height:19px; font-family:Arial, Helvetica, Sans-Serif;font-size:medium;"&gt; 		&lt;a href="http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/17/node-js-the-most-popular-modules-and-how-they-work-part-1-a-bakers-dozen.aspx" target="_blank"&gt;http://blogs.msdn.com/b/brunoterkaly/archive/2012/03/17/node-js-the-most-popular-modules-and-how-they-work-part-1-a-bakers-dozen.aspx&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tfoot&gt; 		&lt;tr style="background-color: silver;"&gt;&lt;td style="border-left: #000000 1px solid"&gt;&amp;nbsp;&lt;/td&gt;&lt;td style="border-left: #000000 1px solid"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt; 	&lt;/tfoot&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10274065" width="1" height="1"&gt;</description></item><item><title>Node.js– A chat server written in Node and a client app written in C#</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/28/node-js-a-chat-server-written-in-node-and-a-client-app-written-in-c.aspx</link><pubDate>Tue, 28 Feb 2012 21:39:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10274057</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10274057</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/28/node-js-a-chat-server-written-in-node-and-a-client-app-written-in-c.aspx#comments</comments><description>&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt; &lt;strong&gt;A new twist to a boring Chat application&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Most demos on Node.js illustrate how to create a chat server, but rarely provide the client side of the chat service.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;That is what this post is about – creating both the server and client side of the equation.&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); margin: 1em 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Server&lt;/td&gt;        &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Node.js&lt;/td&gt;        &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Javascript&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Client&lt;/td&gt;        &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; .NET&lt;/td&gt;        &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; C#&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Node.js – Chat Application – Server Side&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; This is your traditional Node.js chat application. I’ve commented it pretty heavily. Note the following:&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); margin: 1em 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-collapse: collapse;"&gt;&lt;tbody&gt;     &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="458"&gt; Create a TCP socket listener&lt;/td&gt;        &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="533"&gt;var s = net.Server(function(socket)....&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="458"&gt; Saving the socket connection so we can send message back to the client&lt;/td&gt;        &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="533"&gt; sockets.push(socket)....&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="458"&gt; An event that represents a client sending a text msg to server. 'data' represents the event and msg_sent is the data sent by chat client application.&lt;/td&gt;        &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="533"&gt; socket.on('data', function(msg_sent) {....&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="458"&gt; Don't echo back the message to the sender&lt;/td&gt;        &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="533"&gt; if(sockets[i] == socket) continue;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="458"&gt; Write message back to listeners (except original sender)&lt;/td&gt;        &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="533"&gt; sockets[i].write(msg_sent); &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="458"&gt; An event when a client disconnects. We need to remove dead sockets from our array.&lt;/td&gt;        &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="533"&gt; socket.on('end', function() {&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="458"&gt; Listening on http://localhost:8000&lt;/td&gt;        &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="533"&gt; s.listen(8000);&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt; &lt;strong&gt;Filename = lamechat.js&lt;/strong&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="697"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="695"&gt;         &lt;pre class="code"&gt;net = require(&lt;span style="color: maroon;"&gt;'net'&lt;/span&gt;)

&lt;span style="color: rgb(0, 100, 0);"&gt;// Supports multiple client chat application

// Keep a pool of sockets ready for everyone
// Avoid dead sockets by responding to the 'end' event
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;sockets = [];

&lt;span style="color: rgb(0, 100, 0);"&gt;// Create a TCP socket listener
&lt;/span&gt;&lt;span style="color: blue;"&gt;var &lt;/span&gt;s = net.Server(&lt;span style="color: blue;"&gt;function &lt;/span&gt;(socket) {

    &lt;span style="color: rgb(0, 100, 0);"&gt;// Add the new client socket connection to the array of
    // sockets
    &lt;/span&gt;sockets.push(socket);

    &lt;span style="color: rgb(0, 100, 0);"&gt;// 'data' is an event that means that a message was just sent by the 
    // client application
    &lt;/span&gt;socket.on(&lt;span style="color: maroon;"&gt;'data'&lt;/span&gt;, &lt;span style="color: blue;"&gt;function &lt;/span&gt;(msg_sent) {
        &lt;span style="color: rgb(0, 100, 0);"&gt;// Loop through all of our sockets and send the data
        &lt;/span&gt;&lt;span style="color: blue;"&gt;for &lt;/span&gt;(&lt;span style="color: blue;"&gt;var &lt;/span&gt;i = 0; i &amp;lt; sockets.length; i++) {
            &lt;span style="color: rgb(0, 100, 0);"&gt;// Don't send the data back to the original sender
            &lt;/span&gt;&lt;span style="color: blue;"&gt;if &lt;/span&gt;(sockets[i] == socket) &lt;span style="color: rgb(0, 100, 0);"&gt;// don't send the message to yourself
                &lt;/span&gt;&lt;span style="color: blue;"&gt;continue&lt;/span&gt;;
            &lt;span style="color: rgb(0, 100, 0);"&gt;// Write the msg sent by chat client
            &lt;/span&gt;sockets[i].write(msg_sent);
        }
    });
    &lt;span style="color: rgb(0, 100, 0);"&gt;// Use splice to get rid of the socket that is ending.
    // The 'end' event means tcp client has disconnected.
    &lt;/span&gt;socket.on(&lt;span style="color: maroon;"&gt;'end'&lt;/span&gt;, &lt;span style="color: blue;"&gt;function &lt;/span&gt;() {
        &lt;span style="color: blue;"&gt;var &lt;/span&gt;i = sockets.indexOf(socket);
        sockets.splice(i, 1);
    });


});

s.listen(8000);
console.log(&lt;span style="color: maroon;"&gt;'System waiting at http://localhost:8000'&lt;/span&gt;);

        &lt;/pre&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Creating Chat Applications in .NET and C#&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; This next section will demonstrate the building of a chat client for the Node.js server.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Create a new Visual Studio Project&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="0rwqfvaw" border="0" alt="0rwqfvaw" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2337.0rwqfvaw_5F00_3689CF7A.jpg" width="537" height="385" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Project type = Windows Presentation Foundation Application&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="1trjcspd" border="0" alt="1trjcspd" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8524.1trjcspd_5F00_34D903A6.jpg" width="596" height="364" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Editing MainWindow.xaml&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Right mouse click on MainWindow.xaml&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="amvh2cko" border="0" alt="amvh2cko" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3733.amvh2cko_5F00_651FD85C.jpg" width="483" height="564" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Where to add the various controls&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; We are adding textboxes, command buttons.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="xdctzss1" border="0" alt="xdctzss1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6471.xdctzss1_5F00_11C89236.jpg" width="494" height="395" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The graphical interface – MainWindow.xaml&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;MainWindow.xaml is where we define our user interface. We have 3 text boxes and 2 buttons.&lt;/div&gt;

&lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); margin: 1em 0px; text-align: left; color: rgb(0, 0, 0); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-collapse: collapse;"&gt;&lt;tbody&gt;
    &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; background-color: rgb(235, 243, 255);"&gt;
      &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;txtChatName&lt;/td&gt;

      &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Allows you to login with an id&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; background-color: rgb(255, 255, 255);"&gt;
      &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;txtConversation&lt;/td&gt;

      &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Where the conversation between chat clients can be seen&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; background-color: rgb(235, 243, 255);"&gt;
      &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;txtOutMsg&lt;/td&gt;

      &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; The text message a given chat client wants to send to others&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; background-color: rgb(255, 255, 255);"&gt;
      &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;cmdConnect&lt;/td&gt;

      &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Allows you to login and connect using txtChatName&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr style="margin: 1em 0px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; background-color: rgb(235, 243, 255);"&gt;
      &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;cmdSendMessage&lt;/td&gt;

      &lt;td style="margin: 1em 0px; padding: 5px 15px; height: 26px; text-align: left; line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: small; vertical-align: baseline; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Sends your text message that was typed into txtOutMsg&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;font size="3" face="Arial"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Filename = MainWindow.xaml&lt;/strong&gt;&lt;/p&gt;

&lt;table border="1" cellspacing="0" cellpadding="2" width="600"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="600"&gt;
        &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;Window
  &lt;/span&gt;&lt;span style="color: red;"&gt;x&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: red;"&gt;Class&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;NodeJsChatClient.MainWindow&amp;quot;
  &lt;/span&gt;&lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;
  &lt;/span&gt;&lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: red;"&gt;x&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;
  &lt;/span&gt;&lt;span style="color: red;"&gt;Title&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Chat Client&amp;quot;
  &lt;/span&gt;&lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;350&amp;quot;
  &lt;/span&gt;&lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;525&amp;quot;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;Grid&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;

        &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt; 
      &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;Button
      &lt;/span&gt;&lt;span style="color: red;"&gt;Content&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Connect&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;29&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Left&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Margin&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;12,12,0,0&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Name&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;cmdConnect&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Top&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;144&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Click&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;cmdConnect_Click&amp;quot;/&amp;gt;
        
&lt;/span&gt;&lt;/pre&gt;

        &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TextBox
      &lt;/span&gt;&lt;span style="color: red;"&gt;AcceptsReturn&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;True&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Margin&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;14,51,12,93&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Name&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;txtConversation&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Text&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;TextWrapping&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Wrap&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;VerticalScrollBarVisibility&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Visible&amp;quot;/&amp;gt;
        
&lt;/span&gt;&lt;/pre&gt;

        &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TextBox
      &lt;/span&gt;&lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;33&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Left&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Margin&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;182,12,0,0&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Name&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;txtChatName&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Top&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;148&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Text&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Bruno&amp;quot;/&amp;gt;
&lt;/span&gt;&lt;/pre&gt;

        &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;        
      &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TextBox
      &lt;/span&gt;&lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;36&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Left&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Margin&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;14,229,0,0&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Name&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;txtOutMsg&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Top&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;477&amp;quot;/&amp;gt;
&lt;/span&gt;&lt;/pre&gt;

        &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;        
      &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;Button
      &lt;/span&gt;&lt;span style="color: red;"&gt;Content&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Send Message&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;28&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Left&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Margin&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;12,271,0,0&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Name&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;cmdSendMessage&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;Top&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;479&amp;quot;
      &lt;/span&gt;&lt;span style="color: red;"&gt;Click&lt;/span&gt;&lt;span style="color: blue;"&gt;=&amp;quot;cmdSendMessage_Click&amp;quot;/&amp;gt;
        
&lt;/span&gt;&lt;/pre&gt;

        &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;Grid&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;Window&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;

&lt;/span&gt;&lt;/pre&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;What the finished interface looks like&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;All the controls have been added.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="sbuqjcby" border="0" alt="sbuqjcby" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2248.sbuqjcby_5F00_3032D31F.jpg" width="553" height="352" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The code behind – C# – chat client application logic&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;The next section is about writing the client code that connects, sends, and receives text/chat messages.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Proper Using Statements&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;“using” statements are needed to minimize typing in large amounts of code.&lt;/div&gt;

&lt;table border="1" cellspacing="0" cellpadding="2" width="600"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="600"&gt;
        &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Net.Sockets;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Threading.Tasks;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Threading;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Windows.Threading;

        &lt;/pre&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The final code in MainWindow.xaml.cs&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;This represents all the code needed to complete the C#-based client application.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Adding the code behind.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="2dyyaddx" border="0" alt="2dyyaddx" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2742.2dyyaddx_5F00_15F269FB.jpg" width="509" height="355" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;MainWindow.xaml.cs&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Here is the entire code-behind module. No extra references are needed.&lt;/div&gt;

&lt;table border="1" cellspacing="0" cellpadding="2" width="600"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="600"&gt;
        &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;using &lt;/span&gt;System;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Collections.Generic;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Linq;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Text;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Windows;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Windows.Controls;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Windows.Data;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Windows.Documents;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Windows.Input;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Windows.Media;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Windows.Media.Imaging;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Windows.Navigation;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Windows.Shapes;

&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Net.Sockets;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Threading.Tasks;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Threading;
&lt;span style="color: blue;"&gt;using &lt;/span&gt;System.Windows.Threading;

&lt;span style="color: blue;"&gt;namespace &lt;/span&gt;NodeJsChatClient
{
    &lt;span style="color: blue;"&gt;public partial class &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;MainWindow &lt;/span&gt;: &lt;span style="color: rgb(43, 145, 175);"&gt;Window
    &lt;/span&gt;{
        &lt;span style="color: green;"&gt;// Declare member objects
        // Client for tcp, network stream to read bytes in socket
        &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;TcpClient &lt;/span&gt;tcpClient = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;TcpClient&lt;/span&gt;();
        &lt;span style="color: rgb(43, 145, 175);"&gt;NetworkStream &lt;/span&gt;serverStream = &lt;span style="color: blue;"&gt;default&lt;/span&gt;(&lt;span style="color: rgb(43, 145, 175);"&gt;NetworkStream&lt;/span&gt;);
        &lt;span style="color: blue;"&gt;string &lt;/span&gt;readData = &lt;span style="color: blue;"&gt;string&lt;/span&gt;.Empty;
        &lt;span style="color: blue;"&gt;string &lt;/span&gt;msg = &lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;Conected to Chat Server ...&amp;quot;&lt;/span&gt;;

        &lt;span style="color: blue;"&gt;public &lt;/span&gt;MainWindow()
        {
            InitializeComponent();

        }

        &lt;span style="color: green;"&gt;// Purpose:     Connect to node.js application (lamechat.js)
        // End Result:  node.js app now has a socket open that can send
        //              messages back to this tcp client application
        &lt;/span&gt;&lt;span style="color: blue;"&gt;private void &lt;/span&gt;cmdConnect_Click(&lt;span style="color: blue;"&gt;object &lt;/span&gt;sender, &lt;span style="color: rgb(43, 145, 175);"&gt;RoutedEventArgs &lt;/span&gt;e)
        {
            AddPrompt();
            tcpClient.Connect(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;127.0.0.1&amp;quot;&lt;/span&gt;, 8000);
            serverStream = tcpClient.GetStream();

            &lt;span style="color: blue;"&gt;byte&lt;/span&gt;[] outStream = &lt;span style="color: rgb(43, 145, 175);"&gt;Encoding&lt;/span&gt;.ASCII.GetBytes(txtChatName.Text.Trim()
                                  + &lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot; is joining&amp;quot;&lt;/span&gt;);
            serverStream.Write(outStream, 0, outStream.Length);
            serverStream.Flush();

            &lt;span style="color: green;"&gt;// upload as javascript blob
            &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Task &lt;/span&gt;taskOpenEndpoint = &lt;span style="color: rgb(43, 145, 175);"&gt;Task&lt;/span&gt;.Factory.StartNew(() =&amp;gt;
            {
                &lt;span style="color: blue;"&gt;while &lt;/span&gt;(&lt;span style="color: blue;"&gt;true&lt;/span&gt;)
                {
                    &lt;span style="color: green;"&gt;// Read bytes
                    &lt;/span&gt;serverStream = tcpClient.GetStream();
                    &lt;span style="color: blue;"&gt;byte&lt;/span&gt;[] message = &lt;span style="color: blue;"&gt;new byte&lt;/span&gt;[4096];
                    &lt;span style="color: blue;"&gt;int &lt;/span&gt;bytesRead;
                    bytesRead = 0;

                    &lt;span style="color: blue;"&gt;try
                    &lt;/span&gt;{
                        &lt;span style="color: green;"&gt;// Read up to 4096 bytes
                        &lt;/span&gt;bytesRead = serverStream.Read(message, 0, 4096);
                    }
                    &lt;span style="color: blue;"&gt;catch
                    &lt;/span&gt;{
                        &lt;span style="color: green;"&gt;/*a socket error has occured*/
                    &lt;/span&gt;}

                    &lt;span style="color: green;"&gt;//We have rad the message.
                    &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;ASCIIEncoding &lt;/span&gt;encoder = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;ASCIIEncoding&lt;/span&gt;();
                    &lt;span style="color: green;"&gt;// Update main window
                    &lt;/span&gt;AddMessage(encoder.GetString(message, 0, bytesRead));
                    &lt;span style="color: rgb(43, 145, 175);"&gt;Thread&lt;/span&gt;.Sleep(500);
                }
            });
        }

        &lt;span style="color: green;"&gt;// Purpose:     Updates the window with the newest message received
        // End Result:  Will display the message received to this tcp based client
        &lt;/span&gt;&lt;span style="color: blue;"&gt;private void &lt;/span&gt;AddMessage(&lt;span style="color: blue;"&gt;string &lt;/span&gt;msg)
        {
            Dispatcher.BeginInvoke(&lt;span style="color: rgb(43, 145, 175);"&gt;DispatcherPriority&lt;/span&gt;.Input, (&lt;span style="color: rgb(43, 145, 175);"&gt;ThreadStart&lt;/span&gt;)(
             () =&amp;gt;
             {
                 &lt;span style="color: blue;"&gt;this&lt;/span&gt;.txtConversation.Text += &lt;span style="color: blue;"&gt;string&lt;/span&gt;.Format(
                          &lt;span style="color: rgb(43, 145, 175);"&gt;Environment&lt;/span&gt;.NewLine + &lt;span style="color: rgb(43, 145, 175);"&gt;Environment&lt;/span&gt;.NewLine +
                          &lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot; &amp;gt;&amp;gt; {0}&amp;quot;&lt;/span&gt;, msg);

             }));
        }

        &lt;span style="color: green;"&gt;// Purpose:     Adds the &amp;quot; &amp;gt;&amp;gt; &amp;quot; prompt in the text box
        // End Result:  Shows prompt to user
        &lt;/span&gt;&lt;span style="color: blue;"&gt;private void &lt;/span&gt;AddPrompt()
        {
            txtConversation.Text = txtConversation.Text + 
                &lt;span style="color: rgb(43, 145, 175);"&gt;Environment&lt;/span&gt;.NewLine + &lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot; &amp;gt;&amp;gt; &amp;quot; &lt;/span&gt;+ msg;
        }

        &lt;span style="color: green;"&gt;// Purpose:     Send the text in typed by the user (stored in
        //              txtOutMsg)
        // End Result:  Sends text message to node.js (lamechat.js)
        &lt;/span&gt;&lt;span style="color: blue;"&gt;private void &lt;/span&gt;cmdSendMessage_Click(&lt;span style="color: blue;"&gt;object &lt;/span&gt;sender, &lt;span style="color: rgb(43, 145, 175);"&gt;RoutedEventArgs &lt;/span&gt;e)
        {
            &lt;span style="color: blue;"&gt;byte&lt;/span&gt;[] outStream = &lt;span style="color: rgb(43, 145, 175);"&gt;Encoding&lt;/span&gt;.ASCII.GetBytes(txtOutMsg.Text);
            serverStream.Write(outStream, 0, outStream.Length);
            serverStream.Flush();
        }
    }

}
       &lt;/pre&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Let’s build the project&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Right mouse click to see the “rebuild” command.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="pd2bwa3k" border="0" alt="pd2bwa3k" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6038.pd2bwa3k_5F00_539F51B7.jpg" width="449" height="204" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Should be a clean “recompile”&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; “0” errors.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1643.image_5F00_7928CF18.png" width="635" height="164" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&amp;#160;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Testing NodeJsChat&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; It is time to test the applications.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Start by running lamechat.js&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Done at a command prompt.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8168.image_5F00_6BB29645.png" width="518" height="174" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Run the executables&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Start by opening the project folder and navigating to the “bin\debug” folder.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2451.image_5F00_2D8955C7.png" width="472" height="519" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;We need at least two client chat applications to test&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; You will simply run NodeJsChatClient.exe twice.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4540.image_5F00_19601371.png" width="526" height="357" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The final test&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Login to both and then start sending messages.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5584.image_5F00_7F1FAA4C.png" width="525" height="706" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;This represents the final step&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Now just improve what I did and send it back to me &lt;img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3438.wlEmoticon_2D00_smile_5F00_6F306588.png" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6558.image_5F00_4A9ED804.png" width="511" height="411" /&gt;&amp;#160;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10274057" width="1" height="1"&gt;</description></item><item><title>Node.js–Serving Up Web Pages with Dynamic Content</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/27/node-js-serving-up-web-pages-with-dynamic-content.aspx</link><pubDate>Mon, 27 Feb 2012 16:23:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10273500</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10273500</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/27/node-js-serving-up-web-pages-with-dynamic-content.aspx#comments</comments><description>&lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type" /&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Building a prime number calculator -&amp;#160; dynamic content&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; I’ve been fixing my algorithm below because a blog reader has given me advice. I like this.Getting things right is a great thing.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;In this next section we will build a Node.js application that demonstrates the ability to send web content to clients. In this case, the Node.js application will calculate Prime Numbers and send the web content to an http client.&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; The code is very simple – you just build up the string of html content and output the string. &lt;/div&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="3" face="Consolas"&gt;response.write('&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;p&amp;gt;Text or HTML sent to browser..&amp;lt;/p&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;');&lt;/font&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Here is some documentation for my code.&lt;/div&gt;  &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;" width="701"&gt;&lt;thead&gt;     &lt;tr&gt;       &lt;th style="padding: 5px 15px; height: 26px; text-align: left; color: rgb(0, 0, 0); font-size: 90%; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: silver; align: left;" width="325" scope="col"&gt; Code &lt;/th&gt;        &lt;th style="padding: 5px 15px; height: 26px; text-align: left; color: rgb(0, 0, 0); font-size: 90%; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; background-color: silver; align: left;" width="374" scope="col"&gt; Explanation &lt;/th&gt;     &lt;/tr&gt;   &lt;/thead&gt;&lt;tbody&gt;     &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="325"&gt; http = require('http');&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="374"&gt; Because this is a web server&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="325"&gt; request.addListener('end', function () {          &lt;br /&gt;          &lt;br /&gt;[ your code ]           &lt;br /&gt;          &lt;br /&gt;});&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="374"&gt; An event triggered when there is an http request&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="325"&gt; response.write('&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;p&amp;gt;' +          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; buf + '&amp;lt;/p&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;');&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="374"&gt; Sends html back to the browser (based on original request)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;       &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="325"&gt; response.end();&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="374"&gt; Concludes the HTML request&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;       &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="325"&gt; listen(8000, 'localhost');&lt;/td&gt;        &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="374"&gt; Indicates to wait on Port 8000 of localhost&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;tfoot&gt;     &lt;tr style="background-color: silver;"&gt;       &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;" width="325"&gt;&amp;#160;&lt;/td&gt;        &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;" width="374"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tfoot&gt;&lt;/table&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The code&lt;/strong&gt;&lt;/div&gt;  &lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Here is the code listing for ‘pageCreate.js’.&lt;/div&gt;  &lt;pre class="code"&gt;http = require('http');
http.createServer(function (request, response) {
    request.addListener('end', function () {
        var buf = '&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div &lt;/span&gt;&lt;span style="color: red;"&gt;style&lt;/span&gt;&lt;span style="color: blue;"&gt;=\&amp;quot;&lt;/span&gt;&lt;span style="color: red;"&gt;color&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: red;"&gt;green&lt;/span&gt;;\&lt;span style="color: blue;"&gt;&amp;quot;&amp;gt;&lt;/span&gt;' + '2' + ' is prime.  &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;';
        for (var i = 2; i &amp;lt; 500; i++) 
        {
            for (var j = 2; j &amp;lt; i; j++) 
            {
                if (i % j == 0) 
                {
                    var prime = 0;
                    var tmp = '&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div &lt;/span&gt;&lt;span style="color: red;"&gt;style&lt;/span&gt;&lt;span style="color: blue;"&gt;=\&amp;quot;&lt;/span&gt;&lt;span style="color: red;"&gt;color&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: red;"&gt;red&lt;/span&gt;;\&lt;span style="color: blue;"&gt;&amp;quot;&amp;gt;&lt;/span&gt;' + i + 
                                ' is not prime.  It is divisible by ' + j + '&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;';
                    buf += tmp;
                    break;
                }
                else
                    var prime = 1;
            }
            if (prime == 1) 
            {
                var tmp = '&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div &lt;/span&gt;&lt;span style="color: red;"&gt;style&lt;/span&gt;&lt;span style="color: blue;"&gt;=\&amp;quot;&lt;/span&gt;&lt;span style="color: red;"&gt;color&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: red;"&gt;green&lt;/span&gt;;\&lt;span style="color: blue;"&gt;&amp;quot;&amp;gt;&lt;/span&gt;' + i + ' is prime.  &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;';
                buf += tmp;
            }
        }
        response.write('&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;html&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;p&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;' + buf + '&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;p&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;html&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;');
        response.end();
    });
}).listen(8000, 'localhost');
console.log('system waiting at http://localhost:8000');


&lt;/pre&gt;


&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;The output&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Here is what the browser displays as a result of the request, &lt;a href="http://localhost:8000"&gt;http://localhost:8000&lt;/a&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="pij5sxjn" border="0" alt="pij5sxjn" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6746.pij5sxjn_5F00_49741EFF.jpg" width="524" height="492" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Node.js sucks at CPU bound operations – it is about I/O&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Node.js is terrible for CPU bound tasks because it is inherently single threaded. That means that if you are wanting to use multiple cores to perform some complex mathematical analysis, Node.js is not the best fit. Node.js has a single threaded event loop which takes only a single task/event at a time and processes it.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;Where Node.js really shines is I/O bound tasks. Node.js allows you to simply define a callback that will get added to the event queue. Node.js will kick off a thread or process (some OS's don't do threads) for that I/O operation. And when that I/O operation is complete, the callback is invoked and the code continues. The great news here is that Node.js will process other I/O bound requests while others are still pending a return.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;If you do have long running computations or similar needs, then you consider interleaving CPU intensive tasks with other events.&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;This post could get you started.&lt;/div&gt;

&lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;
    &lt;tr style="vertical-align: top; background-color: rgb(252, 239, 197);"&gt;
      &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Faking threads&lt;/td&gt;

      &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://howtonode.org/understanding-process-next-tick" target="_blank"&gt; http://howtonode.org/understanding-process-next-tick&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(0, 0, 255); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: large; vertical-align: baseline; quotes: none;"&gt;&lt;strong&gt;Before I forget – the docs&lt;/strong&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt; Note below that Node.js does indeed have official documentation.&lt;/div&gt;

&lt;table style="border-width: medium 1px 1px; border-style: none solid solid; font: 90%/normal verdana, arial, helvetica, sans-serif; width: 674px; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;
    &lt;tr style="vertical-align: top; background-color: rgb(252, 239, 197);"&gt;
      &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Node.js docs&lt;/td&gt;

      &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://nodejs.org/docs/v0.4.7/api/all.html#util" target="_blank"&gt; http://nodejs.org/docs/v0.4.7/api/all.html#util&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&amp;#160; &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="qtkzhccn" border="0" alt="qtkzhccn" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7041.qtkzhccn_5F00_56C61E95.jpg" width="674" height="338" /&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;/div&gt;

&lt;div style="margin: 1em 0px; padding: 0px; text-align: left; color: rgb(51, 51, 51); line-height: 19px; font-family: arial, helvetica, sans-serif; font-size: medium; vertical-align: baseline; quotes: none;"&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10273500" width="1" height="1"&gt;</description></item><item><title>Node.js– Socket Programming with C# and Javascript</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/22/node-js-socket-programming-with-c-and-javascript.aspx</link><pubDate>Wed, 22 Feb 2012 22:16:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10271235</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10271235</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/22/node-js-socket-programming-with-c-and-javascript.aspx#comments</comments><description>&lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="628"&gt;Installing Node.js on Windows, Mac&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="628"&gt;Thanks to Ryan Dahl’s presentations and materials, I have been able to follow along and learn a little about Node.js. I hope to show you what I learn as I learn it.          &lt;br /&gt;          &lt;br /&gt;The first step is get the latest version of Node installed.           &lt;br /&gt;          &lt;br /&gt;          &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; width: 825px; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;" width="784"&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="209"&gt; Node.js Website &lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;" width="573"&gt;&lt;a href="http://nodejs.org " target="_blank"&gt;http://nodejs.org &lt;/a&gt;&lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;          &lt;br /&gt;          &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="o31alsyz" border="0" alt="o31alsyz" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7041.o31alsyz_5F00_100397E1.jpg" width="402" height="354" /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="628"&gt;Using Node.js interactively&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="628"&gt;Bring up a command prompt. Bring up a command prompt. &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="v2gm3clg" border="0" alt="v2gm3clg" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0272.v2gm3clg_5F00_4E1CB292.jpg" width="500" height="111" /&gt;          &lt;br /&gt;Type in &lt;strong&gt;node&lt;/strong&gt; start the interpreter. &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="nugjogqo" border="0" alt="nugjogqo" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0272.nugjogqo_5F00_421AC25E.jpg" width="496" height="110" /&gt;          &lt;br /&gt;Define a function. You can ignore the “undefined” message. &lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="anpet5bd" border="0" alt="anpet5bd" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6136.anpet5bd_5F00_72CDCA09.jpg" width="492" height="81" /&gt;          &lt;br /&gt;You can now call the function, passing in “212.”           &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="pxfpmsav" border="0" alt="pxfpmsav" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/5543.pxfpmsav_5F00_4ABB1AEA.jpg" width="490" height="94" /&gt;          &lt;br /&gt;          &lt;br /&gt;Notice we get “100” as the answer, since 212 Fahrenheit is 100 Celsius.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="628"&gt;Write Node.js scripts and running them&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="628"&gt; You can request the process id very simply.          &lt;br /&gt;          &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="cz4aghaf" border="0" alt="cz4aghaf" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/3301.cz4aghaf_5F00_22A86BCB.jpg" width="180" height="35" /&gt;          &lt;br /&gt;          &lt;br /&gt;If you want A LOT of information, just type in “process.”&amp;#160; It is a lot of information.           &lt;br /&gt;          &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="qjgs4yvc" border="0" alt="qjgs4yvc" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/6505.qjgs4yvc_5F00_6FD86556.jpg" width="180" height="19" /&gt;          &lt;br /&gt;          &lt;br /&gt;This will list a lot details about the process, including environment variables.           &lt;br /&gt;          &lt;br /&gt;&lt;strong&gt;Running Node.js Scripts            &lt;br /&gt;&lt;/strong&gt;          &lt;br /&gt;Simply type in “node [node.js code file]”           &lt;br /&gt;          &lt;br /&gt;c:\&amp;gt; node simpleServer.js          &lt;br /&gt;&lt;strong&gt;&amp;#160; &lt;br /&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/0167.image_5F00_4E77D3E4.png" width="391" height="97" /&gt;            &lt;br /&gt;&lt;font face="Consolas"&gt;             &lt;br /&gt;setTimeout.js&lt;/font&gt;&lt;/strong&gt;          &lt;table border="1" cellspacing="0" cellpadding="2" width="622"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;tbody&gt;&lt;strong&gt;&lt;/strong&gt;              &lt;tr&gt;&lt;strong&gt;&lt;/strong&gt;                &lt;td valign="top" width="620"&gt;                 &lt;pre class="code"&gt;&lt;strong&gt;setTimeout(&lt;span style="color: blue;"&gt;function &lt;/span&gt;() { console.log(&lt;span style="color: maroon;"&gt;&amp;quot; world&amp;quot;&lt;/span&gt;); }, 2000);
console.log(&lt;span style="color: maroon;"&gt;&amp;quot;Hello&amp;quot;&lt;/span&gt;);
&lt;/strong&gt;&lt;/pre&gt;
              &lt;/td&gt;
            &lt;/tr&gt;
          &lt;/tbody&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/table&gt;

        &lt;br /&gt;The point is that there is no “sleep” in Node. You cannot halt execution. The setTimeout() lets you do things in the background. In the code above the word “Hello” shows up immediately and “World” shows up 2 seconds later. 

        &lt;br /&gt;

        &lt;br /&gt;&lt;strong&gt;&lt;font face="Consolas"&gt;setInterval.js&lt;/font&gt;&lt;/strong&gt;

        &lt;table border="1" cellspacing="0" cellpadding="2" width="622"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;tbody&gt;&lt;strong&gt;&lt;/strong&gt;

            &lt;tr&gt;&lt;strong&gt;&lt;/strong&gt;

              &lt;td valign="top" width="620"&gt;
                &lt;pre class="code"&gt;&lt;strong&gt;setInterval(&lt;span style="color: blue;"&gt;function &lt;/span&gt;() { console.log(&lt;span style="color: maroon;"&gt;&amp;quot; world&amp;quot;&lt;/span&gt;); }, 2000);
console.log(&lt;span style="color: maroon;"&gt;&amp;quot;Hello&amp;quot;&lt;/span&gt;);
&lt;/strong&gt;&lt;/pre&gt;
              &lt;/td&gt;
            &lt;/tr&gt;
          &lt;/tbody&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/table&gt;

        &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="ibdqzodd" border="0" alt="ibdqzodd" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/8662.ibdqzodd_5F00_5D236B9F.jpg" width="350" height="140" /&gt;

        &lt;br /&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;hr /&gt;

&lt;table border="0"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;

      &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="628"&gt;A simple HTTP Server – Demo&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;table border="0"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;

      &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="628"&gt; The code below creates a very basic web server.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;

        &lt;br /&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/1680.image_5F00_768D56CE.png" width="458" height="70" /&gt;

        &lt;br /&gt;

        &lt;br /&gt;The code below does the following: 

        &lt;br /&gt;

        &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;
            &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;
              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Line 1&lt;/td&gt;

              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Brings in the code to write an http server&lt;/td&gt;
            &lt;/tr&gt;

            &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;
              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Line 3&lt;/td&gt;

              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;createServer() gets called, passing in some code as the callback.&lt;/td&gt;
            &lt;/tr&gt;

            &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;
              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Line 5&lt;/td&gt;

              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Indicate that the web server return plain text&lt;/td&gt;
            &lt;/tr&gt;

            &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;
              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Line 6&lt;/td&gt;

              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Send “Hello World” back to the browser.&lt;/td&gt;
            &lt;/tr&gt;
          &lt;/tbody&gt;&lt;/table&gt;

        &lt;br /&gt;&lt;img style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4186.image_5F00_21EF8FD4.png" width="624" height="267" /&gt;

        &lt;br /&gt;

        &lt;br /&gt; Here is the output. Notice that on the left we execute simpleServer.js. On the right side we execute the code in simpleServer.js by navigating a browser to &lt;a href="http://127.0.0.1:8000"&gt;http://127.0.0.1:8000&lt;/a&gt;. Note the 8000, because that is the port we are listening on. 

        &lt;br /&gt;

        &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/4186.image_5F00_4F40FFD7.png" width="522" height="123" /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;b&gt;
          &lt;br /&gt;Inspecting http headers with Fiddler&lt;/b&gt;

        &lt;br /&gt;

        &lt;br /&gt;Fiddler is an HTTP debugging proxy server application. It captures HTTP traffic and logs it for the user to review. Here is what to notice about the call we just made. 

        &lt;br /&gt;

        &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;
            &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;
              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; HTTP/1.1&lt;/td&gt;

              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; The latest application-level protocol for distributed, collaborative, hypermedia information systems.&lt;/td&gt;
            &lt;/tr&gt;

            &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;
              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Connection: Keep-Alive &lt;/td&gt;

              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Means that a persistent connection is maintained with the web server. Modern http means with one connection you can get multiple responses. &lt;/td&gt;
            &lt;/tr&gt;

            &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;
              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Transfer-encoding is chunked &lt;/td&gt;

              &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Means that a server to can maintain an HTTP persistent connection for dynamically generated content. We dont know how big the content will be.&lt;/td&gt;
            &lt;/tr&gt;
          &lt;/tbody&gt;&lt;/table&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/7268.image_5F00_7FF40782.png" width="665" height="408" /&gt;&amp;#160; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;hr /&gt;

&lt;table border="0"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;

      &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="628"&gt;A Node.js TCP Server&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;table border="0"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;

      &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="628"&gt; We just demonstrated http. The next section is learning about TCP. TCP is considered a very lightweight protocol, free of the overhead of http. Notice in the code below we require ‘net,’ not ‘http.’ Everything else should look somewhat familiar from before. 
        &lt;br /&gt;

        &lt;br /&gt;But let’s be clear. TCP is a transport layer protocol and HTTP is an application layer protocol. HTTP (usually) operates over TCP, so whichever option you choose, it will still be operating over TCP.

        &lt;br /&gt;

        &lt;br /&gt;TCP sockets are more bandwidth efficient, since HTTP contains a whole bunch of extra data (the headers) that would likely not be needed. HTTP is not particularly suited to n-way chat servers. 

        &lt;br /&gt;

        &lt;br /&gt;&lt;strong&gt;&lt;font face="Consolas"&gt;tcpServer.js&lt;/font&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;table border="1" cellspacing="0" cellpadding="2" width="600"&gt;&lt;tbody&gt;
            &lt;tr&gt;
              &lt;td valign="top" width="600"&gt;&lt;font face="Consolas"&gt;var net = require('net');&lt;/font&gt;&lt;font face="Consolas"&gt;
                  &lt;br /&gt;var tcp_server = net.createServer(function(socket) 

                  &lt;br /&gt;{ &lt;/font&gt;&lt;font face="Consolas"&gt;
                  &lt;br /&gt;&amp;#160; socket.write('hello\n');&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;font face="Consolas"&gt;&amp;#160; socket.end('world\n'); 
                  &lt;br /&gt;});&lt;/font&gt;

                &lt;br /&gt;&lt;font face="Consolas"&gt;tcp_server.listen(8000);&lt;/font&gt;&lt;/td&gt;
            &lt;/tr&gt;
          &lt;/tbody&gt;&lt;/table&gt;

        &lt;br /&gt;&lt;b&gt;Let’s write a C# program to read those TCP bytes (“Hello World”)&lt;/b&gt;

        &lt;br /&gt;

        &lt;table border="1" cellspacing="0" cellpadding="2" width="630"&gt;&lt;tbody&gt;
            &lt;tr&gt;
              &lt;td valign="top" width="630"&gt;
                &lt;pre class="code"&gt;&lt;span style="color: blue;"&gt;static void &lt;/span&gt;Main(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] args)
{
    &lt;span style="color: rgb(43, 145, 175);"&gt;TcpClient &lt;/span&gt;tcpClient = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;TcpClient&lt;/span&gt;();
    tcpClient.Connect(&lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;127.0.0.1&amp;quot;&lt;/span&gt;, 8000);
    &lt;span style="color: rgb(43, 145, 175);"&gt;NetworkStream &lt;/span&gt;clientStream = tcpClient.GetStream();

    &lt;span style="color: blue;"&gt;byte&lt;/span&gt;[] message = &lt;span style="color: blue;"&gt;new byte&lt;/span&gt;[4096];
    &lt;span style="color: blue;"&gt;int &lt;/span&gt;bytesRead;
    bytesRead = 0;

    &lt;span style="color: blue;"&gt;try
    &lt;/span&gt;{
        &lt;span style="color: green;"&gt;// Read up to 4096 bytes
        &lt;/span&gt;bytesRead = clientStream.Read(message, 0, 4096);
    }
    &lt;span style="color: blue;"&gt;catch
    &lt;/span&gt;{ 
        &lt;span style="color: green;"&gt;/*a socket error has occured*/ 
    &lt;/span&gt;}

    &lt;span style="color: green;"&gt;//We have read the message.
    &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;ASCIIEncoding &lt;/span&gt;encoder = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;ASCIIEncoding&lt;/span&gt;();
    &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(encoder.GetString(message, 0, bytesRead));

    tcpClient.Close();
}
               &lt;/pre&gt;
              &lt;/td&gt;
            &lt;/tr&gt;
          &lt;/tbody&gt;&lt;/table&gt;

        &lt;br /&gt;Here is the TCP client reading and displaying the bytes. 

        &lt;br /&gt;

        &lt;br /&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-13-13-metablogapi/2553.image_5F00_543317B9.png" width="624" height="241" /&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;hr /&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10271235" width="1" height="1"&gt;</description></item><item><title>Building Hybrid Applications in the Cloud on Windows Azure–Guidance</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/15/building-hybrid-applications-in-the-cloud-on-windows-azure-guidance.aspx</link><pubDate>Wed, 15 Feb 2012 19:29:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10268350</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10268350</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/15/building-hybrid-applications-in-the-cloud-on-windows-azure-guidance.aspx#comments</comments><description>&lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="828"&gt;Download the free book&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="828"&gt;         &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; width: 825px; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Building Hybrid Applications in the Cloud on Windows Azure&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://wag.codeplex.com/releases/view/74838" target="_blank"&gt;http://wag.codeplex.com/releases/view/74838&lt;/a&gt;&lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="828"&gt;Table of Contents&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="828"&gt;         &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Chapter 1&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;The Trey Research Scenario&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Chapter 2&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Deploying the Orders Application and Data in the Cloud&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Chapter 3&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Authenticating Users in the Orders Application&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Chapter 4&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Implementing Reliable Messaging and Communications with the Cloud&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Chapter 5&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Processing Orders in the Trey Research Scenario&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Chapter 6&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Maximizing Scalability, Availability, and Performance in the Orders Application&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Chapter 7&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Monitoring and Managing the Orders Application&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Appendix A&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Replicating, Distributing, and Synchronizing Data&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Appendix B&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Authenticating Users and Authorizing Requests&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Appendix C&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Implementing Cross-Boundary Communication&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Appendix D&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Implementing Business Logic and Message Routing&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Appendix E&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Maximizing Scalability, Availability, and Performance&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Appendix F&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;Monitoring and Managing Hybrid Applications&lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10268350" width="1" height="1"&gt;</description></item><item><title>Windows Azure–Relational Storage in the cloud is very inexpensive</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/15/windows-azure-relational-storage-in-the-cloud-is-very-inexpensive.aspx</link><pubDate>Wed, 15 Feb 2012 17:15:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10268311</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10268311</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/15/windows-azure-relational-storage-in-the-cloud-is-very-inexpensive.aspx#comments</comments><description>&lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="828"&gt; I know of companies that have shaved off 75% their On-Premise SQL Server costs&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="828"&gt;         &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; width: 825px; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Microsoft Cuts SQL Azure Storage Pricing&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://redmondmag.com/articles/2012/02/14/sql-azure-storage-pricing.aspx" target="_blank"&gt;http://redmondmag.com/articles/2012/02/14/sql-azure-storage-pricing.aspx&lt;/a&gt;&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Pricing Overview&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="https://www.windowsazure.com/en-us/pricing/details/#database/?WT.mc_id=cmp_pst001_blg_post0055pri" target="_blank"&gt;https://www.windowsazure.com/en-us/pricing/details/#database/?WT.mc_id=cmp_pst001_blg_post0055pri&lt;/a&gt;&lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;          &lt;br /&gt;One of the members (Robin is an MVP) of my community absolutely loves SQL Azure. She will flat out tell anyone that her company saved up to 80% of their costs for maintaining their own database infrastructures. If you don’t believe me, I can put you in contact with her.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="828"&gt; These prices are dramatically lower&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="828"&gt;         &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;thead&gt;             &lt;tr&gt;               &lt;th style="padding: 5px 15px; height: 26px; text-align: left; color: rgb(0, 0, 0); font-size: 90%; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: silver; align: left;" scope="col"&gt; Database Size &lt;/th&gt;                &lt;th style="padding: 5px 15px; height: 26px; text-align: left; color: rgb(0, 0, 0); font-size: 90%; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; background-color: silver; align: left;" scope="col"&gt; Price Per Database Per Month &lt;/th&gt;             &lt;/tr&gt;           &lt;/thead&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 0 to 100 MB&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Flat $4.995&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Greater than 100 MB to 1 GB&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Flat $9.99&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Greater than 1 GB to 10 GB&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; $9.99 for first GB, $3.996 for each additional GB&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Greater than 10 GB to 50 GB&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; $45.954 for first 10 GB, $1.998 for each additional GB&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Great than 50 GB to 150 GB&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; $125.874 for first 50 GB, $0.999 for each additional GB&lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;tfoot&gt;             &lt;tr style="background-color: silver;"&gt;               &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&amp;#160;&lt;/td&gt;                &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&amp;#160;&lt;/td&gt;             &lt;/tr&gt;           &lt;/tfoot&gt;&lt;/table&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10268311" width="1" height="1"&gt;</description></item><item><title>GigaOM Provides a great article on Windows Azure (the Microsoft Cloud)</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/15/gigaom-provides-a-great-article-on-windows-azure-the-microsoft-cloud.aspx</link><pubDate>Wed, 15 Feb 2012 17:02:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10268305</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10268305</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/15/gigaom-provides-a-great-article-on-windows-azure-the-microsoft-cloud.aspx#comments</comments><description>&lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="828"&gt;Windows Azure is a Kick-Butt Cloud offering&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="828"&gt;         &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; width: 825px; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;2/10/2012&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Don’t look now but Microsoft Azure is a kick-butt cloud&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;&lt;a href="http://gigaom.com/cloud/dont-look-now-but-microsoft-azure-is-a-kick-butt-cloud/" target="_blank"&gt;http://gigaom.com/cloud/dont-look-now-but-microsoft-azure-is-a-kick-butt-cloud/&lt;/a&gt;&lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="828"&gt;What I liked in the article&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="828"&gt;         &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;thead&gt;             &lt;tr&gt;               &lt;th style="padding: 5px 15px; height: 26px; text-align: left; color: rgb(0, 0, 0); font-size: 90%; border-top-color: rgb(0, 0, 0); border-top-width: 1px; border-top-style: solid; background-color: silver; align: left;" scope="col"&gt;&amp;#160; GigoOM Article &lt;/th&gt;                &lt;th style="padding: 5px 15px; height: 26px; text-align: left; color: rgb(0, 0, 0); font-size: 90%; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; background-color: silver; align: left;" scope="col"&gt; My (Bruno) Response &lt;/th&gt;             &lt;/tr&gt;           &lt;/thead&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;“It is a full fledged platform as a service”&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Means the developer doesn't deal with VMs. Just data and applications.&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;“Google plans a dropbox killer”&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; But MS already has SkyDrive, which is awesome. Skydrive is backed by 6 huge global data centers. You can easily integrate other high end cloud features using Azure storage.&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;“[Nasuni monitored] ...cloud storage performance, availability and reliability ...”&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; The conclusion - MS has a very robust, powerful cloud offering, compared to the others.&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt;“Microsoft Azure overall has not gotten as much traction as expected as a PaaS, he said, but the infrastructure is so solid and scalable that Microsoft can profit even in the extremely thin margins afforded by plain-old-but-very-important cloud storage.”&lt;/td&gt;                &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; I agree. People ask me all the time, like at Cloud Connect in Silicon Valley yesterday. How does MS make money when its margins are so razor thin? My answer is simple, our data centers are super automated, with the lowest manual intervention of any cloud provider out there.&lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;tfoot&gt;             &lt;tr style="background-color: silver;"&gt;               &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&amp;#160;&lt;/td&gt;                &lt;td style="border-left-color: rgb(0, 0, 0); border-left-width: 1px; border-left-style: solid;"&gt;&amp;#160;&lt;/td&gt;             &lt;/tr&gt;           &lt;/tfoot&gt;&lt;/table&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10268305" width="1" height="1"&gt;</description></item><item><title>Microsoft West Region Evangelism</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/10/we-call-ourselves-evangelists-it-means-we-blog.aspx</link><pubDate>Fri, 10 Feb 2012 20:05:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10266693</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10266693</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/10/we-call-ourselves-evangelists-it-means-we-blog.aspx#comments</comments><description>&lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="700"&gt; Recent Posts&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="700"&gt; I work alongside a lot of talented individuals. I am part of the west region developer evangelism team.          &lt;br /&gt;          &lt;br /&gt; I wanted to share some of the posts of my colleagues have created.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(102, 102, 102) rgb(102, 102, 102); font: 90%/normal verdana, arial, helvetica, sans-serif; width: 825px; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; John McCarthy, Father of Artificial Intelligence and LISP passes the veil                  &lt;br /&gt;                  &lt;br /&gt;&lt;a href="http://blogs.msdn.com/b/devschool" target="_blank"&gt;Sam Stokes&lt;/a&gt;                  &lt;br /&gt;Academic Evangelist from Los Angeles&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://blogs.msdn.com/b/devschool/archive/2011/10/27/john-mccarthy-father-of-artificial-intelligence-and-lisp-passes-from-this-veil.aspx" target="_blank"&gt;http://blogs.msdn.com/b/devschool/archive/2011/10/27/john-mccarthy-father-of-artificial-intelligence-and-lisp-passes-from-this-veil.aspx&lt;/a&gt;&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;b&gt;Tags: &lt;/b&gt;&amp;#160; &lt;a title="Academics" href="http://blogs.msdn.com/b/devschool" rel="tag" target="_blank"&gt;Academics&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title=" Artificial Intelligence" href="http://blogs.msdn.com/b/devschool" rel="tag" target="_blank"&gt; Artificial Intelligence&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title=" Imagine Cup" href="http://blogs.msdn.com/b/devschool" rel="tag" target="_blank"&gt; Imagine Cup&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title="Sam Stokes" href="http://blogs.msdn.com/b/devschool" rel="tag" target="_blank"&gt;Sam Stokes&lt;/a&gt;&amp;#160;&amp;#160; &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; 4 New TechNet Virtual Labs available for System Center 2012 Products                  &lt;br /&gt;                  &lt;br /&gt;&lt;a href="http://blogs.technet.com/b/haroldwong" target="_blank"&gt;Harold Wong&lt;/a&gt;                  &lt;br /&gt;IT Pro Evangelist from Phoenix &lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://blogs.technet.com/b/haroldwong/archive/2011/12/08/4-new-technet-virtual-labs-available-for-system-center-2012-products.aspx" target="_blank"&gt;http://blogs.technet.com/b/haroldwong/archive/2011/12/08/4-new-technet-virtual-labs-available-for-system-center-2012-products.aspx&lt;/a&gt;&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;b&gt;Tags: &lt;/b&gt;&amp;#160; &lt;a title="Private Cloud" href="http://blogs.technet.com/b/haroldwong" rel="tag" target="_blank"&gt;Private Cloud&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title=" Virtualization" href="http://blogs.technet.com/b/haroldwong" rel="tag" target="_blank"&gt; Virtualization&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title="Harold Wong" href="http://blogs.technet.com/b/haroldwong" rel="tag" target="_blank"&gt;Harold Wong&lt;/a&gt;&amp;#160;&amp;#160; &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; The Web Role was started in a wrong port                  &lt;br /&gt;                  &lt;br /&gt;&lt;a href="http://thesociablegeek.com" target="_blank"&gt;Daniel Egan&lt;/a&gt;                  &lt;br /&gt;Developer Evangelist from Los Angeles&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://thesociablegeek.com/windows-phone-7/the-web-role-was-started-in-a-wrong-port/#" target="_blank"&gt;http://thesociablegeek.com/windows-phone-7/the-web-role-was-started-in-a-wrong-port/#&lt;/a&gt;&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;b&gt;Tags: &lt;/b&gt;&amp;#160; &lt;a title="Windows Phone" href="http://thesociablegeek.com" rel="tag" target="_blank"&gt;Windows Phone&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title="Daniel Egan" href="http://thesociablegeek.com" rel="tag" target="_blank"&gt;Daniel Egan&lt;/a&gt;&amp;#160;&amp;#160; &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; HTML5 Content Page with Presentation, Demo and Labs:                  &lt;br /&gt;                  &lt;br /&gt;&lt;a href="http://blogs.msdn.com/b/dorischen" target="_blank"&gt;Doris Chen&lt;/a&gt;                  &lt;br /&gt;Developer Evangelist from Mountain View&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://blogs.msdn.com/b/dorischen/archive/2011/11/23/updated-html5-webcamp-training-presentation-demo-available.aspx " target="_blank"&gt;http://blogs.msdn.com/b/dorischen/archive/2011/11/23/updated-html5-webcamp-training-presentation-demo-available.aspx &lt;/a&gt;&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;b&gt;Tags: &lt;/b&gt;&amp;#160; &lt;a title="HTML5" href="http://blogs.msdn.com/b/dorischen" rel="tag" target="_blank"&gt;HTML5&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title=" MVC" href="http://blogs.msdn.com/b/dorischen" rel="tag" target="_blank"&gt; MVC&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title="Doris Chen" href="http://blogs.msdn.com/b/dorischen" rel="tag" target="_blank"&gt;Doris Chen&lt;/a&gt;&amp;#160;&amp;#160; &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; SQL Server Reporting Services (SSRS) Catalog Queries - CodePlex Project Bret Stateham                 &lt;br /&gt;                  &lt;br /&gt;&lt;a href="http://bretstateham.com" target="_blank"&gt;Bret Stateham&lt;/a&gt;                  &lt;br /&gt;Developer Evangelist from San Diego &lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://bretstateham.com/?p=59#" target="_blank"&gt;http://bretstateham.com/?p=59#&lt;/a&gt;&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;b&gt;Tags: &lt;/b&gt;&amp;#160; &lt;a title="Cloud" href="http://bretstateham.com" rel="tag" target="_blank"&gt;Cloud&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title=" Azure" href="http://bretstateham.com" rel="tag" target="_blank"&gt; Azure&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title="Bret Stateham" href="http://bretstateham.com" rel="tag" target="_blank"&gt;Bret Stateham&lt;/a&gt;&amp;#160;&amp;#160; &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Bruno Knows Cloud                  &lt;br /&gt;                  &lt;br /&gt;&lt;a href="http://blogs.msdn.com/brunoterkaly" target="_blank"&gt;Bruno Terkaly&lt;/a&gt;                  &lt;br /&gt;Developer Evangelist from Silicon Valley &lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://blogs.msdn.com/b/brunoterkaly/archive/2011/12/13/bruno-knows-cloud.aspx" target="_blank"&gt;http://blogs.msdn.com/b/brunoterkaly/archive/2011/12/13/bruno-knows-cloud.aspx&lt;/a&gt;&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;b&gt;Tags: &lt;/b&gt;&amp;#160; &lt;a title="Cloud" href="http://blogs.msdn.com/brunoterkaly" rel="tag" target="_blank"&gt;Cloud&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title=" Azure" href="http://blogs.msdn.com/brunoterkaly" rel="tag" target="_blank"&gt; Azure&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title="Bruno Terkaly" href="http://blogs.msdn.com/brunoterkaly" rel="tag" target="_blank"&gt;Bruno Terkaly&lt;/a&gt;&amp;#160;&amp;#160; &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Learning Resources for Windows Phone                  &lt;br /&gt;                  &lt;br /&gt;&lt;a href="http://blogs.msdn.com/b/kennyspade" target="_blank"&gt;Kenny Spade&lt;/a&gt;                  &lt;br /&gt;Developer Evangelist from Mountain View &lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://blogs.msdn.com/b/kennyspade/archive/2011/10/28/resources-and-content-from-our-phone-camps.aspx" target="_blank"&gt;http://blogs.msdn.com/b/kennyspade/archive/2011/10/28/resources-and-content-from-our-phone-camps.aspx&lt;/a&gt;&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;b&gt;Tags: &lt;/b&gt;&amp;#160; &lt;a title="Windows Phone" href="http://blogs.msdn.com/b/kennyspade" rel="tag" target="_blank"&gt;Windows Phone&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title="Kenny Spade" href="http://blogs.msdn.com/b/kennyspade" rel="tag" target="_blank"&gt;Kenny Spade&lt;/a&gt;&amp;#160;&amp;#160; &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Learning about Virtualization                  &lt;br /&gt;                  &lt;br /&gt;&lt;a href="http://blogs.msdn.com/b/matt-harrington/" target="_blank"&gt;Matt Harrington&lt;/a&gt;                  &lt;br /&gt;Developer Evangelist from San Francisco&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://blogs.msdn.com/b/matt-harrington/archive/2012/02/10/learn-about-windows-server-2008-r2-virtualization.aspx" target="_blank"&gt;http://blogs.msdn.com/b/matt-harrington/archive/2012/02/10/learn-about-windows-server-2008-r2-virtualization.aspx&lt;/a&gt;&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;b&gt;Tags: &lt;/b&gt;&amp;#160; &lt;a title="Windows 8" href="http://blogs.msdn.com/b/matt-harrington/" rel="tag" target="_blank"&gt;Windows 8&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title="Matt Harrington" href="http://blogs.msdn.com/b/matt-harrington/" rel="tag" target="_blank"&gt;Matt Harrington&lt;/a&gt;&amp;#160;&amp;#160; &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; How to Add a Twitter Feed to FeedDemon                 &lt;br /&gt;                  &lt;br /&gt;&lt;a href="http://blogs.msdn.com/b/palermo4" target="_blank"&gt;Michael Palermo&lt;/a&gt;                  &lt;br /&gt;Developer Evangelist from Phoenix&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://blogs.msdn.com/b/palermo4/archive/2012/02/10/how-to-add-a-twitter-feed-to-feeddemon.aspx" target="_blank"&gt;http://blogs.msdn.com/b/palermo4/archive/2012/02/10/how-to-add-a-twitter-feed-to-feeddemon.aspx&lt;/a&gt;&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;b&gt;Tags: &lt;/b&gt;&amp;#160; &lt;a title="HTML5" href="http://blogs.msdn.com/b/palermo4" rel="tag" target="_blank"&gt;HTML5&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title=" MVC" href="http://blogs.msdn.com/b/palermo4" rel="tag" target="_blank"&gt; MVC&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title="Michael Palermo" href="http://blogs.msdn.com/b/palermo4" rel="tag" target="_blank"&gt;Michael Palermo&lt;/a&gt;&amp;#160;&amp;#160; &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Mango Sample: Give your app the Finger!                  &lt;br /&gt;                  &lt;br /&gt;&lt;a href="http://blogs.msdn.com/b/jerrynixon" target="_blank"&gt;Jerry Nixon&lt;/a&gt;                  &lt;br /&gt;Developer Evangelist from Denver &lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://blogs.msdn.com/b/jerrynixon/archive/2012/02/07/mango-sample-give-your-app-the-finger.aspx" target="_blank"&gt;http://blogs.msdn.com/b/jerrynixon/archive/2012/02/07/mango-sample-give-your-app-the-finger.aspx&lt;/a&gt;&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;b&gt;Tags: &lt;/b&gt;&amp;#160; &lt;a title="Windows Phone" href="http://blogs.msdn.com/b/jerrynixon" rel="tag" target="_blank"&gt;Windows Phone&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title="Jerry Nixon" href="http://blogs.msdn.com/b/jerrynixon" rel="tag" target="_blank"&gt;Jerry Nixon&lt;/a&gt;&amp;#160;&amp;#160; &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(235, 243, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Get your site up and running in Minutes! With WebMatrix                 &lt;br /&gt;                  &lt;br /&gt;&lt;a href="http://blogs.msdn.com/b/alicerp" target="_blank"&gt;Alice Pang&lt;/a&gt;                  &lt;br /&gt;Developer Evangelist from Los Angeles &lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://blogs.msdn.com/b/alicerp/archive/2012/01/08/get-your-site-up-and-running-in-minutes-with-webmatrix-video.aspx " target="_blank"&gt;http://blogs.msdn.com/b/alicerp/archive/2012/01/08/get-your-site-up-and-running-in-minutes-with-webmatrix-video.aspx &lt;/a&gt;&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;b&gt;Tags: &lt;/b&gt;&amp;#160; &lt;a title="Web Matrix" href="http://blogs.msdn.com/b/alicerp" rel="tag" target="_blank"&gt;Web Matrix&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title="Alice Pang" href="http://blogs.msdn.com/b/alicerp" rel="tag" target="_blank"&gt;Alice Pang&lt;/a&gt;&amp;#160;&amp;#160; &lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Free Stuff For Startups                  &lt;br /&gt;                  &lt;br /&gt;&lt;a href="http://blogs.technet.com/b/chrisavis" target="_blank"&gt;Chris Avis&lt;/a&gt;                  &lt;br /&gt;IT Pro Evangelist from Redmond &lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://blogs.technet.com/b/chrisavis/archive/2012/02/10/free-stuff-for-startups.aspx" target="_blank"&gt;http://blogs.technet.com/b/chrisavis/archive/2012/02/10/free-stuff-for-startups.aspx&lt;/a&gt;&lt;/td&gt;                &lt;td style="font: 70%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;b&gt;Tags: &lt;/b&gt;&amp;#160; &lt;a title="Private Cloud" href="http://blogs.technet.com/b/chrisavis" rel="tag" target="_blank"&gt;Private Cloud&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title=" Virtualization" href="http://blogs.technet.com/b/chrisavis" rel="tag" target="_blank"&gt; Virtualization&lt;/a&gt;&amp;#160;&amp;#160; &lt;a title="Chris Avis" href="http://blogs.technet.com/b/chrisavis" rel="tag" target="_blank"&gt;Chris Avis&lt;/a&gt;&amp;#160;&amp;#160; &lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;          &lt;br /&gt;          &lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;hr /&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10266693" width="1" height="1"&gt;</description></item><item><title>Cloud Applications and Application Lifecycle Management (Includes Azure)</title><link>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/08/cloud-applications-and-application-lifecycle-management-includes-azure.aspx</link><pubDate>Wed, 08 Feb 2012 17:05:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10265479</guid><dc:creator>BrunoTerkaly</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/brunoterkaly/rsscomments.aspx?WeblogPostID=10265479</wfw:commentRss><comments>http://blogs.msdn.com/b/brunoterkaly/archive/2012/02/08/cloud-applications-and-application-lifecycle-management-includes-azure.aspx#comments</comments><description>&lt;hr /&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="color: rgb(76, 92, 159); line-height: 1.4; font-family: arial, helvetica, sans-serif; font-size: x-large; font-weight: bold;" bgcolor="#ffffff" width="828"&gt;Application Development in the cloud&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="middle" width="1"&gt;&amp;#160; &lt;/td&gt;        &lt;td style="text-align: left; line-height: 1.5; padding-top: 8px; padding-bottom: 4px; font-family: verdana, geneva, tahoma, sans-serif; font-size: medium;" bgcolor="white" width="828"&gt;         &lt;table style="border-width: medium 1px 1px; border-style: none solid solid; border-color: currentcolor rgb(0, 0, 0) rgb(0, 0, 0); font: 90%/normal verdana, arial, helvetica, sans-serif; text-align: left; color: rgb(0, 0, 0); border-collapse: collapse; font-size-adjust: none; font-stretch: normal;"&gt;&lt;tbody&gt;             &lt;tr style="vertical-align: top; background-color: rgb(221, 255, 170);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Azure Application Lifecycle Management with Buck Woody&lt;/td&gt;                &lt;td style="font: 80%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://blogs.msdn.com/b/buckwoody/archive/2012/02/07/application-lifecycle-management-overview-for-windows-azure.aspx" target="_blank"&gt;http://blogs.msdn.com/b/buckwoody/archive/2012/02/07/application-lifecycle-management-overview-for-windows-azure.aspx&lt;/a&gt;&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; ALM with Azure&lt;/td&gt;                &lt;td style="font: 80%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff803362.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/ff803362.aspx&lt;/a&gt;&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(221, 255, 170);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; David Chappell&lt;/td&gt;                &lt;td style="font: 80%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://www.microsoft.com/global/applicationplatform/en/us/RenderingAssets/Whitepapers/What%20is%20Application%20Lifecycle%20Management.pdf" target="_blank"&gt;http://www.microsoft.com/global/applicationplatform/en/us/RenderingAssets/Whitepapers/What%20is%20Application%20Lifecycle%20Management.pdf&lt;/a&gt;&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(255, 255, 255);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Northwest Cadance Can Help&lt;/td&gt;                &lt;td style="font: 80%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://itevent.net/application-lifecycle-management-alm-from-design-to-development" target="_blank"&gt;http://itevent.net/application-lifecycle-management-alm-from-design-to-development&lt;/a&gt;&lt;/td&gt;             &lt;/tr&gt;              &lt;tr style="vertical-align: top; background-color: rgb(221, 255, 170);"&gt;               &lt;td style="padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid;"&gt; Microsoft MSDN – Application Lifecycle Management&lt;/td&gt;                &lt;td style="font: 80%/normal verdana, arial, helvetica, sans-serif; padding: 5px 15px; height: 26px; border-top-color: rgb(0, 0, 0); border-left-color: rgb(0, 0, 0); border-top-width: 1px; border-left-width: 1px; border-top-style: solid; border-left-style: solid; font-size-adjust: none; font-stretch: normal;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio/ff625779" target="_blank"&gt;http://msdn.microsoft.com/en-us/vstudio/ff625779&lt;/a&gt;&lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;hr /&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10265479" width="1" height="1"&gt;</description></item></channel></rss>
