<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>RobinDotNet&#039;s Blog</title>
	<atom:link href="http://robindotnet.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://robindotnet.wordpress.com</link>
	<description>Click Once Deployment: How to Use it and Abuse it</description>
	<lastBuildDate>Tue, 10 Jan 2012 01:45:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='robindotnet.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>RobinDotNet&#039;s Blog</title>
		<link>http://robindotnet.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://robindotnet.wordpress.com/osd.xml" title="RobinDotNet&#039;s Blog" />
	<atom:link rel='hub' href='http://robindotnet.wordpress.com/?pushpress=hub'/>
		<item>
		<title>New Windows Azure book by Neil MacKenzie</title>
		<link>http://robindotnet.wordpress.com/2012/01/09/new-windows-azure-book-by-neil-mackenzie/</link>
		<comments>http://robindotnet.wordpress.com/2012/01/09/new-windows-azure-book-by-neil-mackenzie/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 07:00:55 +0000</pubDate>
		<dc:creator>robindotnet</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[WindowsAzure SQLAzure]]></category>

		<guid isPermaLink="false">https://robindotnet.wordpress.com/?p=593</guid>
		<description><![CDATA[A couple of months ago a new Azure book by Neil MacKenzie came out. Neil is a Microsoft MVP in the Windows Azure expertise, and a friend of mine. When I get stuck on a problem with Azure and can’t find an answer on Google, Bing, StackOverflow, or the MSDN Forums, I go to Neil, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=593&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A couple of months ago a <a href="http://www.amazon.com/Microsoft-Windows-Azure-Development-Cookbook/dp/1849682224/ref=sr_1_1?ie=UTF8&amp;qid=1326089088&amp;sr=8-1">new Azure book</a> by <a href="http://convective.wordpress.com/">Neil MacKenzie</a> came out. Neil is a <a href="http://mvp.support.microsoft.com/">Microsoft MVP</a> in the Windows Azure expertise, and a friend of mine. When I get stuck on a problem with Azure and can’t find an answer on Google, Bing, StackOverflow, or the MSDN Forums, I go to Neil, and he points me in the right direction. (He’s very kind, but I try not to abuse the privilege!) I knew he was writing a book, and was looking forward to buying a copy and writing a review.</p>
<p>So the book came out and shortly thereafter, his publisher contacted me and asked if I would write a review if he made an e-version available to me. Score! Although to be honest, even though I own a KindleDX, which displays tech books pretty well, I still prefer a printed copy, so I will end up buying the book.</p>
<p>I’ve worked in Windows Azure for over a year now, having migrated my company’s entire infrastructure to Azure last fall, and it’s been a great experience. When I spearheaded our migration, I was under a tight deadline, and I absorbed a lot of information in a short amount of time. Neil’s book has really deepened my knowledge, and I learned some things that I am looking forward to implementing in our infrastructure in the future. </p>
<p>So what does the book cover? Pretty much everything in Windows Azure, plus how to use SQL Azure and the different bits of the App Fabric. Here’s a list of the chapters:</p>
<ul>
<li>Chapter 1: Controlling Access in the Windows Azure Platform</li>
<li>Chapter 2: Handling Blobs in Windows Azure</li>
<li>Chapter 3: Going NoSQL with Windows Azure tables</li>
<li>Chapter 4: Disconnecting with Windows Azure queues</li>
<li>Chapter 5: Developing Hosted Services with Windows Azure</li>
<li>Chapter 6: Digging into Windows Azure Diagnostics</li>
<li>Chapter 7: Managing Hosted Services with the Service Management API</li>
<li>Chapter 8: Using SQL Azure</li>
<li>Chapter 9: Looking at the Windows Azure App Fabric</li>
</ul>
<p>One of the things I really like is Neil doesn’t just give you the basic code and basic concepts, he gives you the best way to use that information and covers the topics in-depth. For example, in Chapter 3 on using Windows Azure Table Storage, he doesn’t just provide the commands for reading and writing to the table, he shows you how to use generics to write something you can reuse. He also talks about how to use Fiddler to help diagnose problems with writing to Table Storage, discusses design considerations, and covers server side paging and continuation tokens.</p>
<p>All of the chapters have the same kind of deep knowledge and thorough coverage, and the writing is very clear. You can read the book from cover to cover or use it as a reference book and just read the bits that you need help with. I think it’s one of the best Azure books available right now, and a must-have for any developer wanting to learn Windows Azure or using Windows Azure already.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robindotnet.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robindotnet.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robindotnet.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robindotnet.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robindotnet.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robindotnet.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robindotnet.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robindotnet.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robindotnet.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robindotnet.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robindotnet.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robindotnet.wordpress.com/593/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robindotnet.wordpress.com/593/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robindotnet.wordpress.com/593/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=593&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://robindotnet.wordpress.com/2012/01/09/new-windows-azure-book-by-neil-mackenzie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef78d5fecbe0b6b95d9b4da06e3c16b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robindotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>Windows Azure Compute Emulator Won&#8217;t Start And SDK-Tools-1.6</title>
		<link>http://robindotnet.wordpress.com/2011/11/27/windows-azure-compute-emulator-wont-start-and-sdk-tools-1-6/</link>
		<comments>http://robindotnet.wordpress.com/2011/11/27/windows-azure-compute-emulator-wont-start-and-sdk-tools-1-6/#comments</comments>
		<pubDate>Sun, 27 Nov 2011 22:58:29 +0000</pubDate>
		<dc:creator>robindotnet</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[Azure DevFabric ComputeEmulator SDK]]></category>

		<guid isPermaLink="false">https://robindotnet.wordpress.com/?p=585</guid>
		<description><![CDATA[After we upgraded to Azure SDK 1.5, one of our developers (Mike) had a problem. When he would try to run his Azure web role in the development fabric, it would sit there packaging up the deployment for an extraordinarily long time, and then give a popup message saying “Unable to connect to dfService”. After [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=585&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After we upgraded to Azure SDK 1.5, one of our developers (Mike) had a problem. When he would try to run his Azure web role in the development fabric, it would sit there packaging up the deployment for an extraordinarily long time, and then give a popup message saying “Unable to connect to dfService”. </p>
<p>After some googling, and then bugging <a href="http://convective.wordpress.com/">Neil McKenzie</a> (Microsoft MVP in Azure, whose <a href="http://www.amazon.com/Microsoft-Windows-Azure-Development-Cookbook/dp/1849682224/ref=sr_1_1?ie=UTF8&amp;qid=1322432346&amp;sr=8-1">book you should definitely check out</a>), it turned out that it was because the username he used to log onto his computer had a space in it. </p>
<p>At this point, Mike had two choices. He could create a new profile without a space in the username and try to move everything over to it &#8212; you can do this by copying the old profile to the new. But he didn’t want to change his username. So he took the second option and followed the instructions in <a href="http://msdn.microsoft.com/en-us/library/hh472165.aspx">this MSDN article</a> to set up an environment variable called _CSRUN_STATE_DIRECTORY to a path that didn&#8217;t have any spaces.</p>
<p>I know a lot of people have hit this problem, so I was wondering if they fixed this bug with the new SDK/Tools 1.6 that came out recently. I have a VHD that I use for maintaining our Office Add-ins – it has Windows 7, Visual Studio 2010, and Office 2007 installed in it. It hasn’t been updated for about three months, but I figured I could install Windows Updates and upgrade it to SDK 1.5/Tools 1.4 and see if I could reproduce the error.</p>
<p>It turns out the dang VHD didn’t have Azure tools installed at all. This means it also didn’t have SQLServer or IIS or the MVC tools upgrade, let alone about 50 Windows Updates. </p>
<p>After spending the morning (seriously, it took about 4 hours) updating and installing, I finally got to the point where I had Azure Tools 1.4 and Azure SDK 1.5 installed. I set up a new user profile with a space in it, and reproduced the problem. I also added the Environment variable and verified that it fixed the problem, and removed it and verified that the problem occurred again. I wanted to make sure all of the possibilities were covered, this was actually the exact problem we had seen, and that the problem was occurring again after removing the eivnronment variable so I could verify for sure that installing SDK 1.6 fixed it (or not). </p>
<p>Next I went out and tracked down the 1.6&#160; tools. The main install page is <a href="http://www.microsoft.com/windowsazure/sdk/"><u>here</u></a>. You can use the Web Platform Installer, but I wanted to install the components manually. There is a link to the manual instructions on that page, and they are <a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=28045"><u>here</u></a>.</p>
<p>I downloaded the 64-bit versions of everything. Since I’d already been through this, IIS and MVC, etc., were already installed and up-to-date; I only had to install the Azure components. </p>
<p>Interestingly enough, they have now split this into four bits, installable in this order:</p>
<ul>
<li>Windows Azure Authoring Tools – November 2011 (this is the SDK) </li>
<li>Windows Azure Emulator – November 2011 </li>
<li>Windows Azure Libs for .NET – November 2011 </li>
<li>Windows Azure Tools – November 2011. </li>
</ul>
<p>So I installed them, one by one, in the recommended order. (Do you think they split them up into separate bits so they can release just the changes to each bit in the future? I would think this also allows them to release changes to one bit at a time, which could allow them more flexiblity in their releases, because they can release fixes or updates to one instead of having to wait until they have enough to make a full release. I don’t work for Microsoft, so I don’t know for sure, that that’s my theory.)</p>
<p>On the original information page for the SDK, it said I should read about <a href="http://msdn.microsoft.com/en-us/library/gg508668.aspx"><u>Known Issues in Windows Azure</u></a> before installing. Like most developers, I chose to read that AFTER installing everything instead of before. (Come on, admit it, you do that too.)</p>
<p>That’s a very nice web page, with documentation of problems found in each version of the SDK/Tools, such as the problem with the IIS logs in 1.3 and 1.4, and the problem with the Dev Fabric starting up in 1.5. And yes, <a href="http://msdn.microsoft.com/en-us/library/hh552717.aspx">there’s one entry for 1.6</a>. Turns out there’s a problem with one of the dll’s getting installed correctly in the GAC. The instructions say to do this:</p>
<ul>
<li>Open the Control Panel. </li>
<li>Right-click Windows Azure Emulators – November 2011. </li>
<li>Click Change. </li>
<li>Follow the steps in the wizard to reinstall the compute emulator. </li>
</ul>
<p>Well, this didn’t work for me. It asked for the location of an msi under my profile that I didn’t have. This might be because I didn’t use the Web Installer, I don’t know. But I re-ran the msi for the Windows Azure Emulator and did a Repair, and then ran the gacutil command listed in the article, and the dll is there.</p>
<p>I didn’t run the gacutil command beforehand, so I don’t know if the dll was there before and this upgraded it, or if it added the dll, or if it was there before and it didn’t upgrade it and I have a false sense of security, but I’m going with it until I have a problem. </p>
<p>It took me so long to get everything installed, I almost forgot what the point was. In case you’ve forgotten, the point was to see if having spaces in your profile still prevented the compute emulator from starting up. So I started up Visual Studio and tried running my WCF service in the development fabric on the account with spaces in it. And it worked. So the answer is yes, they fixed it.</p>
<p>Also, they corrected the spelling of “remaping” to “remapping” – this shows up in the output window in Visual Studio when you run your Azure application and it remaps ports. Sure, this doesn’t keep anything from working, but it’s nice to see they fixed that too.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robindotnet.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robindotnet.wordpress.com/585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robindotnet.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robindotnet.wordpress.com/585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robindotnet.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robindotnet.wordpress.com/585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robindotnet.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robindotnet.wordpress.com/585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robindotnet.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robindotnet.wordpress.com/585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robindotnet.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robindotnet.wordpress.com/585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robindotnet.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robindotnet.wordpress.com/585/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=585&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://robindotnet.wordpress.com/2011/11/27/windows-azure-compute-emulator-wont-start-and-sdk-tools-1-6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef78d5fecbe0b6b95d9b4da06e3c16b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robindotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>San Francisco Bay Area Azure meetup 11-14-2011</title>
		<link>http://robindotnet.wordpress.com/2011/11/14/san-francisco-bay-area-azure-meetup-11-14-2011/</link>
		<comments>http://robindotnet.wordpress.com/2011/11/14/san-francisco-bay-area-azure-meetup-11-14-2011/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 18:13:52 +0000</pubDate>
		<dc:creator>robindotnet</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[Azure Meetup SanFrancisco]]></category>

		<guid isPermaLink="false">https://robindotnet.wordpress.com/2011/11/14/san-francisco-bay-area-azure-meetup-11-14-2011/</guid>
		<description><![CDATA[I’ll be speaking at the SF Bay Area Azure meetup on November 14th. The meetup is at 6:30 p.m. at the San Francisco Microsoft offices close to the Powell St BART station. I’m giving my Azure for Developers talk, which focuses on code, but I’ll also share tips and tricks I learned while migrating my [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=582&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I’ll be speaking at the <a href="http://bayazure.org">SF Bay Area Azure meetup</a> on November 14th. The meetup is at 6:30 p.m. at the San Francisco Microsoft offices close to the Powell St BART station. I’m giving my Azure for Developers talk, which focuses on code, but I’ll also share tips and tricks I learned while migrating my company’s infrastructure to Windows Azure.</p>
<p>In this talk, I’ll show you how to migrate your local SQLServer database to SQL Azure. Then I’ll write a WCF service that accesses a SQL Azure database. The WCF service runs in a web role in Windows Azure, and I’ll show how to set up diagnostics for it, and how to call it from a desktop client.</p>
<p>Then I’ll change the WCF service to include the ability to write an entry to a queue. I’ll add a worker role and show how to retrieve the entry from the queue and process it – I’ll write it to blob storage. </p>
<p>Then I’ll change the service to run against Windows Azure Table Storage instead of SQL Azure so you can see what that looks like. </p>
<p>We end up with a working desktop application that calls our WCF service in Azure, processes queue entries in a worker role, and runs against either SQLAzure or Windows Azure Table Storage. </p>
<p>This should give you a good idea how to leverage your current C# or VB .NET skills into the Azure world. Hope to see you there!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robindotnet.wordpress.com/582/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robindotnet.wordpress.com/582/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robindotnet.wordpress.com/582/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robindotnet.wordpress.com/582/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robindotnet.wordpress.com/582/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robindotnet.wordpress.com/582/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robindotnet.wordpress.com/582/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robindotnet.wordpress.com/582/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robindotnet.wordpress.com/582/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robindotnet.wordpress.com/582/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robindotnet.wordpress.com/582/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robindotnet.wordpress.com/582/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robindotnet.wordpress.com/582/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robindotnet.wordpress.com/582/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=582&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://robindotnet.wordpress.com/2011/11/14/san-francisco-bay-area-azure-meetup-11-14-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef78d5fecbe0b6b95d9b4da06e3c16b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robindotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>Azure Talks at Desert Code Camp 11-5-2011</title>
		<link>http://robindotnet.wordpress.com/2011/11/03/azure-talks-at-desert-code-camp-11-5-2011/</link>
		<comments>http://robindotnet.wordpress.com/2011/11/03/azure-talks-at-desert-code-camp-11-5-2011/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 04:00:48 +0000</pubDate>
		<dc:creator>robindotnet</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[Azure CodeCamp]]></category>

		<guid isPermaLink="false">https://robindotnet.wordpress.com/2011/11/03/azure-talks-at-desert-code-camp-11-5-2011/</guid>
		<description><![CDATA[Desert Code Camp is this upcoming weekend in Chandler, Arizona. If you live anywhere in the area, you don’t want to miss out on this great event. It’s an opportunity to hear about all kinds of technologies, and it’s free! And if you have any interest in Microsoft Azure, there are several sessions for you. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=580&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://nov2011.desertcodecamp.com/">Desert Code Camp</a> is this upcoming weekend in Chandler, Arizona. If you live anywhere in the area, you don’t want to miss out on this great event. It’s an opportunity to hear about all kinds of technologies, and it’s free! And if you have any interest in Microsoft Azure, there are several sessions for you. </p>
<ul>
<li>At 9:00 they have <a href="http://nov2011.desertcodecamp.com/session/404">Developing Cloud Applications with Windows Azure Platform</a>. </li>
<li>At 10:15, I’ll be giving <a href="http://nov2011.desertcodecamp.com/session/405">part 1 of my Azure for Developers talk</a>. </li>
<li>At 11:30, I’ll be giving <a href="http://nov2011.desertcodecamp.com/session/406">part 2 of my Azure for Developers talk</a>. </li>
<li>After lunch, at 1:00, Rick Garibay is giving <a href="http://nov2011.desertcodecamp.com/session/430">a Lap Around Azure Service Bus Brokered Messaging</a>. </li>
</ul>
<p>You should check out <a href="http://nov2011.desertcodecamp.com/">the whole schedule</a> &#8212; they have sessions on everything from MongoDB to Windows 8, Objective C to Linux Server Management – something for everyone. Hope to see you there!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robindotnet.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robindotnet.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robindotnet.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robindotnet.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robindotnet.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robindotnet.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robindotnet.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robindotnet.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robindotnet.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robindotnet.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robindotnet.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robindotnet.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robindotnet.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robindotnet.wordpress.com/580/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=580&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://robindotnet.wordpress.com/2011/11/03/azure-talks-at-desert-code-camp-11-5-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef78d5fecbe0b6b95d9b4da06e3c16b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robindotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>Windows Azure Camp Oct 28-29 2011</title>
		<link>http://robindotnet.wordpress.com/2011/10/23/windows-azure-camp-oct-28-29-2011/</link>
		<comments>http://robindotnet.wordpress.com/2011/10/23/windows-azure-camp-oct-28-29-2011/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 06:16:01 +0000</pubDate>
		<dc:creator>robindotnet</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[Azure CodeCamp]]></category>

		<guid isPermaLink="false">https://robindotnet.wordpress.com/2011/10/23/windows-azure-camp-oct-28-29-2011/</guid>
		<description><![CDATA[There’s a great opportunity to get started learning about Windows Azure coming up this week. There is an Azure Developer Camp this Friday and Saturday (10/28-10/29) at the Microsoft offices in Mountain View, which is over in Silicon Valley. This is an event for developers, by developers. You get to learn from experts and then [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=577&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There’s a great opportunity to get started learning about Windows Azure coming up this week. There is an Azure Developer Camp this Friday and Saturday (10/28-10/29) at the Microsoft offices in Mountain View, which is over in Silicon Valley. This is an event for developers, by developers. You get to learn from experts and then get hands-on time to apply what you’ve learned. Here’s the agenda for day 1:</p>
<ul>
<li>Getting Started with Windows Azure </li>
<li>Using Windows Azure Storage </li>
<li>Understanding SQL Azure </li>
<li>Securing, Connecting, and Scaling Windows Azure solutions </li>
<li>Windows Azure Application Scenarios </li>
<li>Launching your Windows Azure App </li>
</ul>
<p>Day 2 is all development. They will have step-by-step labs you can go through that will get you started right away. You’ll also have the option to build an application using Windows Azure, and then show it off to the other attendees for the chance to win prizes. And Windows Azure experts will be on hand to help. </p>
<p>So if you want to get started, or just check out what it’s all about, register <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032495129&amp;Culture=en-US"><u>here</u></a> and come check it out. <a href="http://twitter.com/mknz">Neil MacKenzie (Azure MVP)</a> will be there to answer questions and help, and so will I. Hope to see you there!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robindotnet.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robindotnet.wordpress.com/577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robindotnet.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robindotnet.wordpress.com/577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robindotnet.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robindotnet.wordpress.com/577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robindotnet.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robindotnet.wordpress.com/577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robindotnet.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robindotnet.wordpress.com/577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robindotnet.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robindotnet.wordpress.com/577/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robindotnet.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robindotnet.wordpress.com/577/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=577&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://robindotnet.wordpress.com/2011/10/23/windows-azure-camp-oct-28-29-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef78d5fecbe0b6b95d9b4da06e3c16b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robindotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>Managing Staging Deployments in Windows Azure</title>
		<link>http://robindotnet.wordpress.com/2011/10/23/managing-staging-deployments-in-windows-azure/</link>
		<comments>http://robindotnet.wordpress.com/2011/10/23/managing-staging-deployments-in-windows-azure/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 05:26:36 +0000</pubDate>
		<dc:creator>robindotnet</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[Azure Staging]]></category>

		<guid isPermaLink="false">https://robindotnet.wordpress.com/2011/10/23/managing-staging-deployments-in-windows-azure/</guid>
		<description><![CDATA[When I migrated GoldMail’s infrastructure to Windows Azure, one of the things I puzzled over quite a bit was how to have a staging environment with our Windows Azure services and applications. We tried using the staging instances of the Azure services, but the URL changes every time you publish one of these, and with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=570&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When I migrated GoldMail’s infrastructure to Windows Azure, one of the things I puzzled over quite a bit was how to have a staging environment with our Windows Azure services and applications. We tried using the staging instances of the Azure services, but the URL changes every time you publish one of these, and with the interdependencies between the services, we had to use DNS entries to keep from having to change the configurations in all of the related services. It can take a while for the DNS entries to filter through, so this did impact our release process.</p>
<p>I ended up defining staging services, and deploying to the production instance of them. When we’re ready to put something in production, we publish to what we call “the staging instance of our production services” and do a VIP swap. Then we test what we’ve put in production, and when we’re satisfied, we delete the old version of the services. I don’t think we’ve had ever to revert to the old verison, but if we do, it’s worth having it there instead of waiting 15-20 minutes for a new deployment to spin up.</p>
<p>Drawing on my experience, I’ve written an article on how to handle staging deployments in Windows Azure. This talks about handling configurations, both the way we chose to do it and Microsoft’s new feature in the Azure Tools 1.4. I also show you how to handle different web.config files – we have one service that we publish http and https separately, so we ended up with 4 web.config files, and I show you how to handle that with pre-build command. I also show you how you can set up your services for both staging and production. You can check out the article on the Dev Pro Connections website <a href="http://www.devproconnections.com/article/cloud-computing2/windows-azure-staging-server-140381"><u>here</u></a>. It’s supposed to be published in the October issue, too, so you can check it out there, too. I hope it’s helpful to you.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robindotnet.wordpress.com/570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robindotnet.wordpress.com/570/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robindotnet.wordpress.com/570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robindotnet.wordpress.com/570/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robindotnet.wordpress.com/570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robindotnet.wordpress.com/570/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robindotnet.wordpress.com/570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robindotnet.wordpress.com/570/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robindotnet.wordpress.com/570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robindotnet.wordpress.com/570/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robindotnet.wordpress.com/570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robindotnet.wordpress.com/570/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robindotnet.wordpress.com/570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robindotnet.wordpress.com/570/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=570&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://robindotnet.wordpress.com/2011/10/23/managing-staging-deployments-in-windows-azure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef78d5fecbe0b6b95d9b4da06e3c16b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robindotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>Code from the October 2011 Silicon Valley Code Camp Talks</title>
		<link>http://robindotnet.wordpress.com/2011/10/10/code-from-the-october-2011-silicon-valley-code-camp-talks/</link>
		<comments>http://robindotnet.wordpress.com/2011/10/10/code-from-the-october-2011-silicon-valley-code-camp-talks/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 22:59:25 +0000</pubDate>
		<dc:creator>robindotnet</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[Azure Samples]]></category>

		<guid isPermaLink="false">https://robindotnet.wordpress.com/2011/10/10/code-from-the-october-2011-silicon-valley-code-camp-talks/</guid>
		<description><![CDATA[As promised, I am posting the code from my talk at the Silicon Valley Code Camp on Saturday, October 8th. For those of you who attended both sessions, I added a boolean to the WCF service to let you flip back and forth between SQL Azure and Windows Azure Table Storage without changing the code. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=569&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As promised, I am posting the code from my talk at the Silicon Valley Code Camp on Saturday, October 8th. For those of you who attended both sessions, I added a boolean to the WCF service to let you flip back and forth between SQL Azure and Windows Azure Table Storage without changing the code. I have also included a copy of the SQL Azure database that you can run locally or migrate to Azure. You can download the goods by clicking <a href="http://goldmailrobin.blob.core.windows.net/codecamp/SVCC_2011.zip"><u>here</u></a>.</p>
<p>If you have any questions, please feel free to post them here.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robindotnet.wordpress.com/569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robindotnet.wordpress.com/569/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robindotnet.wordpress.com/569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robindotnet.wordpress.com/569/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robindotnet.wordpress.com/569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robindotnet.wordpress.com/569/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robindotnet.wordpress.com/569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robindotnet.wordpress.com/569/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robindotnet.wordpress.com/569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robindotnet.wordpress.com/569/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robindotnet.wordpress.com/569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robindotnet.wordpress.com/569/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robindotnet.wordpress.com/569/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robindotnet.wordpress.com/569/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=569&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://robindotnet.wordpress.com/2011/10/10/code-from-the-october-2011-silicon-valley-code-camp-talks/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef78d5fecbe0b6b95d9b4da06e3c16b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robindotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>Speaking at Silicon Valley Code Camp&#8211;Oct 8</title>
		<link>http://robindotnet.wordpress.com/2011/10/07/speaking-at-silicon-valley-code-campoct-7/</link>
		<comments>http://robindotnet.wordpress.com/2011/10/07/speaking-at-silicon-valley-code-campoct-7/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 22:31:21 +0000</pubDate>
		<dc:creator>robindotnet</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[Azure Samples]]></category>

		<guid isPermaLink="false">https://robindotnet.wordpress.com/2011/10/07/speaking-at-silicon-valley-code-campoct-7/</guid>
		<description><![CDATA[This weekend I will be speaking at the Silicon Valley Code Camp in, well, Silicon Valley. To be more specific, it’s at Foothill College in Los Altos Hills, California, United States of America, Earth. Milky Way Galaxy. (Ok, enough of that.) My talks (parts 1 and 2) are at 3:30 and 5:00 on Saturday, October [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=567&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This weekend I will be speaking at the <a href="http://www.siliconvalley-codecamp.com/">Silicon Valley Code Camp</a> in, well, Silicon Valley. To be more specific, it’s at Foothill College in Los Altos Hills, California, United States of America, Earth. Milky Way Galaxy. (Ok, enough of that.) My talks (parts 1 and 2) are at 3:30 and 5:00 on Saturday, October 8th. </p>
<p>I think this is the largest code camp in the US, with over 200 sessions, and over 3,000 people registered. They have sessions on pretty much everything from .NET and Azure to Java, HTML5, Google developer tools and platforms,&#160; mobile development, and even the new Metro UI programming from Microsoft coming with Windows 8 that was revealed at the recent <a href="http://www.buildwindows.com/">build</a> conference.</p>
<p>My talk is called Azure for Developers. I’m going to briefly cover the basic principles of Windows Azure, but the main purpose of the talk is to show you how to program something that will run in Windows Azure and talk about how I used the different features when I migrated my company’s entire infrastructure to Azure last year. </p>
<p>I’ll show how to migrate an existing SQLServer database to SQL Azure, then write a WCF service to access it (including the SQL Azure retry code), and show how to access the service from a desktop client. I’ll show how you can put requests on an Azure queue and then read from the queue with a worker role and write information to blob storage. I’ll also show you how to set up diagnostics so you can do diagnostics tracing, performance monitoring, etc.</p>
<p>This covers pretty much all the major stuff in Windows Azure except writing to Azure table storage. I found out today that the sessions are 75 minutes instead of 60, so I’m going to try to add a section to the presentation to show how to run the WCF service against Windows Azure table storage instead of using SQL Azure. </p>
<p>You should be able to take what you see and create your own Windows Azure applications. The integration of the development environment with Azure is a huge benefit, and if you’re already a .NET programmer, the leap to Azure is totally manageable, as you’ll see with all the familiar-looking code.</p>
<p>If you’re in the Bay Area this weekend, it would be great to see you. If you have any Azure questions, please bring them with you! </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robindotnet.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robindotnet.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robindotnet.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robindotnet.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robindotnet.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robindotnet.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robindotnet.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robindotnet.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robindotnet.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robindotnet.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robindotnet.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robindotnet.wordpress.com/567/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robindotnet.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robindotnet.wordpress.com/567/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=567&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://robindotnet.wordpress.com/2011/10/07/speaking-at-silicon-valley-code-campoct-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef78d5fecbe0b6b95d9b4da06e3c16b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robindotnet</media:title>
		</media:content>
	</item>
		<item>
		<title>Azure Development Cookbook preview</title>
		<link>http://robindotnet.wordpress.com/2011/09/20/azure-development-cookbook-preview/</link>
		<comments>http://robindotnet.wordpress.com/2011/09/20/azure-development-cookbook-preview/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 06:22:17 +0000</pubDate>
		<dc:creator>robindotnet</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft Technology]]></category>

		<guid isPermaLink="false">https://robindotnet.wordpress.com/2011/09/20/azure-development-cookbook-preview/</guid>
		<description><![CDATA[My friend Neil MacKenzie, a Windows Azure MVP, has just released a new book called The Microsoft Windows Azure Development Cookbook. Neil is one of the guys I go to when I have a question about Windows Azure. I’m always impressed with the breadth and depth of his knowledge, so I’m really looking forward to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=566&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My friend Neil MacKenzie, a Windows Azure MVP, has just released a new book called The Microsoft Windows Azure Development Cookbook. </p>
<p><img src="http://robindotnet.files.wordpress.com/2011/09/neils_book_smaller.jpg?w=450" /></p>
<p>Neil is one of the guys I go to when I have a question about Windows Azure. I’m always impressed with the breadth and depth of his knowledge, so I’m really looking forward to checking out his book. It looks like it has a lot of code samples that can be used right out of the book for common scenarios.</p>
<p>I’m going to be downloading and checking out the book, and I’ll blog about what I like and/or don’t like about it. If you’ve had a chance to check it out, please share your opinions in the comments and we’ll compare notes. To check out the book, click <a href="http://www.packtpub.com/microsoft-windows-azure-development-cookbook/book"><u>here</u></a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robindotnet.wordpress.com/566/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robindotnet.wordpress.com/566/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robindotnet.wordpress.com/566/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robindotnet.wordpress.com/566/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robindotnet.wordpress.com/566/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robindotnet.wordpress.com/566/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robindotnet.wordpress.com/566/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robindotnet.wordpress.com/566/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robindotnet.wordpress.com/566/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robindotnet.wordpress.com/566/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robindotnet.wordpress.com/566/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robindotnet.wordpress.com/566/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robindotnet.wordpress.com/566/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robindotnet.wordpress.com/566/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=566&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://robindotnet.wordpress.com/2011/09/20/azure-development-cookbook-preview/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef78d5fecbe0b6b95d9b4da06e3c16b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robindotnet</media:title>
		</media:content>

		<media:content url="http://robindotnet.files.wordpress.com/2011/09/neils_book_smaller.jpg" medium="image" />
	</item>
		<item>
		<title>How to install IIS Application Request Routing in Windows Azure</title>
		<link>http://robindotnet.wordpress.com/2011/07/21/how-to-install-iis-application-request-routing-in-windows-azure/</link>
		<comments>http://robindotnet.wordpress.com/2011/07/21/how-to-install-iis-application-request-routing-in-windows-azure/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 23:33:46 +0000</pubDate>
		<dc:creator>robindotnet</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft Technology]]></category>
		<category><![CDATA[Azure ARR]]></category>

		<guid isPermaLink="false">https://robindotnet.wordpress.com/?p=559</guid>
		<description><![CDATA[A few months ago, I needed to use IIS Application Request Routing for my company’s main website, which runs in Windows Azure. We wanted to have some of the pages redirect to a different web application, but still show the&#160; original domain name. We wanted to whitelist most of our current website, and let everything [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=559&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A few months ago, I needed to use IIS <a href="http://www.iis.net/download/ApplicationRequestRouting" target="_blank">Application Request Routing</a> for my company’s main website, which runs in <a href="http://www.microsoft.com/windowsazure/" target="_blank">Windows Azure</a>. We wanted to have some of the pages redirect to a different web application, but still show the&#160; original domain name. We wanted to whitelist most of our current website, and let everything else redirect to the other site.</p>
<p>We could RDP into the instances of our web role and install ARR and put the configuration information for the reverse proxy into the web.config, and it worked great. The problem is whenever Microsoft installed a patch, or we published a new version, our changes would get wiped out. So I needed to figure out how to have this be installed and configured when the Azure instance starts up. I figured I could do this with a startup task in my web role, but what would I actually put in the script to do that?</p>
<p>I remembered something useful I saw at the MVP Summit (that wasn’t covered by NDA) – a cool website by <a href="http://blog.smarx.com/" target="_blank">Steve Marx</a> (who’s on the <a href="http://blogs.msdn.com/b/windowsazure/" target="_blank">Windows Azure team</a> at <a href="http://www.microsoft.com/en-us/default.aspx" target="_blank">Microsoft</a>) showing <a href="http://things.smarx.com/" target="_blank">cool things you can do in Azure</a>, and one of them was installing ARR. He provides the basic commands needed. I’ll show you how to set up the whole process from soup to nuts.</p>
<p>Steve gives information both for running the web installation and for installing from an msi. I chose to use the msi, because I know I have tested that specific version, and I know the final version of my install scripts work with it. I was concerned about the links for the web installation changing or the version being updated and impacting my site, and I tend to be ultra-careful when it comes to things that could bring down my company’s website. I haven’t been called even once in the middle of the night since we moved to Azure, and I have found that I like sleeping through the night.</p>
<p>A prerequisite for the ARR software is the Web Farm Framework. So you need to download both of these msi’s. The only place I could find these downloads available was <a href="http://blogs.iis.net/wonyoo/archive/2011/04/20/how-to-install-application-request-routing-arr-2-5-without-web-platform-installer-webpi.aspx" target="_blank">this blog</a>. You’ll need the 64-bit versions, of course. </p>
<p>That article states that the URLRewrite module is also required, but it’s <a href="http://msdn.microsoft.com/en-us/library/dd573358.aspx" target="_blank">already included in Windows Azure</a>, so you don’t have to worry about it. </p>
<p>So now you have your msi’s; when I downloaded them, they were called requestRouter_amd64_en-US.msi and webfarm_amd64_en-US.msi. Add the two MSI’s to your web role project. Right-click on the project and select “Add Existing Item”, and browse to them and select them. In the properties for each one, set the build action to ‘content’ and set ‘copy to output directory’ to ‘copy always’. If you don’t do this, they will not be included in your deployment, which makes it difficult for Azure to run them.</p>
<p>Now you need to write a startup task. I very cleverly called mine “InstallARR.cmd”. To create this, open Notepad or some plain text editor. Here is the first version of my startup task.</p>
<pre class="code">d /d &quot;%~dp0&quot;
msiexec /i webfarm_amd64_en-US.msi /qn /log C:\installWebfarmLog.txt
msiexec /i requestRouter_amd64_en-US.msi /qn /log C:\installARRLog.txt

%windir%\system32\inetsrv\appcmd.exe set config
    -section:system.webServer/proxy /enabled:&quot;True&quot;
    /commit:apphost &gt;&gt; C:\setProxyLog.txt

%windir%\system32\inetsrv\appcmd.exe set config
    -section:applicationPools -applicationPoolDefaults.processModel.idleTimeout:00:00:00
    &gt;&gt; C:\setAppPool.txt

exit /b 0</pre>
<p>This didn’t work every time. The problem is that the msiexec calls run asynchronously, and they only take a couple of seconds to run. So about half the time, the second one would fail because the first one hadn’t finished yet. Since they are running as silent installs (/qn), there wasn’t much I could do about this. </p>
<p>I realized I need to put a pause in after each of the installs to make sure they are done before it continues. There’s no Thread.Sleep command. So the question I have to ask you here is, “Have you ever pinged one of your Azure instances?” I have, and it doesn’t respond, but it takes 3-5 seconds to tell you that. So what could I put in the script that would stop it for 3-5 seconds before actually continuing? Yes, I did. Here’s my final script, but with my service names changed to protect the innocent.</p>
<pre class="code">d /d &quot;%~dp0&quot;
msiexec /i webfarm_amd64_en-US.msi /qn /log C:\installWebfarmLog.txt
ping innocent.goldmail.com
msiexec /i requestRouter_amd64_en-US.msi /qn /log C:\installARRLog.txt
ping notprovenguilty.goldmail.com

%windir%\system32\inetsrv\appcmd.exe set config
    -section:system.webServer/proxy /enabled:&quot;True&quot;
    /commit:apphost &gt;&gt; C:\setProxyLog.txt

%windir%\system32\inetsrv\appcmd.exe set config
    -section:applicationPools -applicationPoolDefaults.processModel.idleTimeout:00:00:00
    &gt;&gt; C:\setAppPool.txt

exit /b 0</pre>
<p>This worked perfectly. </p>
<p>Save this script as InstallARR.cmd. Add it to your project (File/AddExisting), set the build action to ‘content’ and set ‘copy to output directory’ to copy always. If you don’t do this, it won’t be included in your deployment, and Windows Azure won’t be able to run it. (Are you having a feeling of déjà vu?)</p>
<p>So how do you get Windows Azure to run it? You need to add it to your Service Definition file (the .csdef file in your cloud project). Just edit that file and add this right under the opening element for the &lt;WebRole&gt;. </p>
<pre class="code"><span style="color:blue;">&lt;</span><span style="color:#a31515;">Startup</span><span style="color:blue;">&gt;
  &lt;</span><span style="color:#a31515;">Task </span><span style="color:red;">commandLine</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">InstallARR.cmd</span>&quot; <span style="color:red;">executionContext</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">elevated</span>&quot; <span style="color:red;">taskType</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">background</span>&quot; <span style="color:blue;">/&gt;
&lt;/</span><span style="color:#a31515;">Startup</span><span style="color:blue;">&gt;
</span></pre>
<p>Setting the executionContext to “elevated” means the task will run under the NT AUTHORITY\SYSTEM account, so you will have whatever permissions you need.</p>
<p><a href="http://blog.smarx.com/posts/windows-azure-startup-tasks-tips-tricks-and-gotchas" target="_blank">As recommended by Steve Marx</a>, I’m running this as a background task. That way if there is a problem and it loops infinitely for some reason, I can still RDP into the machine.</p>
<p>I think you also need your Azure instance to be running Windows Server 2008 R2, so change the osFamily at the end of the &lt;Service Configuration&gt; element in the Service Configuration (cscfg) file, or add it if it’s missing.</p>
<pre class="code"><span style="color:red;">osFamily</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">2</span>&quot; <span style="color:red;">osVersion</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">*</span>&quot;</pre>
<p>To configure the routing, add the rewrite rules to the &lt;webserver&gt; section of your web.config. Here’s an example. If it finds any matches in the folder or files specified in the first rule, it doesn’t redirect – it shows the page in the original website. If it doesn’t find any matches in the first rule, it checks the second rule (which in this case, handles everything not listed specifically in the first rule) and redirects to the other website.</p>
<pre class="code"><span style="color:blue;">&lt;</span><span style="color:#a31515;">rewrite</span><span style="color:blue;">&gt;
  &lt;</span><span style="color:#a31515;">rules</span><span style="color:blue;">&gt;
    &lt;</span><span style="color:#a31515;">rule </span><span style="color:red;">name</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">Reverse Proxy to Original Site</span>&quot; <span style="color:red;">stopProcessing</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">true</span>&quot;<span style="color:blue;">&gt;
      &lt;</span><span style="color:#a31515;">match </span><span style="color:red;">url</span><span style="color:blue;">=
      </span>&quot;<span style="color:blue;">^(folder1|folder2/subfolder|awebpage.html|anasppage.aspx)(.*)</span>&quot; <span style="color:blue;">/&gt;
    &lt;/</span><span style="color:#a31515;">rule</span><span style="color:blue;">&gt;
    &lt;</span><span style="color:#a31515;">rule </span><span style="color:red;">name</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">Reverse Proxy to Other Site</span>&quot; <span style="color:red;">stopProcessing</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">true</span>&quot;<span style="color:blue;">&gt;
      &lt;</span><span style="color:#a31515;">match </span><span style="color:red;">url</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">(.*)</span>&quot; <span style="color:blue;">/&gt;
      &lt;</span><span style="color:#a31515;">action </span><span style="color:red;">type</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">Rewrite</span>&quot; <span style="color:red;">url</span><span style="color:blue;">=</span>&quot;<span style="color:blue;">http://www.otherwebsite.com/{R:1}</span>&quot; <span style="color:blue;">/&gt;
    &lt;/</span><span style="color:#a31515;">rule</span><span style="color:blue;">&gt;
  &lt;/</span><span style="color:#a31515;">rules</span><span style="color:blue;">&gt;
&lt;/</span><span style="color:#a31515;">rewrite</span><span style="color:blue;">&gt;
</span></pre>
<p>Now when you publish the web application to Windows Azure, it will include the MSI’s and the startup task, run the startup task as it’s starting up the role, install and enable the IIS Application Request Routing, and use the configuration information in the web.config. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robindotnet.wordpress.com/559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robindotnet.wordpress.com/559/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robindotnet.wordpress.com/559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robindotnet.wordpress.com/559/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robindotnet.wordpress.com/559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robindotnet.wordpress.com/559/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robindotnet.wordpress.com/559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robindotnet.wordpress.com/559/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robindotnet.wordpress.com/559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robindotnet.wordpress.com/559/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robindotnet.wordpress.com/559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robindotnet.wordpress.com/559/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robindotnet.wordpress.com/559/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robindotnet.wordpress.com/559/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robindotnet.wordpress.com&amp;blog=7122208&amp;post=559&amp;subd=robindotnet&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://robindotnet.wordpress.com/2011/07/21/how-to-install-iis-application-request-routing-in-windows-azure/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ef78d5fecbe0b6b95d9b4da06e3c16b6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robindotnet</media:title>
		</media:content>
	</item>
	</channel>
</rss>
