<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Wade Wegner</title>
	
	<link>http://blog.wadewegner.com</link>
	<description>From the whiteboard to the keyboard</description>
	<lastBuildDate>Tue, 01 Dec 2009 03:43:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<geo:lat>39.610431</geo:lat><geo:long>-104.881399</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/WadeWegner" type="application/rss+xml" /><feedburner:emailServiceId>WadeWegner</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FWadeWegner" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FWadeWegner" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FWadeWegner" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/WadeWegner" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FWadeWegner" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FWadeWegner" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FWadeWegner" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FWadeWegner" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Preview of “Lessons Learned: Migrating Applications to the Windows Azure Platform”</title>
		<link>http://feedproxy.google.com/~r/WadeWegner/~3/oqpu-lZjpD8/</link>
		<comments>http://blog.wadewegner.com/index.php/2009/11/07/preview-of-my-migrating-applications-to-the-windows-azure-platform-session-at-pdc/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 01:04:53 +0000</pubDate>
		<dc:creator>Wade</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[PDC]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://blog.wadewegner.com/index.php/2009/11/07/preview-of-my-migrating-applications-to-the-windows-azure-platform-session-at-pdc/</guid>
		<description><![CDATA[ It’s hard to believe that the Professional Developers Conference (PDC) 2009 is less than two weeks away.&#160; It doesn’t seem that long ago that I sat behind the stage at PDC 2008 providing support for the RedPrairie keynote with Bob Muglia and spoke in a breakout session with Jack Greenfield on Multi-Enterprise Business Applications.&#160; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.microsoftpdc.com/"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="right" src="http://blog.wadewegner.com/wp-content/uploads/2009/11/image10.png" width="163" height="56" /></a> It’s hard to believe that the <a href="http://microsoftpdc.com/">Professional Developers Conference (PDC) 2009</a> is less than two weeks away.&#160; It doesn’t seem that long ago that I sat behind the stage at PDC 2008 providing support for the <a href="http://channel9.msdn.com/pdc2008/KYN01/">RedPrairie keynote with Bob Muglia</a> and spoke in a breakout session with <a href="http://channel9.msdn.com/pdc2008/BB59/">Jack Greenfield on Multi-Enterprise Business Applications</a>.&#160; I’ll be back again this year, and I’m giving another talk – this time on <a href="http://microsoftpdc.com/Sessions/SVC22">lessons learned when migrating applications to the Windows Azure platform</a>.</p>
<p>Rather than present this session entirely on my own, I decided to invite some of my customers to come and talk about their own experiences.&#160; I am extremely excited that the following three customers will join me at PDC:</p>
<p><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="CCH" border="0" alt="CCH" align="left" src="http://blog.wadewegner.com/wp-content/uploads/2009/11/CCH.png" width="214" height="56" /><a href="http://www.cch.com/">CCH, a Wolters Kluwer Company</a> &#8211; CCH is a Wolters Kluwer company, based in Riverwoods, Illinois, providing tax and business law information and software solutions. The company has approximately 700 products for the United States market.</p>
<p><a href="http://www.accenture.com/"><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="accenture-logo" border="0" alt="accenture-logo" align="left" src="http://blog.wadewegner.com/wp-content/uploads/2009/11/accenturelogo2.png" width="164" height="56" /></a> <a href="http://www.accenture.com/">Accenture</a> &#8211; Launched originally as the business and technology consulting arm of Arthur Andersen, Accenture is now among the world’s largest consulting organizations. It employs more than 180,000 people in 52 countries.</p>
<p><a href="http://blog.wadewegner.com/wp-content/uploads/2009/11/Dominos1.png">Domino’s Pizza</a> – See how Domino’s Pizza is running Java and Tomcat in Windows Azure to run their eCommerce application.&#160; Windows Azure provides high scalability to handle Super Bowl load, interoperability with different platforms and technologies, and the ability to integrate to on-premises resources. </p>
<p>Our intent with this talk is to make it highly interactive – translation: <strong>ask us questions</strong>!&#160; We have a lot of information to share with you, and while we like to present, we’d much rather engage in a meaningful conversation.&#160; Thus, we plan to quickly provide the following information for each of the solutions migrated:</p>
<ol>
<li>Background on the application (i.e. what does it do? who uses it? what technology stack?). </li>
<li>The previous architecture (before the migration to Windows Azure) and some of the challenges this architecture presented. </li>
<li>The new architecture leveraging the Windows Azure platform. </li>
<li>The migration process: what was easy, what was hard, what worked, and what didn’t. </li>
</ol>
<p>After providing these details, we want to open the session up for Q&amp;A.</p>
<p>We know that we won’t answer all of your questions in the time allotted to us, so we plan to stick around after the presentation so that we can talk to you 1-on-1 and answer your questions.</p>
<p>It’s going to be a great PDC – I hope you’re there!&#160; If so, be sure and come to our presentation on <a href="http://microsoftpdc.com/Sessions/SVC22">Lessons Learned: Migrating Applications to the Windows Azure Platform</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WadeWegner?a=oqpu-lZjpD8:T1oK_kS1A_I:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=oqpu-lZjpD8:T1oK_kS1A_I:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=oqpu-lZjpD8:T1oK_kS1A_I:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=oqpu-lZjpD8:T1oK_kS1A_I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=oqpu-lZjpD8:T1oK_kS1A_I:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=oqpu-lZjpD8:T1oK_kS1A_I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=oqpu-lZjpD8:T1oK_kS1A_I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=oqpu-lZjpD8:T1oK_kS1A_I:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=oqpu-lZjpD8:T1oK_kS1A_I:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WadeWegner/~4/oqpu-lZjpD8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.wadewegner.com/index.php/2009/11/07/preview-of-my-migrating-applications-to-the-windows-azure-platform-session-at-pdc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.wadewegner.com/index.php/2009/11/07/preview-of-my-migrating-applications-to-the-windows-azure-platform-session-at-pdc/</feedburner:origLink></item>
		<item>
		<title>Leveraging WMI in an Azure Web Role</title>
		<link>http://feedproxy.google.com/~r/WadeWegner/~3/cqBBQGV2TLQ/</link>
		<comments>http://blog.wadewegner.com/index.php/2009/11/04/leveraging-wmi-in-an-azure-web-role/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 21:05:26 +0000</pubDate>
		<dc:creator>Wade</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://blog.wadewegner.com/index.php/2009/11/04/leveraging-wmi-in-an-azure-web-role/</guid>
		<description><![CDATA[A few weeks ago I threw out a teaser on Twitter:
 
This got the attention of a few folks, and I promised I’d follow-up on this with some details on how I got this to work.&#160; Of course, I completely forgot to do so, and was only recently reminded (thanks, Roger Jennings).
You can still take [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago I threw out a teaser on Twitter:</p>
<p><a href="http://bit.ly/bFuv6"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Want to read the event logs in Windows Azure?" border="0" alt="Want to read the event logs in Windows Azure?" src="http://blog.wadewegner.com/wp-content/uploads/2009/11/image1.png" width="434" height="71" /></a> </p>
<p>This got the attention of a few folks, and I promised I’d follow-up on this with some details on how I got this to work.&#160; Of course, I completely forgot to do so, and was only recently reminded (thanks, <a href="http://oakleafblog.blogspot.com">Roger Jennings</a>).</p>
<p>You can still take a look at that application here (if nothing else, I find it interesting to look at the specifications of the CTP machines for Windows Azure): <a href="http://wmi.cloudapp.net/">http://wmi.cloudapp.net/</a></p>
<p>In actuality, the solution is really quite straightforward – I used WMI.</p>
<p>What’s WMI?&#160; Well, it stands for <a href="http://msdn.microsoft.com/en-us/library/aa394582(VS.85).aspx">Windows Management Instrumentation</a>.&#160; Here’s quick blurb from MSDN:</p>
<blockquote><p>Windows Management Instrumentation (WMI) is the infrastructure for management data and operations on Windows-based operating systems. You can write WMI scripts or applications to automate administrative tasks on remote computers but WMI also supplies management data to other parts of the operating system and products, for example System Center Operations Manager, formerly Microsoft Operations Manager (MOM), or Windows Remote Management.</p>
</blockquote>
<p>For more information on how to use WMI in .NET, take a look at the <a href="http://msdn.microsoft.com/en-us/library/bb404655.aspx">WMI .NET Overview</a>.&#160; Lots of great information.</p>
<p>Assuming you’ve read the overview, it should be clear that this is really pretty easy.&#160; At the heart of this are the following two lines of code …</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 20px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">ManagementClass mgmt = <span style="color: #0000ff">new</span> ManagementClass(managementClass);
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">ManagementObjectCollection objCol = mgmt.GetInstances();</pre>
</pre>
<p>… where <font face="Courier New">managementClass</font> represent one of the Win32 classes (i.e. <font face="Courier New">Win32_NTLogEventLog</font>).</p>
<p>Now, to make this work, you need to iterate through the collection of management objects.&#160; Something like the following works:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">foreach</span> (var obj <span style="color: #0000ff">in</span> objCol)
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">{
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">foreach</span> (var prop <span style="color: #0000ff">in</span> obj.Properties)
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    {
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        ...
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    }
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">}</pre>
</pre>
<p>Now, I did two additional things to make this easy.</p>
<ol>
<li>I created a dropdown list with all the Win32 classes so that you can easily choose which class to review. </li>
<li>I defined a querystring value that, if it exists, loads a specific Win32 class. </li>
</ol>
<p>There are a lot of Win32 classes, so here’s the array I used – feel free to leverage it yourself:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; height: 200px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">string</span>[] Win32Classes =
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">{
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_1394Controller</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_1394ControllerDevice</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Account</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_AccountSID</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ACE</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ActionCheck</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ActiveRoute</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_AllocatedResource</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ApplicationCommandLine</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ApplicationService</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_AssociatedBattery</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_AssociatedProcessorMemory</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_AutochkSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_BaseBoard</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_BaseService</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Battery</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Binary</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_BindImageAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_BIOS</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_BootConfiguration</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Bus</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_CacheMemory</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_CDROMDrive</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_CheckCheck</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_CIMLogicalDeviceCIMDataFile</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ClassicCOMApplicationClasses</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ClassicCOMClass</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ClassicCOMClassSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ClassicCOMClassSettings</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ClassInfoAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ClientApplicationSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_CodecFile</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_CollectionStatistics</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_COMApplication</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_COMApplicationClasses</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_COMApplicationSettings</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_COMClass</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ComClassAutoEmulator</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ComClassEmulator</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_CommandLineAccess</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ComponentCategory</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ComputerShutdownEvent</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ComputerSystem</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ComputerSystemEvent</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ComputerSystemProcessor</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ComputerSystemProduct</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ComputerSystemWindowsProductActivationSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_COMSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Condition</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ConnectionShare</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ControllerHasHub</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_CreateFolderAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_CurrentProbe</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_CurrentTime</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DCOMApplication</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DCOMApplicationAccessAllowedSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DCOMApplicationLaunchAllowedSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DCOMApplicationSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DefragAnalysis</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DependentService</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Desktop</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DesktopMonitor</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DeviceBus</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DeviceChangeEvent</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DeviceMemoryAddress</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DeviceSettings</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DFSNode</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DFSNodeTarget</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DFSTarget</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Directory</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DirectorySpecification</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DiskDrive</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DiskDrivePhysicalMedia</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DiskDriveToDiskPartition</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DiskPartition</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DiskQuota</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DisplayConfiguration</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DisplayControllerConfiguration</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DMAChannel</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DriverForDevice</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DriverVXD</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_DuplicateFileAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Environment</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_EnvironmentSpecification</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ExtensionInfoAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Fan</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_FileSpecification</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_FloppyController</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_FloppyDrive</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_FontInfoAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Group</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_GroupInDomain</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_GroupUser</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_HeatPipe</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_IDEController</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_IDEControllerDevice</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ImplementedCategory</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_InfraredDevice</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_IniFileSpecification</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_InstalledSoftwareElement</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_IP4PersistedRouteTable</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_IP4RouteTable</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_IP4RouteTableEvent</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_IRQResource</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_JobObjectStatus</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Keyboard</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LaunchCondition</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LoadOrderGroup</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LoadOrderGroupServiceDependencies</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LoadOrderGroupServiceMembers</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LocalTime</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LoggedOnUser</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalDisk</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalDiskRootDirectory</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalDiskToPartition</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalFileAccess</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalFileAuditing</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalFileGroup</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalFileOwner</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalFileSecuritySetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalMemoryConfiguration</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalProgramGroup</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalProgramGroupDirectory</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalProgramGroupItem</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalProgramGroupItemDataFile</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalShareAccess</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalShareAuditing</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogicalShareSecuritySetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogonSession</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LogonSessionMappedDisk</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LUID</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_LUIDandAttributes</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ManagedSystemElementResource</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_MappedLogicalDisk</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_MemoryArray</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_MemoryArrayLocation</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_MemoryDevice</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_MemoryDeviceArray</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_MemoryDeviceLocation</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_MethodParameterClass</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_MIMEInfoAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ModuleLoadTrace</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ModuleTrace</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_MotherboardDevice</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_MountPoint</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_MoveFileAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_MSIResource</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NamedJobObject</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NamedJobObjectActgInfo</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NamedJobObjectLimit</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NamedJobObjectLimitSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NamedJobObjectProcess</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NamedJobObjectSecLimit</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NamedJobObjectSecLimitSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NamedJobObjectStatistics</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NetworkAdapter</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NetworkAdapterConfiguration</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NetworkAdapterSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NetworkClient</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NetworkConnection</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NetworkLoginProfile</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NetworkProtocol</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NTDomain</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NTEventlogFile</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NTLogEvent</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NTLogEventComputer</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NTLogEventLog</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_NTLogEventUser</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ODBCAttribute</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ODBCDataSourceAttribute</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ODBCDataSourceSpecification</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ODBCDriverAttribute</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ODBCDriverSoftwareElement</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ODBCDriverSpecification</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ODBCSourceAttribute</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ODBCTranslatorSpecification</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_OnBoardDevice</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_OperatingSystem</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_OperatingSystemAutochkSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_OperatingSystemQFE</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_OptionalFeature</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_OSRecoveryConfiguration</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PageFile</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PageFileElementSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PageFileSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PageFileUsage</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ParallelPort</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Patch</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PatchFile</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PatchPackage</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PCMCIAController</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Perf</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_ASP_ActiveServerPages</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_ContentFilter_IndexingServiceFilter</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_ContentIndex_IndexingService</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_InetInfo_InternetInformationServicesGlobal</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_ISAPISearch_HttpIndexingService</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_MSDTC_DistributedTransactionCoordinator</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_NTFSDRV_SMTPNTFSStoreDriver</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfDisk_LogicalDisk</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfDisk_PhysicalDisk</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfNet_Browser</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfNet_Redirector</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfNet_Server</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfNet_ServerWorkQueues</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfOS_Cache</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfOS_Memory</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfOS_Objects</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfOS_PagingFile</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfOS_Processor</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfOS_System</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfProc_FullImage_Costly</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfProc_Image_Costly</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfProc_JobObject</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfProc_JobObjectDetails</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfProc_Process</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfProc_ProcessAddressSpace_Costly</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfProc_Thread</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PerfProc_ThreadDetails_Costly</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PSched_PSchedFlow</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_PSched_PSchedPipe</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_RemoteAccess_RASPort</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_RemoteAccess_RASTotal</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_RSVP_ACSRSVPInterfaces</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_RSVP_ACSRSVPService</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_SMTPSVC_SMTPServer</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_Spooler_PrintQueue</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_TapiSrv_Telephony</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_Tcpip_ICMP</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_Tcpip_IP</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_Tcpip_NBTConnection</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_Tcpip_NetworkInterface</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_Tcpip_TCP</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_Tcpip_UDP</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_TermService_TerminalServices</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_TermService_TerminalServicesSession</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfFormattedData_W3SVC_WebService</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_ASP_ActiveServerPages</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_ContentFilter_IndexingServiceFilter</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_ContentIndex_IndexingService</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_InetInfo_InternetInformationServicesGlobal</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_ISAPISearch_HttpIndexingService</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_MSDTC_DistributedTransactionCoordinator</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_NTFSDRV_SMTPNTFSStoreDriver</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfDisk_LogicalDisk</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfDisk_PhysicalDisk</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfNet_Browser</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfNet_Redirector</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfNet_Server</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfNet_ServerWorkQueues</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfOS_Cache</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfOS_Memory</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfOS_Objects</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfOS_PagingFile</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfOS_Processor</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfOS_System</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfProc_FullImage_Costly</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfProc_Image_Costly</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfProc_JobObject</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfProc_JobObjectDetails</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfProc_Process</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfProc_ProcessAddressSpace_Costly</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfProc_Thread</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PerfProc_ThreadDetails_Costly</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PSched_PSchedFlow</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_PSched_PSchedPipe</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_RemoteAccess_RASPort</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_RemoteAccess_RASTotal</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_RSVP_ACSRSVPInterfaces</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_RSVP_ACSRSVPService</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_SMTPSVC_SMTPServer</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_Spooler_PrintQueue</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_TapiSrv_Telephony</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_Tcpip_ICMP</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_Tcpip_IP</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_Tcpip_NBTConnection</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_Tcpip_NetworkInterface</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_Tcpip_TCP</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_Tcpip_UDP</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_TermService_TerminalServices</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_TermService_TerminalServicesSession</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PerfRawData_W3SVC_WebService</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PhysicalMedia</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PhysicalMemory</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PhysicalMemoryArray</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PhysicalMemoryLocation</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PingStatus</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PnPAllocatedResource</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PnPDevice</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PnPEntity</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PnPSignedDriver</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PnPSignedDriverCIMDataFile</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PointingDevice</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PortableBattery</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PortConnector</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PortResource</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_POTSModem</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_POTSModemToSerialPort</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PowerManagementEvent</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Printer</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PrinterConfiguration</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PrinterController</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PrinterDriver</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PrinterDriverDll</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PrinterSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PrinterShare</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PrintJob</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PrivilegesStatus</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Process</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Processor</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ProcessStartTrace</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ProcessStartup</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ProcessStopTrace</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ProcessTrace</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Product</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ProductCheck</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ProductResource</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ProductSoftwareFeatures</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ProgIDSpecification</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ProgramGroup</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ProgramGroupContents</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ProgramGroupOrItem</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Property</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ProtocolBinding</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Proxy</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_PublishComponentAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_QuickFixEngineering</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_QuotaSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Refrigeration</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Registry</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_RegistryAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_RemoveFileAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_RemoveIniAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ReserveCost</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ScheduledJob</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SCSIController</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SCSIControllerDevice</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SecurityDescriptor</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SecurityDescriptorHelper</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SecuritySetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SecuritySettingAccess</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SecuritySettingAuditing</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SecuritySettingGroup</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SecuritySettingOfLogicalFile</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SecuritySettingOfLogicalShare</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SecuritySettingOfObject</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SecuritySettingOwner</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SelfRegModuleAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SerialPort</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SerialPortConfiguration</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SerialPortSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ServerConnection</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ServerFeature</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ServerSession</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Service</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ServiceControl</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ServiceSpecification</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ServiceSpecificationService</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Session</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SessionConnection</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SessionProcess</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SettingCheck</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ShadowBy</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ShadowContext</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ShadowCopy</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ShadowDiffVolumeSupport</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ShadowFor</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ShadowOn</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ShadowProvider</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ShadowStorage</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ShadowVolumeSupport</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Share</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ShareToDirectory</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ShortcutAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ShortcutFile</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ShortcutSAP</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SID</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SIDandAttributes</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SMBIOSMemory</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SoftwareElement</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SoftwareElementAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SoftwareElementCheck</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SoftwareElementCondition</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SoftwareElementResource</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SoftwareFeature</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SoftwareFeatureAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SoftwareFeatureCheck</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SoftwareFeatureParent</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SoftwareFeatureSoftwareElements</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SoundDevice</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_StartupCommand</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SubDirectory</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemAccount</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemBIOS</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemBootConfiguration</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemConfigurationChangeEvent</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemDesktop</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemDevices</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemDriver</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemDriverPnPEntity</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemEnclosure</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemLoadOrderGroups</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemLogicalMemoryConfiguration</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemMemoryResource</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemNetworkConnections</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemOperatingSystem</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemPartitions</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemProcesses</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemProgramGroups</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemResources</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemServices</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemSlot</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemSystemDriver</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemTimeZone</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemTrace</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_SystemUsers</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_TapeDrive</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_TCPIPPrinterPort</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_TemperatureProbe</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Thread</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ThreadStartTrace</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ThreadStopTrace</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_ThreadTrace</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_TimeZone</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_TokenGroups</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_TokenPrivileges</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Trustee</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_TypeLibraryAction</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_UninterruptiblePowerSupply</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_USBController</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_USBControllerDevice</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_USBHub</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_UserAccount</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_UserDesktop</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_UserInDomain</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_UTCTime</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_VideoConfiguration</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_VideoController</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_VideoSettings</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_VoltageProbe</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_Volume</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_VolumeChangeEvent</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_VolumeQuota</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_VolumeQuotaSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_VolumeUserQuota</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_WindowsProductActivation</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_WMIElementSetting</span>&quot;,
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">Win32_WMISetting</span>&quot;
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">};</pre>
</pre>
<p>Other than attaching the results of the WMI query to a generic list and binding to a DataList, that’s pretty much it.&#160; The end result is a web page that you can use to view system details via WMI:</p>
<p><a href="http://blog.wadewegner.com/wp-content/uploads/2009/11/image2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.wadewegner.com/wp-content/uploads/2009/11/image_thumb1.png" width="450" height="263" /></a> </p>
<p>As I’ve said, this is a very simple demonstration of WMI in Windows Azure.&#160; What would be more interesting is to see how someone might combine the ability to spin up asynchronous processes in Windows Azure (as described in my post <a href="http://blog.wadewegner.com/index.php/2009/11/04/how-to-leverage-the-roleentrypoint-in-an-azure-web-role/">How to Leverage the RoleEntryPoint in an Azure Web Role</a>) that query data via WMI and centralize it in Azure storage (i.e. combining and centralizing all event logs) – that would be very cool!</p>
<p>In case anyone wants to take a look, I’ve <a href="http://cid-716f83c58a3bf96f.skydrive.live.com/self.aspx/Blog/AzureWMI/WMICloud.zip">uploaded the code to SkyDrive</a>.</p>
<p>Enjoy!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WadeWegner?a=cqBBQGV2TLQ:6DyFLoLxoXg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=cqBBQGV2TLQ:6DyFLoLxoXg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=cqBBQGV2TLQ:6DyFLoLxoXg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=cqBBQGV2TLQ:6DyFLoLxoXg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=cqBBQGV2TLQ:6DyFLoLxoXg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=cqBBQGV2TLQ:6DyFLoLxoXg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=cqBBQGV2TLQ:6DyFLoLxoXg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=cqBBQGV2TLQ:6DyFLoLxoXg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=cqBBQGV2TLQ:6DyFLoLxoXg:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WadeWegner/~4/cqBBQGV2TLQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.wadewegner.com/index.php/2009/11/04/leveraging-wmi-in-an-azure-web-role/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.wadewegner.com/index.php/2009/11/04/leveraging-wmi-in-an-azure-web-role/</feedburner:origLink></item>
		<item>
		<title>How to Leverage the RoleEntryPoint in an Azure Web Role</title>
		<link>http://feedproxy.google.com/~r/WadeWegner/~3/0XaeXeK4BZQ/</link>
		<comments>http://blog.wadewegner.com/index.php/2009/11/04/how-to-leverage-the-roleentrypoint-in-an-azure-web-role/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 14:24:12 +0000</pubDate>
		<dc:creator>Wade</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://blog.wadewegner.com/index.php/2009/11/04/how-to-leverage-the-roleentrypoint-in-an-azure-web-role/</guid>
		<description><![CDATA[ One of the advantages to the approach our teams building the Windows Azure Platform have taken is flexibility.&#160; Recently, when I spoke at the Day of Cloud presentation, I recall Don Schwarz from Google making these two points (you can see video of his talk here):

You can’t spin up your own threads in Google [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.windowsazure.com/"><img style="border-right-width: 0px; margin: 0px 0px 5px 5px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Windows Azure" border="0" alt="Windows Azure" align="right" src="http://blog.wadewegner.com/wp-content/uploads/2009/11/WindowsAzure.png" width="242" height="47" /></a> One of the advantages to the approach our teams building the Windows Azure Platform have taken is flexibility.&#160; Recently, when I spoke at the <a href="http://blog.wadewegner.com/index.php/2009/10/16/presenting-on-the-windows-azure-platform-at-the-day-of-cloud/">Day of Cloud presentation</a>, I recall Don Schwarz from Google making these two points (you can see video of his talk <a href="http://www.blip.tv/file/2786812">here</a>):</p>
<ul>
<li>You can’t spin up your own threads in Google App Engine. </li>
<li>You build your applications according to how Google thinks your apps should be built (the argument being that Google knows how to run highly available services at scale, which I think is a fair statement). </li>
</ul>
<p>Now to be fair, there are good reasons for this – the Google App Engine has a number of very good use cases (Don Schwarz demonstrated one of them when showing the audience a multiplayer game running on Google App Engine).</p>
<blockquote><p>Note: I’d like state for the record that I mean no criticism of other cloud vendors (i.e. Amazon, Google, and SalesForce).&#160; I think each of them have a place in the market, and exhibit various strengths.&#160; That said, I do believe that the Windows Azure Platform stands out as the only real platform that can bridge the chasm between cloud services and on-premises software. (Note to self: back this statement up in a future blog post.)</p>
</blockquote>
<p>I would argue, however, that most enterprise developers require a little more flexibility when building out enterprise class applications.&#160; The Windows Azure Platform provides this flexibility (I mean, come on – sometimes you just want to execute some native code!).</p>
<p>I decided to test how far I could take this flexibility in Windows Azure.</p>
<p>I am a big fan of <a href="http://msdn.microsoft.com/en-us/library/dd179341.aspx">Worker Roles</a> in Windows Azure.&#160; I really like the idea of having an asynchronous, “headless” service that’s working for me in the background.&#160; I wanted to see if I could spin up an equivalent to a Worker Role in a <a href="http://msdn.microsoft.com/en-us/library/dd179341.aspx">Web Role</a>, so that in addition to having my Web application running in a Web Role I could also get a service running in the background.</p>
<p>Why would I want to do this?&#160; Well, here are a few of reasons:</p>
<ul>
<li>Asynchronous logging service running in every Azure instance (whether a web or worker role); this service might take information from the event log and write it to an Azure table. </li>
<li>Clean-up operations (i.e. temporary scratch writes, etc.) </li>
<li>Opening and managing socket connections to the service bus (this is my favorite scenario). </li>
</ul>
<p>The list could go on.&#160; Hopefully you get the point.</p>
<p>So, how would you do this?&#160; Again, given the flexibility of the platform, there are many ways you can do this.&#160; Below you’ll find one simple way.</p>
<p>1. Create a new cloud services project, and add a web role.</p>
<p>2. Create a new class and inherit from <font face="Courier New">Microsoft.ServiceHosting.ServiceRuntime.RoleEntryPoint</font>.&#160; You&#8217;ll have to override the <font face="Courier New">Start</font> and <font face="Courier New">RoleStatus</font> methods.</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 500px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> Microsoft.ServiceHosting.ServiceRuntime;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> System.Threading;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">namespace</span> Web
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">{
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> MyWebWorkerRole : RoleEntryPoint
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">override</span> <span style="color: #0000ff">void</span> Start()
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <span style="color: #0000ff">while</span> (<span style="color: #0000ff">true</span>)
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                RoleManager.WriteToLog(&quot;<span style="color: #8b0000">Information</span>&quot;, &quot;<span style="color: #8b0000">The worker role is running.</span>&quot;);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                Thread.Sleep(5000);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">public</span> <span style="color: #0000ff">override</span> RoleStatus GetHealthStatus()
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <span style="color: #0000ff">return</span> RoleStatus.Healthy;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">}</pre>
</pre>
<p>3. Create a Global.asax page.</p>
<p>4. Create a method where you initialize and start and initialize your class that inherits from RoleEntryPoint.</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 500px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">private</span> <span style="color: #0000ff">void</span> StartWorkerRole()
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">{
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    MyWebWorkerRole myWebWorkerRole = <span style="color: #0000ff">new</span> MyWebWorkerRole();
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    myWebWorkerRole.Initialize();
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    myWebWorkerRole.Start();
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">}</pre>
</pre>
<p>5. Create local threading variables that you will use to run your method.</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 500px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> Global : System.Web.HttpApplication
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">{
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    System.Threading.ThreadStart ts;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    System.Threading.Thread t;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    ...</pre>
</pre>
<p>5. Update the Application_BeginRequest method to invoke your method on a new thread.&#160; Be sure and check to see if the thread is already running, otherwise it will get started multiple times.</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 500px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">protected</span> <span style="color: #0000ff">void</span> Application_BeginRequest(<span style="color: #0000ff">object</span> sender, EventArgs e)
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">{
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">if</span> (t == <span style="color: #0000ff">null</span>)
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        ts = <span style="color: #0000ff">new</span> System.Threading.ThreadStart(StartWorkerRole);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        t = <span style="color: #0000ff">new</span> System.Threading.Thread(ts);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        t.Start();
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">}</pre>
</pre>
<p>And that should do it.&#160; Now you have a class that will run asynchronously in all your Web Role instances.&#160; And since it inherits from the RoleEntryPoint, you can leverage this technique for both your Web and Worker Role instances.&#160; I’d recommend placing this class in a separate class library and adding a reference to it from your various projects.</p>
<blockquote>
<p>Note: It is highly probable that there will be some changes to the APIs and assemblies come PDC.&#160; While these concepts will stay valid, the underlying code will probably change.&#160; If this happens, I’ll be sure and provide an update.</p>
</blockquote>
<p>I hope this helps!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WadeWegner?a=0XaeXeK4BZQ:HRamCqC3O2A:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=0XaeXeK4BZQ:HRamCqC3O2A:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=0XaeXeK4BZQ:HRamCqC3O2A:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=0XaeXeK4BZQ:HRamCqC3O2A:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=0XaeXeK4BZQ:HRamCqC3O2A:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=0XaeXeK4BZQ:HRamCqC3O2A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=0XaeXeK4BZQ:HRamCqC3O2A:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=0XaeXeK4BZQ:HRamCqC3O2A:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=0XaeXeK4BZQ:HRamCqC3O2A:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WadeWegner/~4/0XaeXeK4BZQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.wadewegner.com/index.php/2009/11/04/how-to-leverage-the-roleentrypoint-in-an-azure-web-role/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.wadewegner.com/index.php/2009/11/04/how-to-leverage-the-roleentrypoint-in-an-azure-web-role/</feedburner:origLink></item>
		<item>
		<title>Chunking BCP output to upload lots of data into SQL Azure</title>
		<link>http://feedproxy.google.com/~r/WadeWegner/~3/XWIS6CEVn-I/</link>
		<comments>http://blog.wadewegner.com/index.php/2009/11/02/chunking-bcp-output-to-upload-lots-of-data-into-sql-azure/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 17:28:44 +0000</pubDate>
		<dc:creator>Wade</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://blog.wadewegner.com/index.php/2009/11/02/chunking-bcp-output-to-upload-lots-of-data-into-sql-azure/</guid>
		<description><![CDATA[Note: This is a guest post from George Huey, Architect Evangelist in the Developer and Platform Evangelism group.
When you upload your data into SQL Azure, SQL Azure replicates your data to three different locations in order to provide triple redundancy.&#160; Therefore, it needs a little more time to get the data in the proper places.
One [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.wadewegner.com/wp-content/uploads/2009/11/SQLAzure.png"><em><img style="border-right-width: 0px; margin: 0px 0px 5px 5px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SQL Azure" border="0" alt="SQL Azure" align="right" src="http://blog.wadewegner.com/wp-content/uploads/2009/11/SQLAzure_thumb.png" width="242" height="76" /></em></a><em>Note: This is a guest post from <a href="http://www.linkedin.com/pub/george-huey/0/4b0/375" target="_blank">George Huey</a>, Architect Evangelist in the Developer and Platform Evangelism group.</em></p>
<p>When you upload your data into <a href="http://www.microsoft.com/windowsazure/sqlazure/" target="_blank">SQL Azure</a>, SQL Azure replicates your data to three different locations in order to provide triple redundancy.&#160; Therefore, it needs a little more time to get the data in the proper places.</p>
<p>One of the things that we found out during a series of Windows Azure Platform Migration Labs held in the <a href="http://www.microsoft.com/mtc/locations/Chicago.mspx" target="_blank">Chicago MTC</a> is that you cannot upload hundreds of thousands of records without giving SQL Azure time to catch up.&#160; Consequently, you have to chunk your data and give SQL Azure time to process each chunk before uploading the next chunk of data.</p>
<p>The tool that we used for migrating our customer databases to SQL Azure was the <a href="http://sqlazuremw.codeplex.com/" target="_blank">SQL Azure Migration Wizard</a>.&#160; The migration wizard uses BCP to download data from an on premise SQL Server database and then uses BCP to upload the data to SQL Azure.&#160; BCP allows you to specify the first row (-F), the last row (-L), and the batch size (-b).&#160; These options will allow you to chunk the data beginning uploaded to SQL Azure.&#160; For example:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 16px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">BCP MyDb.dbo.Transactions out Transactions.dat -E -q -n –T </pre>
</pre>
<p>The above command extracts data from table Transactions in the database MyDb.&#160; At the end of the BCP output, you will find the number of records copied to file (for example: 2,524,520 rows copied).</p>
<p>In order to upload in chunks, you would do something like this:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">BCP  MyDb.dbo.Transactions <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=in&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">in</a>  Transactions.dat -E -q -n –b 5000 –F1 –L250000 -S  tcp:azureserver.ctp.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=database&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">database</a>.windows.net -U admin@azureserver -P password
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">BCP  MyDb.dbo.Transactions <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=in&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">in</a>  Transactions.dat -E -q -n –b 5000 –F250001 –L500000 -S  tcp:azureserver.ctp.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=database&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">database</a>.windows.net -U admin@azureserver -P password
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">BCP  MyDb.dbo.Transactions <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=in&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">in</a>  Transactions.dat -E -q -n –b 5000 –F500001 –L750000 -S  tcp:azureserver.ctp.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=database&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">database</a>.windows.net -U admin@azureserver -P password
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">BCP  MyDb.dbo.Transactions <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=in&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">in</a>  Transactions.dat -E -q -n –b 5000 –F750001 –L1000000 -S  tcp:azureserver.ctp.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=database&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">database</a>.windows.net -U admin@azureserver -P password
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">BCP  MyDb.dbo.Transactions <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=in&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">in</a>  Transactions.dat -E -q -n –b 5000 –F1000001 –L1250000 -S  tcp:azureserver.ctp.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=database&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">database</a>.windows.net -U admin@azureserver -P password
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">BCP  MyDb.dbo.Transactions <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=in&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">in</a>  Transactions.dat -E -q -n –b 5000 –F1250001 –L1500000 -S  tcp:azureserver.ctp.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=database&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">database</a>.windows.net -U admin@azureserver -P password
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">BCP  MyDb.dbo.Transactions <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=in&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">in</a>  Transactions.dat -E -q -n –b 5000 –F1500001 –L1750000 -S  tcp:azureserver.ctp.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=database&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">database</a>.windows.net -U admin@azureserver -P password
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">BCP  MyDb.dbo.Transactions <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=in&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">in</a>  Transactions.dat -E -q -n –b 5000 –F1750001 –L2000000 -S  tcp:azureserver.ctp.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=database&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">database</a>.windows.net -U admin@azureserver -P password
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">BCP  MyDb.dbo.Transactions <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=in&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">in</a>  Transactions.dat -E -q -n –b 5000 –F2250001 –L2500000 -S  tcp:azureserver.ctp.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=database&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">database</a>.windows.net -U admin@azureserver -P password
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">BCP  MyDb.dbo.Transactions <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=in&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">in</a>  Transactions.dat -E -q -n –b 5000 –F2500001 –L2524520 -S  tcp:azureserver.ctp.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=database&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">database</a>.windows.net -U admin@azureserver -P password
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
</pre>
<p>Note, you will have to put some kind of delay between BCP commands to give SQL Azure time to store the data (say 15 seconds).&#160; You will probably find that sometimes the 15 seconds is not enough time and that, during the upload of one of your BCP chunks, SQL Azure might shut it down.&#160; If that happens you will see something like this happen:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">5000 <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=rows&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">rows</a> sent <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=to&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">to</a> <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=SQL&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">SQL</a> Server. Total sent: 145000
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">5000 <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=rows&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">rows</a> sent <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=to&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">to</a> <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=SQL&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">SQL</a> Server. Total sent: 150000
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">5000 <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=rows&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">rows</a> sent <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=to&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">to</a> <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=SQL&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">SQL</a> Server. Total sent: 155000
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=SQLState&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">SQLState</a> = S1000, NativeError = 21
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">Error = [Microsoft][<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=SQL&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">SQL</a> Server Native Client 10.0][<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=SQL&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">SQL</a> Server]Warning: Fatal error 40501 occurred <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=at&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">at</a> Oct 30 2009  4:15PM. Note the error <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=and&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">and</a> <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=time&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">time</a>, <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=and&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">and</a> contact your system administrator.
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">BCP copy <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=in&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">in</a> failed </pre>
</pre>
<p>From the above BCP output, you will see that a total of 155,000 rows were sent before SQL Azure closed the connection.&#160; Thus you would have to adjust your next BCP command to start at your –F value + 155000.</p>
<p>While this process works reasonably well, it can make the process of uploading data a little tedious if you have a large number of tables with a large number of records per table.&#160; In order to simplify the process, we have modified the <a href="http://sqlazuremw.codeplex.com/" target="_blank">SQL Azure Migration Wizard</a> to do all of this work for you.&#160; It allows you to specify the chunk size, the batch size, and the time to wait between BCP chunks in SQLAzureMW.exe.Config.&#160; It also catch BCP errors and adjust for records processed and then retry.</p>
<p>Try it out, review the source code, and be sure to provide some good feedback!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WadeWegner?a=XWIS6CEVn-I:osQc4bpmItw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=XWIS6CEVn-I:osQc4bpmItw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=XWIS6CEVn-I:osQc4bpmItw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=XWIS6CEVn-I:osQc4bpmItw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=XWIS6CEVn-I:osQc4bpmItw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=XWIS6CEVn-I:osQc4bpmItw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=XWIS6CEVn-I:osQc4bpmItw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=XWIS6CEVn-I:osQc4bpmItw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=XWIS6CEVn-I:osQc4bpmItw:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WadeWegner/~4/XWIS6CEVn-I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.wadewegner.com/index.php/2009/11/02/chunking-bcp-output-to-upload-lots-of-data-into-sql-azure/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.wadewegner.com/index.php/2009/11/02/chunking-bcp-output-to-upload-lots-of-data-into-sql-azure/</feedburner:origLink></item>
		<item>
		<title>Taste of Chicago benefits from Windows Azure and Silverlight</title>
		<link>http://feedproxy.google.com/~r/WadeWegner/~3/USsU0Y4kvqU/</link>
		<comments>http://blog.wadewegner.com/index.php/2009/10/26/taste-of-chicago-benefits-from-windows-azure-and-silverlight/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 16:34:03 +0000</pubDate>
		<dc:creator>Wade</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://blog.wadewegner.com/index.php/2009/10/26/taste-of-chicago-benefits-from-windows-azure-and-silverlight/</guid>
		<description><![CDATA[As a native Illinoisan, I know that the Taste of Chicago is a big deal!&#160; It is the largest outdoor food and music festival in the world, and is attended by more than 3 million people each year.&#160; If you like food and music, this is a festival for you!
This past year, the City of [...]]]></description>
			<content:encoded><![CDATA[<p>As a native Illinoisan, I know that the <a href="http://www.explorechicago.org/city/en/things_see_do/event_landing/special_events/mose/taste_of_chicago.html">Taste of Chicago</a> is a big deal!&#160; It is the largest outdoor food and music festival in the world, and is attended by more than 3 million people each year.&#160; If you like food and music, this is a festival for you!</p>
<p><a href="http://www.westmonroepartners.com/"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 0px 5px; display: inline; border-top: 0px; border-right: 0px" title="West Monroe Partners" border="0" alt="West Monroe Partners" align="right" src="http://blog.wadewegner.com/wp-content/uploads/2009/10/image19.png" width="242" height="53" /></a>This past year, the City of Chicago needed to quickly build out an interactive map for the event – and when I say quickly, I mean it.&#160; They needed an interactive mapping experience built and deployed in less than 10 days.&#160; To help make this a reality, the City of Chicago turned to a very capable Microsoft partner, <a href="http://www.westmonroepartners.com/">West Monroe Partners (WMP)</a>, for assistance.&#160; </p>
<p>The challenges here were pretty clear:</p>
<ul>
<li>Build an interactive and immersive website in less than 10 days.</li>
<li>The website needed to scale massively for the event, but once the event was over they wanted to scale the infrastructure down.</li>
<li>WMP wanted to leverage their existing skills and tools.</li>
</ul>
<p>WMP proposed the following – an immersive <a href="http://silverlight.net/">Silverlight</a> Deep Zoom experience running on <a href="http://www.windowsazure.com/">Windows Azure</a> (if you’re not familiar with Deep Zoom, take a look at the <a href="http://memorabilia.hardrock.com/">Hard Rock memorabilia site</a>).&#160; You can still visit the <a href="http://tasteofchicago09.cloudapp.net/">Taste of Chicago interactive map</a> – check it out:</p>
<p><a href="http://tasteofchicago09.cloudapp.net/"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Taste of Chicago interactive map" border="0" alt="Taste of Chicago interactive map" src="http://blog.wadewegner.com/wp-content/uploads/2009/10/image20.png" width="492" height="439" /></a> </p>
<p>The <a href="http://www.microsoft.com/windowsazure/">Windows Azure Platform</a> – which I’ve discussed many times on my blog – is Microsoft’s cloud platform.&#160; It is comprised of the following: Windows Azure, an operating system as a service; SQL Azure, a fully relational database in the cloud; and .NET Services, consumable web-based services that provide both secure connectivity and federated access control for applications.</p>
<p>The City of Chicago’s decision to go with Silverlight and Windows Azure provided a host of very tangible benefits, including:</p>
<ul>
<li>Fast, cost-effective development</li>
<li>Immediate customer satisfaction</li>
<li>Increased agility</li>
<li>Dynamic user experience</li>
</ul>
<p>In fact, this is broken down in detail in the <a href="http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000004836">Taste of Chicago case study with WMP and the City of Chicago</a>.</p>
<p>Additionally, Erik Brown – technical lead at WMP – spoke to Microsoft about their <a href="http://channel9.msdn.com/posts/Abe+Pachikara/SI-WMT-Handles-Client-Need-in-10-Days-Using-Azure/Default.aspx?wa=wsignin1.0">experience building the interactive map in Silverlight and on Windows Azure</a>.&#160; I definitely recommend you take a look:</p>
<p><a href="http://channel9.msdn.com/posts/Abe+Pachikara/SI-WMT-Handles-Client-Need-in-10-Days-Using-Azure/Default.aspx?wa=wsignin1.0"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows Azure" border="0" alt="Windows Azure" src="http://blog.wadewegner.com/wp-content/uploads/2009/10/image21.png" width="492" height="372" /></a> </p>
<p>A really great story about how a capable partner can leverage innovative technology to not only dazzle a customer, but provide a valuable service for millions of users.</p>
<p>I hope this helps!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WadeWegner?a=USsU0Y4kvqU:nfS2d6V_ZvM:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=USsU0Y4kvqU:nfS2d6V_ZvM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=USsU0Y4kvqU:nfS2d6V_ZvM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=USsU0Y4kvqU:nfS2d6V_ZvM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=USsU0Y4kvqU:nfS2d6V_ZvM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=USsU0Y4kvqU:nfS2d6V_ZvM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=USsU0Y4kvqU:nfS2d6V_ZvM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=USsU0Y4kvqU:nfS2d6V_ZvM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=USsU0Y4kvqU:nfS2d6V_ZvM:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WadeWegner/~4/USsU0Y4kvqU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.wadewegner.com/index.php/2009/10/26/taste-of-chicago-benefits-from-windows-azure-and-silverlight/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.wadewegner.com/index.php/2009/10/26/taste-of-chicago-benefits-from-windows-azure-and-silverlight/</feedburner:origLink></item>
		<item>
		<title>Presenting on the Windows Azure Platform at the Day of Cloud</title>
		<link>http://feedproxy.google.com/~r/WadeWegner/~3/BEe8a-K9X9c/</link>
		<comments>http://blog.wadewegner.com/index.php/2009/10/16/presenting-on-the-windows-azure-platform-at-the-day-of-cloud/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 14:14:41 +0000</pubDate>
		<dc:creator>Wade</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://blog.wadewegner.com/index.php/2009/10/16/presenting-on-the-windows-azure-platform-at-the-day-of-cloud/</guid>
		<description><![CDATA[Today I presented on the Windows Azure Platform at the Day of Cloud conference, in Chicago, IL.&#160; This conference was hosted by Tech in the Middle, and gave speakers the opportunity to present on SalesForce.com, the Windows Azure Platform (yours truly), Amazon Web Services, and Google App Engine.&#160; A great concept, and a lot of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dayofcloud.com/about.html"><img style="border-right-width: 0px; margin: 0px 0px 2px 5px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://blog.wadewegner.com/wp-content/uploads/2009/10/image_thumb17.png" width="242" height="56" /></a>Today I presented on the Windows Azure Platform at the <a href="http://www.dayofcloud.com/" target="_blank">Day of Cloud</a> conference, in Chicago, IL.&#160; This conference was hosted by <a href="http://www.dayofcloud.com/about.html" target="_blank">Tech in the Middle</a>, and gave speakers the opportunity to present on SalesForce.com, the Windows Azure Platform (yours truly), Amazon Web Services, and Google App Engine.&#160; A great concept, and a lot of fun.</p>
<p>Gabe and Scott from <a href="http://www.dayofcloud.com/about.html" target="_blank">Tech in the Middle</a> recorded and posted each of these talks.&#160; You can find them here:</p>
<blockquote><p>Jonathan Sapir/Michael Topalovich &#8211; Salesforce.com      <br />Video: <a href="http://blip.tv/file/2777664">http://blip.tv/file/2777664</a></p>
<p>Wade Wegner – Windows Azure Platform     <br />Video: <a href="http://blip.tv/file/2786114">http://blip.tv/file/2786114</a></p>
<p>Chris McAvoy &#8211; Amazon Web Services      <br />Video: <a href="http://blip.tv/file/2780311">http://blip.tv/file/2780311</a></p>
<p>Don Schwarz &#8211; Google App Engine      <br />Video: <a href="http://blip.tv/file/2786812">http://blip.tv/file/2786812</a></p>
<p>Panel: <a href="http://blip.tv/file/2786826">http://blip.tv/file/2786826</a></p>
</blockquote>
<p>As promised, here is the deck I presented:</p>
<p> <object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=dayofcloud-091017105052-phpapp01&amp;stripped_title=day-of-cloud-2255942" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=dayofcloud-091017105052-phpapp01&amp;stripped_title=day-of-cloud-2255942" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<p>If you want to download the entire deck, you can grab it here: <a href="http://cid-716f83c58a3bf96f.skydrive.live.com/self.aspx/Blog/DayOfCloud/Day%20of%20Cloud.pptx">Windows Azure Platform at the Day of Cloud</a>.</p>
<p>Thanks for the opportunity; I hope everyone found the presentation useful and had as much fun as I did!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WadeWegner?a=BEe8a-K9X9c:xxr0DcylpfU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=BEe8a-K9X9c:xxr0DcylpfU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=BEe8a-K9X9c:xxr0DcylpfU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=BEe8a-K9X9c:xxr0DcylpfU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=BEe8a-K9X9c:xxr0DcylpfU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=BEe8a-K9X9c:xxr0DcylpfU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=BEe8a-K9X9c:xxr0DcylpfU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=BEe8a-K9X9c:xxr0DcylpfU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=BEe8a-K9X9c:xxr0DcylpfU:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WadeWegner/~4/BEe8a-K9X9c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.wadewegner.com/index.php/2009/10/16/presenting-on-the-windows-azure-platform-at-the-day-of-cloud/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.wadewegner.com/index.php/2009/10/16/presenting-on-the-windows-azure-platform-at-the-day-of-cloud/</feedburner:origLink></item>
		<item>
		<title>The SQL Azure Migration Wizard will now migrate your data!</title>
		<link>http://feedproxy.google.com/~r/WadeWegner/~3/r7Q8ZUBa7fk/</link>
		<comments>http://blog.wadewegner.com/index.php/2009/10/15/the-sql-azure-migration-wizard-will-now-migrate-your-data/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 17:50:21 +0000</pubDate>
		<dc:creator>Wade</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://blog.wadewegner.com/index.php/2009/10/15/the-sql-azure-migration-wizard-will-now-migrate-your-data/</guid>
		<description><![CDATA[ Last month I blogged about the SQL Azure Migration Wizard created by George Huey.&#160; This tool helps you to migrate your SQL Server database into SQL Azure and is available up on Codeplex.&#160; To date, this tool has been downloaded almost a thousand times!
The number one request for the migration wizard was the ability [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.wadewegner.com/wp-content/uploads/2009/10/GeorgeHuey.jpg"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 0px 5px; display: inline; border-top: 0px; border-right: 0px" title="George Huey, when he&#39;s not writing code!" border="0" alt="George Huey, when he&#39;s not writing code!" align="right" src="http://blog.wadewegner.com/wp-content/uploads/2009/10/GeorgeHuey_thumb.jpg" width="242" height="163" /></a> Last month I <a href="http://blog.wadewegner.com/index.php/2009/09/01/sql-azure-migration-wizard/" target="_blank">blogged about the SQL Azure Migration Wizard</a> created by George Huey.&#160; This tool helps you to migrate your SQL Server database into <a href="http://www.microsoft.com/azure/sql.mspx" target="_blank">SQL Azure</a> and is <a href="http://sqlazuremw.codeplex.com/" target="_blank">available up on Codeplex</a>.&#160; To date, this tool has been downloaded almost a thousand times!</p>
<p>The number one request for the migration wizard was the ability to replicate your data up to SQL Azure (in addition to the SQL schema, which it already does).&#160; Unfortunately, the original SQL Azure CTP didn&#8217;t support BCP, and the data migration process was very difficult and required an SSIS package to copy the data into SQL Azure.</p>
<p>With yesterday&#8217;s release of SQL Azure CTP 2, however, <a href="http://blog.wadewegner.com/index.php/2009/10/15/sql-azure-database-is-feature-complete/" target="_blank">SQL Azure now supports BCP</a>!</p>
<p>Minutes after CTP 2 went live, George published a new version of migration wizard that takes advantage of BCP to enable you to migrate not only your SQL Server 2005 / 2008 database objects but your data as well!&#160; migration wizard allows you to turn on or off data migration via the application configuration file or during runtime via the options page.&#160; When you select data migration, the export and import process can be quite lengthy.&#160; migration wizard kicks off the export and import process on a back ground thread and will display the BCP results in the program window.&#160; At any time during the process, you can hit the cancel button to cancel the background process.&#160; As migration wizard processes information, it will display the results to the program window.</p>
<p>Here are the release notes for version 1.0 (and 1.1):</p>
<ul>
<li>Added data migration via BCP. Note that when you specify your SQL Azure username, specify your user name as &quot;username@server&quot;. Also note that data migration only works on the latest release of SQL Azure (Server Location: South Central US).</li>
<li>Modified App.Config to allow you to specify your Options. For example: If you do not want to migrate data, you can turn this off by modifying the App.Config file and changing ScriptData to false.</li>
<li>Added a cancel button so that you can cancel while processing.</li>
<li>Added a scroll toggle so that during processing you can keep the control from scrolling down to the bottom.</li>
<li>Fixed an error in BCP command to allow the passing of the SQL Server instance name.</li>
<li>Added color to the SQL results to better identify error messages.</li>
</ul>
<p>If you&#8217;re using SQL Azure, go and grab the new version of the <a href="http://sqlazuremw.codeplex.com/" target="_blank">SQL Azure Migration Wizard</a>!&#160; For detailed instructions on how to use the wizard, take a look at the <a href="http://sqlazuremw.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=32334#DownloadId=86938" target="_blank">SQL Azure Migration Wizard whitepaper</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WadeWegner?a=r7Q8ZUBa7fk:Pi0-G9JgFaE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=r7Q8ZUBa7fk:Pi0-G9JgFaE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=r7Q8ZUBa7fk:Pi0-G9JgFaE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=r7Q8ZUBa7fk:Pi0-G9JgFaE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=r7Q8ZUBa7fk:Pi0-G9JgFaE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=r7Q8ZUBa7fk:Pi0-G9JgFaE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=r7Q8ZUBa7fk:Pi0-G9JgFaE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=r7Q8ZUBa7fk:Pi0-G9JgFaE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=r7Q8ZUBa7fk:Pi0-G9JgFaE:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WadeWegner/~4/r7Q8ZUBa7fk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.wadewegner.com/index.php/2009/10/15/the-sql-azure-migration-wizard-will-now-migrate-your-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.wadewegner.com/index.php/2009/10/15/the-sql-azure-migration-wizard-will-now-migrate-your-data/</feedburner:origLink></item>
		<item>
		<title>SQL Azure Database is Feature Complete!</title>
		<link>http://feedproxy.google.com/~r/WadeWegner/~3/IXBxpmO0-lQ/</link>
		<comments>http://blog.wadewegner.com/index.php/2009/10/15/sql-azure-database-is-feature-complete/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 14:53:58 +0000</pubDate>
		<dc:creator>Wade</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[SQL Azure]]></category>

		<guid isPermaLink="false">http://blog.wadewegner.com/index.php/2009/10/15/sql-azure-database-is-feature-complete/</guid>
		<description><![CDATA[ As many of you probably already know, the CTP of SQL Azure is now feature complete!&#160; Fantastic work by the SQL Azure product team, as it was only in August that they announced the opening of the SQL Azure Database CTP!
I recommend reading the entire announcement on the SQL Azure team&#8217;s blog.&#160; Here are [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.wadewegner.com/wp-content/uploads/2009/10/image_22.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="SQL Azure" border="0" alt="SQL Azure" align="right" src="http://blog.wadewegner.com/wp-content/uploads/2009/10/image_2_thumb2.png" width="242" height="81" /></a> As many of you probably already know, the CTP of <a href="http://www.microsoft.com/azure/sql.mspx" target="_blank">SQL Azure</a> is now feature complete!&#160; Fantastic work by the SQL Azure product team, as it was only in August that they announced the opening of the SQL Azure Database CTP!</p>
<p>I recommend reading the entire announcement on the <a href="http://blogs.msdn.com/ssds/default.aspx" target="_blank">SQL Azure team&#8217;s blog</a>.&#160; Here are some brief notes on the announcement:</p>
<ul>
<li><strong>Details</strong>
<ul>
<li>CTP 2 (announced yesterday, October 15th) represents the complete set of features that will be available at commercial launch this November at <a href="http://microsoftpdc.com/" target="_blank">PDC</a>. </li>
<li>SQL Azure Database is now running on one of the go-live production clusters. </li>
<li>This environment will automatically roll into the fully supported production environment at PDC. </li>
</ul>
</li>
<li><strong>Key features added in CTP 2</strong>
<ul>
<li><strong>Firewall support </strong>– You can now specify an allow list of IP addresses, preventing unauthorized users from reaching your SQL Azure databases. </li>
<li><strong>Bulk Insert </strong>– <a href="http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx" target="_blank">SqlBulkCopy</a>, or BCP, is now supported.&#160; This makes data migration much faster. </li>
<li><strong>Database Edition Selection </strong>– You can now select either the Web Edition (1 GB) or Business Edition (10 GB) version of SQL Azure Database. </li>
<li><strong>Additional T-SQL support</strong> – A host of new functionality has been exposed.&#160; Take a look at <a href="http://msdn.microsoft.com/en-us/library/ee336281.aspx" target="_blank">Transact-SQL Reference</a> for details. </li>
</ul>
</li>
</ul>
<p>Also, you no longer get the &quot;SET ANSI NULLS&quot; error when connecting a query window via SSMS!</p>
<p>If you haven&#8217;t tried SQL Azure yet, now&#8217;s the time!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WadeWegner?a=IXBxpmO0-lQ:icCuF-f-hXI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=IXBxpmO0-lQ:icCuF-f-hXI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=IXBxpmO0-lQ:icCuF-f-hXI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=IXBxpmO0-lQ:icCuF-f-hXI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=IXBxpmO0-lQ:icCuF-f-hXI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=IXBxpmO0-lQ:icCuF-f-hXI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=IXBxpmO0-lQ:icCuF-f-hXI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=IXBxpmO0-lQ:icCuF-f-hXI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=IXBxpmO0-lQ:icCuF-f-hXI:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WadeWegner/~4/IXBxpmO0-lQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.wadewegner.com/index.php/2009/10/15/sql-azure-database-is-feature-complete/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.wadewegner.com/index.php/2009/10/15/sql-azure-database-is-feature-complete/</feedburner:origLink></item>
		<item>
		<title>Webcast: Running an ASP.NET MVC Web Application in Windows Azure</title>
		<link>http://feedproxy.google.com/~r/WadeWegner/~3/YivrMati-NQ/</link>
		<comments>http://blog.wadewegner.com/index.php/2009/10/11/webcast-running-an-asp-net-mvc-web-application-in-windows-azure/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 16:59:42 +0000</pubDate>
		<dc:creator>Wade</dc:creator>
				<category><![CDATA[.NET 3.5]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://blog.wadewegner.com/index.php/2009/10/11/webcast-running-an-asp-net-mvc-web-application-in-windows-azure/</guid>
		<description><![CDATA[I have seen enough people ask about running ASP.NET MVC Web Applications in Windows Azure that I thought I&#8217;d put together a short, quick webcast that shows exactly the steps you need to take.&#160; With the further ado &#8230;



            
     [...]]]></description>
			<content:encoded><![CDATA[<p>I have seen enough people ask about running ASP.NET MVC Web Applications in Windows Azure that I thought I&#8217;d put together a short, quick webcast that shows exactly the steps you need to take.&#160; With the further ado &#8230;</p>
<p>

<object data="data:application/x-silverlight," type="application/x-silverlight" width="490" height="350">
            <param name="source" value="http://blog.wadewegner.com/MediaPlayerTemplate.xap"/>
            <param name="onerror" value="onSilverlightError" />
            <param name="autoUpgrade" value="true" />
            <param name="minRuntimeVersion" value="3.0.40624.0" />            
            <param name="enableHtmlAccess" value="true" />
            <param name="enableGPUAcceleration" value="true" />
            <param name="initparams" value='playerSettings = 
                        <Playlist>
                            <AutoLoad>false</AutoLoad>
                            <AutoPlay>false</AutoPlay>
                            <DisplayTimeCode>false</DisplayTimeCode>
                            <EnableCachedComposition>true</EnableCachedComposition>
                            <EnableCaptions>true</EnableCaptions>
                            <EnableOffline>true</EnableOffline>
                            <EnablePopOut>true</EnablePopOut>
                            <StartMuted>false</StartMuted>
                            <StretchMode>None</StretchMode>
                            <Items>
								<PlaylistItem>
									<AudioCodec>Wma</AudioCodec>
									<Description></Description>
									<FileSize>8823725</FileSize>
									<FrameRate>15.000015000015</FrameRate>
									<Height>768</Height>
									<IsAdaptiveStreaming>false</IsAdaptiveStreaming>
									<MediaSource>http://screencasts.blob.core.windows.net/wmvs/MVCAzure.wmv</MediaSource>
									<ThumbSource>http://2ynbcg.blu.livefilestore.com/y1pin4bN07oglClRhu5LgWxcYFpRfoDQYoWqtT2WG1lRw7VnwztQXyM3iOMU9qj7HpJFGgv6iaB_9XSSZXvwAS6iw/ASP.NET%20MVC%20in%20Windows%20Azure_Thumb.jpg</ThumbSource>
									<Title>ASP.NET%20MVC%20in%20Windows%20Azure</Title>
									<VideoCodec>VC1</VideoCodec>
									<Width>1024</Width>
								</PlaylistItem>
                            </Items>
                        </Playlist>'/>       
            <!--  unused valid silverlight init parameters
            <param name="enableFrameRateCounter" value="bool" />
            <param name="enableRedrawRegions" value="bool" />
            <param name="maxFrameRate" value="int" />
            <param name="allowHtmlPopupWindow" value="bool"/>
            <param name="background" value="colorValue"/>
            <param name="splashScreenSource" value="uri"/>
            <param name="fullScreen" value="bool"/>
            <param name="onFullScreenChanged" value="functionname"/>
            <param name="onResize" value="functionname"/>
            <param name="onSourceDownloadComplete" value="functionname"/>
            <param name="onSourceDownloadProgressChanged" value="functionname"/>
            <param name="windowLess" value="bool"/>
             --> 

             <div onmouseover="highlightDownloadArea(true)" onmouseout="highlightDownloadArea(false)">
                    <img src="ASP.NET MVC in Windows Azure_Thumb.jpg" style="position:absolute;width:100%;height:100%;border-style:none;" onerror="this.style.display='none'"/>
                    <img src="Preview.png" style="position:absolute;width:100%;height:100%;border-style:none;" onerror="this.style.display='none'"/>                                            
                    <div id="overlay" class="fadeLots" style="position:absolute;width:100%;height:100%;border-style:none;background-color:white;"/></div>
                    <table width="100%" height="100%" style="position:absolute;"><tr><td align="center" valign="middle">                       
                    <img src="http://go2.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight"> 
                    </td></tr></table>                   
                    <a href="http://go2.microsoft.com/fwlink/?LinkID=124807">
                        <img src="" class="fadeCompletely" style="position:absolute;width:100%;height:100%;border-style:none;" alt="Get Microsoft Silverlight"/>
                    </a>                   
             </div>             
        </object>
</p>
<p>Before you try this yourself, make sure you satisfy the following dependencies:</p>
<ul>
<li>Visual Studio 2008 with SP1 </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8d75d4f7-77a4-4adf-bce8-1b10608574bb&amp;displaylang=en" target="_blank">Windows Azure Tools for Visual Studio</a> </li>
<li>Microsoft ASP.NET MVC </li>
</ul>
<p>For those of you that have no desire to watch a four minute video, and would rather have a quick walkthrough, here you go:</p>
<ol>
<li>Create a blank cloud services project.&#160; Do not add any roles to the project. </li>
<li>Add a new ASP.NET MVC Web Application to the solution. </li>
<li>Add&#160; the ASP.NET MVC Web Application as a web role in the cloud services project. </li>
<li>Add the Microsoft.ServiceHosting.ServiceRuntime.dll assembly to the ASP.NET MVC Web Application. </li>
<li>Set the following MVC assemblies to Copy Local True.
<ul>
<li>System.Web.Abstractions </li>
<li>System.Web.Mvc </li>
<li>System.Routing </li>
</ul>
</li>
<li>Run the application. </li>
</ol>
<p>I hope this helps!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WadeWegner?a=YivrMati-NQ:PNEkrOOjzM8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=YivrMati-NQ:PNEkrOOjzM8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=YivrMati-NQ:PNEkrOOjzM8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=YivrMati-NQ:PNEkrOOjzM8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=YivrMati-NQ:PNEkrOOjzM8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=YivrMati-NQ:PNEkrOOjzM8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=YivrMati-NQ:PNEkrOOjzM8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=YivrMati-NQ:PNEkrOOjzM8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=YivrMati-NQ:PNEkrOOjzM8:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WadeWegner/~4/YivrMati-NQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.wadewegner.com/index.php/2009/10/11/webcast-running-an-asp-net-mvc-web-application-in-windows-azure/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://blog.wadewegner.com/index.php/2009/10/11/webcast-running-an-asp-net-mvc-web-application-in-windows-azure/</feedburner:origLink></item>
		<item>
		<title>Passive Federation with Windows Azure and ADFS v2 (codenamed "Geneva" Server)</title>
		<link>http://feedproxy.google.com/~r/WadeWegner/~3/Cj8ALEHM-z0/</link>
		<comments>http://blog.wadewegner.com/index.php/2009/10/09/passive-federation-with-windows-azure-and-adfs-v2-codenamed-geneva-server/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 15:38:23 +0000</pubDate>
		<dc:creator>Wade</dc:creator>
				<category><![CDATA[ADFS]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://blog.wadewegner.com/index.php/2009/10/09/passive-federation-with-windows-azure-and-adfs-v2-codenamed-geneva-server/</guid>
		<description><![CDATA[One of the critical elements a company needs to consider when moving to the cloud is how they will leverage their existing identity stores.&#160; Most companies have made significant investments in various identity solutions (i.e. providing for SSO, identity consolidation, federating with partners, etc.) and it&#8217;s imperative to ensure that applications and services in the [...]]]></description>
			<content:encoded><![CDATA[<p>One of the critical elements a company needs to consider when moving to the cloud is how they will leverage their existing identity stores.&#160; Most companies have made significant investments in various identity solutions (i.e. providing for SSO, identity consolidation, federating with partners, etc.) and it&#8217;s imperative to ensure that applications and services in the cloud can take advantage of these resources.</p>
<p><strong><u>Background</u></strong></p>
<p>The practice of enabling the portability of identity information across otherwise autonomous security domains, called identity federation, is no longer a luxury &#8211; it&#8217;s a necessity.&#160; The inability to allow users to access resources in different datacenters, with various trading partners, or on the Web, can quickly cripple a companies productivity (not to mention user satisfaction).&#160; Historically, providing for the needs of Web-based single sign on (SSO) and cross-domain resource access has been very difficult to accomplish.&#160; It may have required the replication of identity stores in a host of one-off scenario, or even (gasp!) compromising security best practices in order to satisfy a business need.</p>
<p>More recently, various kinds of identity architecture have made identity federation much easier.&#160; Practices like <a href="http://www.infoq.com/news/2009/10/Guide-Claim-Based-Identity" target="_blank">claims-based authentication</a>, standards like <a href="http://en.wikipedia.org/wiki/WS-Federation" target="_blank">WS-Federation</a>, and so forth allow companies to establish trust domains between different organization and parties much easier.&#160; See the following illustration from <a href="http://www.infoq.com/news/2009/10/Guide-Claim-Based-Identity" target="_blank">InfoQ</a>:</p>
<p><a href="http://blog.wadewegner.com/wp-content/uploads/2009/10/image61.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Claims-based identity with tokens" border="0" alt="Claims-based identity with tokens" src="http://blog.wadewegner.com/wp-content/uploads/2009/10/image6_thumb.png" width="352" height="270" /></a> </p>
<p>In this picture, the application implicitly trusts tokens that come from the issuer.&#160; Consequently, rather than having to authenticate the users identity, the application can delegate that responsibility to the issuer, and instead focus on parsing the information received in the token.&#160; These tokens contain claims, which are nothing more than bits of information about a person, such as a name, email address, membership in a particular role, and so on.&#160; If your application trusts the issuer of the claim, you can leverage the information without having to query the identity store directly. </p>
<p>While it is possible to build a customer claims issuer (or more appropriately called a <a href="http://msdn.microsoft.com/en-us/library/ms730908.aspx" target="_blank">security token service</a>), there are a host of solutions available today that make this quite easy.&#160; Microsoft&#8217;s Active Directory Federation Services (ADFS) is a great example, and work implicitly with identities stored in active directory.&#160; ADFS allows for federated identity by implementing claims-based authentication and establishing trust between different organizations and parties.</p>
<p><a href="http://msdn.microsoft.com/en-us/security/aa570351.aspx" target="_blank">ADFS v2</a> (which was previously codenamed &quot;Geneva&quot; Server&quot;) expands this capability by bringing claims-based identity federation to cloud-based applications that live in on the web, in the enterprise, or across an organization.&#160; The <a href="http://download.microsoft.com/download/7/D/0/7D0B5166-6A8A-418A-ADDD-95EE9B046994/Geneva_Beta.2_datasheet_v3.pdf" target="_blank">&quot;Geneva&quot; Beta 2 datasheet</a> provides the following description that I think is a great summation of ADFS v2:</p>
<blockquote><p>“Geneva” is Microsoft’s next generation identity and access management platform built on Active Directory® directory services. “Geneva” provides claims-based access and single sign-on for on-premises and cloud-based applications in the enterprise, across organizations, and on the Web.</p>
<p>“Geneva” leverages claims which describe identity attributes and can be used to drive application and other system behaviors with an open architecture that implements the industry’s shared Identity Metasystem vision.</p>
</blockquote>
<p>A few things I&#8217;d like to point out about ADFS v2 that make it very powerful:</p>
<ul>
<li>Open standards.&#160; ADFS v2 is based on SAML 2.0, so it can interoperate with products from all kinds of vendors and platforms. </li>
<li>Automation.&#160; ADFS v2 handles the federation of identities by setting up the trust relationships. </li>
<li>Developer productivity.&#160; Since developers interact with trusted claims, they don&#8217;t have to spend time worry about the particulars of the identity provider. </li>
</ul>
<p>In this post, I want to highlight how you can use ADFS v2 to solve many of these identity challenges as you move to the cloud.&#160; Additionally, I will also highlight how the Windows Identity Foundation (previously codenamed &quot;Geneva&quot; Framework), or WIF, is used to make your applications claims-aware and minimize the amount of work required by developers.</p>
<p>To explore ADFS v2 and WIF in more detail &#8211; and I strongly encourage you do! &#8211; please take a look at the following resources and blogs:</p>
<ul>
<li><a href="http://claimsid.codeplex.com/">Claims Based Identity &amp; Access Control Guide</a></li>
<li><a href="http://www.microsoft.com/forefront/geneva/en/us/" target="_blank">Microsoft Code Name &quot;Geneva&quot;</a> </li>
<li><a href="http://download.microsoft.com/download/7/d/0/7d0b5166-6a8a-418a-addd-95ee9b046994/Introducing_Geneva_Beta1_Whitepaper.pdf" target="_blank">Claims-Based Identity Whitepaper</a> </li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9ca5c685-3172-4d8f-81cb-1a59bdc9f7e3&amp;displaylang=en" target="_blank">&quot;Geneva&quot; Framework Whitepaper</a> </li>
</ul>
<p>Now, before you go through this post and start building this solution for yourself, download the <strong><a href="http://code.msdn.microsoft.com/wifwazpassive" target="_blank">Windows Identity Foundation and Windows Azure Passive Federation code</a></strong>.&#160; Run the executable; immediately after the code is installed/copied on to your machine a browser window will open and load the documentation.&#160; Read the <u>entire</u> guide.&#160; There is a ton of good information in the documentation.&#160; Next, run through the whole guide and run the demos.&#160; I&#8217;m not going to restate anything mentioned in the guide in this post, since the guide does a fabulous job.&#160; This post assumes that you&#8217;ve gone through and leveraged the WIF &amp; WA passive federation guide.</p>
<p>A few additional assumptions I&#8217;d like to call out:</p>
<ul>
<li>You have an ADFS v2 server (today you&#8217;d use &quot;Geneva&quot; Server Beta 2). </li>
<li>You have installed Windows Identity Foundation. </li>
<li>You are running Visual Studio 2008 (although 2010 will probably work fine). </li>
<li>You have installed the Windows Azure SDK and Windows Azure Tools for Visual Studio. </li>
<li>You have a Windows Azure account and project. </li>
</ul>
<p>Okay, let&#8217;s get started!</p>
<p><strong><u>Building the Application</u></strong></p>
<p>For a comprehensive examination of many of the below steps, please refer to the <a href="http://code.msdn.microsoft.com/wifwazpassive" target="_blank">overview and walkthrough</a> installed in the guide you installed above.&#160; For the sake of brevity, I have focused on the execution of the process rather than a thorough explanation of how it works.&#160; The guide provides a lot of valuable information.</p>
<p>1. To start, create your Windows Azure project.&#160; I created a &quot;Federated Identity Demo&quot; project with the service name &quot;fedid&quot;.&#160; Be sure and keep track of the service name you choose, as you will use it when creating your certificate. </p>
<p>2. You must now create the certificate that you&#8217;ll use for SSL.&#160; Open the folder where you installed the WIF &amp; WA federation guide.&#160; In this folder you will find a folder called assets.&#160; Open a Visual Studio 2008 Command Prompt (choose to runas administrator) and run the command:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 10px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">CreateCert.cmd &lt;Azure Project service name&gt;</pre>
</pre>
<p>For example, this is what I ran:</p>
<p><a href="http://blog.wadewegner.com/wp-content/uploads/2009/10/image26.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="CreateCert.cmd" border="0" alt="CreateCert.cmd" src="http://blog.wadewegner.com/wp-content/uploads/2009/10/image26_thumb.png" width="490" height="58" /></a> </p>
<p>Note: you will have to enter the password &quot;abc!123&quot; multiple times.&#160; This is documented in the guide.&#160; Additionally, you will be prompted to install a certificate on your machine – click Yes.</p>
<p><a href="http://blog.wadewegner.com/wp-content/uploads/2009/10/image33.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Certification Authority" border="0" alt="Certification Authority" src="http://blog.wadewegner.com/wp-content/uploads/2009/10/image3_thumb2.png" width="350" height="299" /></a> </p>
<p>This process will create a number of files in the Assets folder, including:</p>
<ul>
<li>fedid.cloudapp.net.cer </li>
<li>fedid.cloudapp.net.pfx </li>
<li>fedid.cloudapp.net.pvk </li>
<li>encoder.out </li>
</ul>
<p>3. Create a new Visual Studio 2008 solution.&#160; Add a Cloud Service project, and create a Web Role.</p>
<p>4. Update the ServiceDefinition.csdef file to update the following:</p>
<ul>
<li>HTTPS protocol </li>
<li>Port 443 </li>
<li>enableNativeCodeExecution: true </li>
</ul>
<p>It should look like the following after the update:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;?</span>xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;<span style="color: #0000ff">?&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">ServiceDefinition</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;CloudService&quot;</span> <span style="color: #ff0000">xmlns</span>=<span style="color: #0000ff">&quot;http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition&quot;</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">  <span style="color: #0000ff">&lt;</span><span style="color: #800000">WebRole</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;Web&quot;</span> <span style="color: #ff0000">enableNativeCodeExecution</span>=<span style="color: #0000ff">&quot;true&quot;</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;</span><span style="color: #800000">InputEndpoints</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">      <span style="color: #008000">&lt;!-- Must use port 80 for http and port 443 for https when running in the cloud --&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">      <span style="color: #0000ff">&lt;</span><span style="color: #800000">InputEndpoint</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;HttpIn&quot;</span> <span style="color: #ff0000">protocol</span>=<span style="color: #0000ff">&quot;https&quot;</span> <span style="color: #ff0000">port</span>=<span style="color: #0000ff">&quot;443&quot;</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;/</span><span style="color: #800000">InputEndpoints</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;</span><span style="color: #800000">ConfigurationSettings</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">  <span style="color: #0000ff">&lt;/</span><span style="color: #800000">WebRole</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;/</span><span style="color: #800000">ServiceDefinition</span><span style="color: #0000ff">&gt;</span></pre>
</pre>
<p>5. Right-click the Cloud Service project, and choose Properties.&#160; Select the SSL tab.&#160; Enable both checkboxes, and select the certificate you generated from the store.&#160; Here&#8217;s what it looks like for me once I finished updating:</p>
<p>&#160;<a href="http://blog.wadewegner.com/wp-content/uploads/2009/10/image15.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SSL tab" border="0" alt="SSL tab" src="http://blog.wadewegner.com/wp-content/uploads/2009/10/image_thumb15.png" width="352" height="219" /></a>&#160; </p>
<p>6. Add the following references to your Web Role project:</p>
<ul>
<li>System.IdentityModel </li>
<li>Microsoft.IdentityModel </li>
<li>Microsoft.IdentityModelPlus (this is in the assets folder that was created by the guide) </li>
</ul>
<p>Make sure to set Copy Local true for Microsoft.IdentityModel and Microsoft.IdentityModelPlus so that they are added to your Windows Azure package.</p>
<p>7. Create a Global.asax file.</p>
<p>8. Update the Global.asax file so that you have the following using statements:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> System.IdentityModel.Selectors;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> System.IdentityModel.Tokens;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> System.Security.Cryptography.X509Certificates;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> Microsoft.IdentityModel;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> Microsoft.IdentityModel.Configuration;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> Microsoft.IdentityModel.Tokens;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> Microsoft.IdentityModel.Web;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> Microsoft.IdentityModel.Web.Configuration;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> Microsoft.IdentityModelPlus.Configuration;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> Microsoft.IdentityModelPlus.Tokens;</pre>
</pre>
<p>9. Add the following &quot;ServiceConfiguration_Created&quot; method:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">void</span> ServiceConfiguration_Created(<span style="color: #0000ff">object</span> sender, ServiceConfigurationCreatedEventArgs args)
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">{
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    ServiceConfiguration configuration = args.ServiceConfiguration;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    List&lt;CookieTransform&gt; sessionTransforms = <span style="color: #0000ff">new</span> List&lt;CookieTransform&gt;(<span style="color: #0000ff">new</span> CookieTransform[]
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">new</span> DeflateCookieTransform(), <span style="color: #0000ff">new</span> MachineKeyProtectionTransform()
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    });
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    SessionSecurityTokenHandler sessionHandler = <span style="color: #0000ff">new</span> SessionSecurityTokenHandler(sessionTransforms.AsReadOnly(), <span style="color: #0000ff">new</span> MruSecurityTokenCache());
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    configuration.SecurityTokenHandlers.AddOrReplace(sessionHandler);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    MicrosoftIdentityModelPlusSection plusConfiguration = MicrosoftIdentityModelPlusSection.Current;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">if</span> (plusConfiguration != <span style="color: #0000ff">null</span> &amp;&amp; plusConfiguration.ServiceCertificate.ElementInformation.IsPresent)
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        X509Certificate2 serviceCertificate = plusConfiguration.ServiceCertificate.GetCertificate();
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        SecurityToken serviceToken = <span style="color: #0000ff">new</span> X509SecurityToken(serviceCertificate);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        SecurityTokenResolver serviceResolver = SecurityTokenResolver.CreateDefaultSecurityTokenResolver(
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <span style="color: #0000ff">new</span> List&lt;SecurityToken&gt;(<span style="color: #0000ff">new</span> SecurityToken[] { serviceToken }).AsReadOnly(), <span style="color: #0000ff">false</span>);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        configuration.ServiceTokenResolver = serviceResolver;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">}</pre>
</pre>
<p>10. Add the following &quot;WSFederationAuthenticationModule_RedirectingToIdentityProvider&quot; method:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">void</span> WSFederationAuthenticationModule_RedirectingToIdentityProvider(<span style="color: #0000ff">object</span> sender, RedirectingToIdentityProviderEventArgs e)
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">{
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    Uri reqUrl = Request.Url;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    StringBuilder wreply = <span style="color: #0000ff">new</span> StringBuilder();
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    wreply.Append(reqUrl.Scheme);     <span style="color: #008000">// e.g. &quot;http&quot;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    wreply.Append(&quot;<span style="color: #8b0000">://</span>&quot;);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    wreply.Append(Request.Headers[&quot;<span style="color: #8b0000">Host</span>&quot;] ?? reqUrl.Authority);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    wreply.Append(Request.ApplicationPath);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">if</span> (!Request.ApplicationPath.EndsWith(&quot;<span style="color: #8b0000">/</span>&quot;))
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        wreply.Append(&quot;<span style="color: #8b0000">/</span>&quot;);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    e.SignInRequestMessage.Reply = wreply.ToString();
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">}</pre>
</pre>
<p>11. Update the &quot;Application_Start&quot; method so that it creates event handlers for the two previous methods:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">protected</span> <span style="color: #0000ff">void</span> Application_Start(<span style="color: #0000ff">object</span> sender, EventArgs e)
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">{
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    FederatedAuthentication.ServiceConfigurationCreated += <span style="color: #0000ff">this</span>.ServiceConfiguration_Created;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    FederatedAuthentication.WSFederationAuthenticationModule.RedirectingToIdentityProvider +=
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">new</span> EventHandler&lt;RedirectingToIdentityProviderEventArgs&gt;(WSFederationAuthenticationModule_RedirectingToIdentityProvider);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">}</pre>
</pre>
<p>12.&#160; You must now make some significant updates to the Web.Config file.&#160; This is probably the most challenging step, as it requires a number of updates.&#160; While I will walk through the details of the updates below, I am also including a <a href="http://cid-716f83c58a3bf96f.skydrive.live.com/self.aspx/Blog/ADFSandWA/Web.config" target="_blank">copy of my Web.Config file for your review on SkyDrive</a>.&#160; Please feel free to use it as a reference.&#160; Also, please note that (for simplicity) the code shown below includes values that my demo uses.&#160; You will have to update with your own values, and I have tried to call out where this is necessary.</p>
<p>13. Add the following to the &lt;configuration&gt;&lt;configSections&gt; &#8230; &lt;/configSections&gt;&lt;/configuration&gt;</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">section</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;microsoft.identityModel&quot;</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">&quot;Microsoft.IdentityModel.Configuration.MicrosoftIdentityModelSection, Microsoft.IdentityModel, Version=0.6.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">section</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;microsoft.identityModelPlus&quot;</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">&quot;Microsoft.IdentityModelPlus.Configuration.MicrosoftIdentityModelPlusSection, Microsoft.IdentityModelPlus&quot;</span> <span style="color: #ff0000">requirePermission</span>=<span style="color: #0000ff">&quot;false&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
</pre>
<p>14. Add the app key for the federation metadata location.&#160; You will have to update this value with your own XML file published by your ADFS v2 server.</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">appSettings</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">  <span style="color: #0000ff">&lt;</span><span style="color: #800000">add</span> <span style="color: #ff0000">key</span>=<span style="color: #0000ff">&quot;FederationMetadataLocation&quot;</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">&quot;https://corp2.sts.microsoft.com/FederationMetadata/2007-06/FederationMetadata.xml&quot;</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;/</span><span style="color: #800000">appSettings</span><span style="color: #0000ff">&gt;</span></pre>
</pre>
<p>15. After connectionStrings, add the following location path.</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">location</span> <span style="color: #ff0000">path</span>=<span style="color: #0000ff">&quot;FederationMetadata&quot;</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">  <span style="color: #0000ff">&lt;</span><span style="color: #800000">system.web</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;</span><span style="color: #800000">authorization</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">      <span style="color: #0000ff">&lt;</span><span style="color: #800000">allow</span> <span style="color: #ff0000">users</span>=<span style="color: #0000ff">&quot;*&quot;</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;/</span><span style="color: #800000">authorization</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">  <span style="color: #0000ff">&lt;/</span><span style="color: #800000">system.web</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;/</span><span style="color: #800000">location</span><span style="color: #0000ff">&gt;</span></pre>
</pre>
<p>16. Add the Microsoft.IdentityModel assembly.</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">add</span> <span style="color: #ff0000">assembly</span>=<span style="color: #0000ff">&quot;Microsoft.IdentityModel, Version=0.6.1.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
</pre>
</p>
<p>17. Configure the authorization and authentication.&#160; You may have to change existing values.</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">authorization</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">  <span style="color: #0000ff">&lt;</span><span style="color: #800000">deny</span> <span style="color: #ff0000">users</span>=<span style="color: #0000ff">&quot;?&quot;</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;/</span><span style="color: #800000">authorization</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">authentication</span> <span style="color: #ff0000">mode</span>=<span style="color: #0000ff">&quot;None&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
</pre>
<p>18. Add the WSFederationAuthenticationModule and SessionAuthenticationModule modules to &lt;httpModules&gt; &#8230; &lt;/httpModules&gt;.</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">add</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;WSFederationAuthenticationModule&quot;</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">&quot;Microsoft.IdentityModel.Web.WSFederationAuthenticationModule, Microsoft.IdentityModel, Version=0.6.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">add</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;SessionAuthenticationModule&quot;</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">&quot;Microsoft.IdentityModel.Web.SessionAuthenticationModule, Microsoft.IdentityModel, Version=0.6.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
</pre>
<p>19. Add the WSFederationAuthenticationModule and SessionAuthenticationModule modules to &lt;modules&gt; &#8230; &lt;/modules&gt;.</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">add</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;WSFederationAuthenticationModule&quot;</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">&quot;Microsoft.IdentityModel.Web.WSFederationAuthenticationModule, Microsoft.IdentityModel, Version=0.6.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span> <span style="color: #ff0000">preCondition</span>=<span style="color: #0000ff">&quot;managedHandler&quot;</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">add</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;SessionAuthenticationModule&quot;</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">&quot;Microsoft.IdentityModel.Web.SessionAuthenticationModule, Microsoft.IdentityModel, Version=0.6.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span> <span style="color: #ff0000">preCondition</span>=<span style="color: #0000ff">&quot;managedHandler&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
</pre>
<p>20. Add the microsoft.identityModel section.</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">microsoft.identityModel</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">  <span style="color: #0000ff">&lt;</span><span style="color: #800000">service</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;</span><span style="color: #800000">audienceUris</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">      <span style="color: #0000ff">&lt;</span><span style="color: #800000">add</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">&quot;https://fedid.cloudapp.net/&quot;</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;/</span><span style="color: #800000">audienceUris</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;</span><span style="color: #800000">federatedAuthentication</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">      <span style="color: #0000ff">&lt;</span><span style="color: #800000">wsFederation</span> <span style="color: #ff0000">passiveRedirectEnabled</span>=<span style="color: #0000ff">&quot;true&quot;</span> <span style="color: #ff0000">issuer</span>=<span style="color: #0000ff">&quot;https://corp2.sts.microsoft.com/FederationPassive/&quot;</span> <span style="color: #ff0000">realm</span>=<span style="color: #0000ff">&quot;https://fedid.cloudapp.net/&quot;</span> <span style="color: #ff0000">requireHttps</span>=<span style="color: #0000ff">&quot;true&quot;</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">      <span style="color: #0000ff">&lt;</span><span style="color: #800000">cookieHandler</span> <span style="color: #ff0000">requireSsl</span>=<span style="color: #0000ff">&quot;true&quot;</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;/</span><span style="color: #800000">federatedAuthentication</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;</span><span style="color: #800000">applicationService</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">      <span style="color: #0000ff">&lt;</span><span style="color: #800000">claimTypeRequired</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">&lt;</span><span style="color: #800000">claimType</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">&quot;http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name&quot;</span> <span style="color: #ff0000">optional</span>=<span style="color: #0000ff">&quot;true&quot;</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">&lt;</span><span style="color: #800000">claimType</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">&quot;http://schemas.microsoft.com/ws/2008/06/identity/claims/role&quot;</span> <span style="color: #ff0000">optional</span>=<span style="color: #0000ff">&quot;true&quot;</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">      <span style="color: #0000ff">&lt;/</span><span style="color: #800000">claimTypeRequired</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;/</span><span style="color: #800000">applicationService</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;</span><span style="color: #800000">issuerNameRegistry</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">&quot;Microsoft.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, Microsoft.IdentityModel, Version=0.6.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">      <span style="color: #0000ff">&lt;</span><span style="color: #800000">trustedIssuers</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">&lt;</span><span style="color: #800000">add</span> <span style="color: #ff0000">thumbprint</span>=<span style="color: #0000ff">&quot;A4010FC094ECEDE6C94EDE36315ADB3EEC876C8A&quot;</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;CN=corp2.sts.microsoft.com, OU=IAM, O=Microsoft, L=Redmond, S=wa, C=US&quot;</span> <span style="color: #0000ff">/&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">      <span style="color: #0000ff">&lt;/</span><span style="color: #800000">trustedIssuers</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">&lt;/</span><span style="color: #800000">issuerNameRegistry</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">  <span style="color: #0000ff">&lt;/</span><span style="color: #800000">service</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;/</span><span style="color: #800000">microsoft.identityModel</span><span style="color: #0000ff">&gt;</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
</pre>
<p>You will have to make a number of updates:</p>
<ul>
<li>Update &quot;fedid&quot; in &quot;https://fedid.cloudapp.net&quot; to your Windows Azure service name. </li>
<li>Update the wsFederation issuer to your ADFS v2 issuer. </li>
<li>Update the wsFederation realm so that it uses your Windows Azure service name. </li>
<li>Ensure that the claimTypeRequired claimTypes are valid. </li>
<li>Update the trustedIssures so that you have your ADFS v2 thumbprint and name.&#160; I did this by using tools that come with the Windows Identity Foundation tools.&#160; You can right-click an existing ASP.NET Web site project and select &quot;Modify STS Reference&#8230;&quot;.&#160; This will launch the Federation Utility wizard, and will help construct pieces of the Web.Config.&#160; On the second step, you can select &quot;Use an Existing STS&quot; and point it to your ADFS v2 endpoint.&#160; The tool will then generate a lot of the configuration for you, including the trustedIssuers thumbprint and name (see the image below). </li>
</ul>
<p><a href="http://blog.wadewegner.com/wp-content/uploads/2009/10/image331.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Federation Utility wizard" border="0" alt="Federation Utility wizard" src="http://blog.wadewegner.com/wp-content/uploads/2009/10/image33_thumb.png" width="350" height="262" /></a> </p>
<p>Note: this doesn&#8217;t need to be a publicly exposed ADFS server.&#160; In fact, if you don&#8217;t have a production IP address to use, you can download one sample (simple) IP STS included in the code downloaded from <a href="http://claimsid.codeplex.com/">http://claimsid.codeplex.com/</a>.</p>
<p>21. You need to add the Microsoft.IdentityModelPlus section to the Web.Config file.&#160; The CreateCert.cmd script you ran to generate the script has actually generated this section for you.&#160; You can get it out of the encoder.out file in the assets folder.</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">&lt;</span><span style="color: #800000">microsoft.identityModelPlus</span><span style="color: #0000ff">&gt;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">serviceCertificate</span><span style="color: #0000ff">&gt;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">certificate</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">&quot;fedid.cloudapp.net&quot;</span> <span style="color: #ff0000">password</span>=<span style="color: #0000ff">&quot;abc!123&quot;</span> <span style="color: #ff0000">encodedType</span>=<span style="color: #0000ff">&quot;pfx&quot;</span> <span style="color: #ff0000">encodedValue</span>=<span style="color: #0000ff">&quot;MIIGygIBAzCCBoYGCSqGSIb3DQEHAaCCBncEggZzMIIGbzCCA8AGCSqGSIb3DQEHAaCCA7EEggOtMIIDqTCCA6UGCyqGSIb3DQEMCgECoIICtjCCArIwHAYKKoZIhvcNAQwBAzAOBAg+lz0NqTYEFwICB9AEggKQ/shUmEoIDJpT0uOaQIkOfUsLfLwUNHtkm58I/fFb7OztUkISIHZm5QR3b9yH7mqg7VLj0LndB6r2+T2RZpq5U+jnlptBxyENzz3RAMIt8S7vVtT9L0OwiDXXeMWRXZpBGK/dwfwofMBsCCFV2FeLGyso2sUhqP7tstTWhybjM0JDSzVre9s/HGaQl8R+buPeGZWnZjOCqOYBNIoAxrPD1DjMgt2Q1CChk23rdirKnBFnp2khy+o2sV02PTJI8K4/QFgKTYOm+LbJG8rWuFi3U1aLxF7xUqfwCkNwaEyPodWBcAkhlWnKlbg77tPlhaONbYEJw9XhY4Ekwniu8WrNbl08xsKEVVNUZfTMYU4OnuusFxHsf0weuhrwlMnCQAMQkDUICWqDX2afV/oU5MnvDwYC8HftfaKhR68unfX+D1iS3ZspSpjrtQbdJU3GHsZmruqR1gmjbzwSJa0rf/ch4BWA+D4ciSlVFVFR+WBPB1fbLUbWv+3bLnwDCAmk2vNQ9YFQKWVYU4Ax9PulyX5Mu5ggmb0Hxl5wdaO2syiiIkylKNYmyreQ81WNRLwJmGKSmTZPJAovmT9YgH2kNdaC9K/9ZNbbyJSRTJNQix7zivrG5IS5n9OCLSNwoP9lK56ME3phYOa80F8r/lWsBP4otTaZQFC5g8uRnGcQ1WJcNEEghi1l0q4PM5Mtl3L2zaqQGa8pJqgaAcOyOC85rOTwQtnJEHUquH/yjqyZ8koCo44T9JHd7lVJKKJb2Fnwz1zVOM/rPoUZBwEJTuHBqlnVgyBldZDxUGg56L2My8ozhQ7dYWqsxfFe+fPzDNvjPvpMregGBqhEcP3W8YCzAOSyS0d7QN/MZNi4+6QwypRuckUxgdswEwYJKoZIhvcNAQkVMQYEBAEAAAAwXQYJKwYBBAGCNxEBMVAeTgBNAGkAYwByAG8AcwBvAGYAdAAgAFMAdAByAG8AbgBnACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcjBlBgkqhkiG9w0BCRQxWB5WAFAAdgBrAFQAbQBwADoAYwA2ADkANQA2ADIANAAzAC0AMQAyAGEAMAAtADQAMAA5ADcALQBhADIAOABjAC0AYgA1ADAAMQA3ADEAMQA3ADIAZgA1ADAwggKnBgkqhkiG9w0BBwagggKYMIIClAIBADCCAo0GCSqGSIb3DQEHATAcBgoqhkiG9w0BDAEGMA4ECHcGonbqlG+xAgIH0ICCAmADkVVOEzWeS3cNaqf0Zmv0xIszELOp4G62Bwl0HNd/uoKDnVBekLocMhlvLlgHwko6cCxCZ9LD0Hn7g9mK8P4VTGNk8G2I3CelBTy0nnHFw7DswRZxYluMQ4A4LHLuG6jo4B/rCaV2JaTDXmfiNvIAdIzIkFCV2Ue6ROSW4VdZFcbDdqjxXdZY4b6MuZMBLc3YLPYqKvyMuCfDYPIkA5jNxSJ6ODdV+Ed5DNuDWwO5fOjep7nqVwhU3J3V063SRBcF+KYZwb1RVE+SWxvOEb1nv2uoJdD9GPWIiH5E+3oAFayJU1APOC15jHJ+YXFq/i+/XnXI+JkkxUyVVLrJIDT7uIZSkv7zieVoTJK8Ze8V4gLge081f+wxy2RcQwajeSdR1YKzrVKzxrR7wfGC+R1oH1ldjZM7hw3+2C/UR5R6bHqt7D9C2R9mxfFUufEiFG5SoUItv+ZFHd9/x7Oe8TpcWY/yrwSkHr4UKBDYzfzgB8Q0LmCZfEt8MWWGutKL6OzCfBNZ4QM2Ltn2mrodD5kE2udAcocXBPTp/DAngMFxsIe7iNHpw/ulEjJx8EYPrtDvf8C/2y5APBYdEdqVozHlUMo8MWO2xx39hktyIqTYaMkTIwgFXCAaf3ZyZVOlj5YSqXiZpKmSU1RcNCTnYTN5uPjEurL1U24uPB/jVM6WjNO/azVAp5o+3PU2095I+X/Rtzfbou8o00tGosf42ETVA62A6OrfuKI1kNu5CHoRtr3PsMk3vCRc7FKbq86I5jW7jNmolmqOzQ0w0SxPPzxbouoikPtKFDmmSU81lTlFtzA7MB8wBwYFKw4DAhoEFLq6NYeOz/n0Dmg+5fWFBQZ6cOQRBBQ4290pYD9MhQO1jzFVfX3DeYLNiAICB9A=&quot;</span> <span style="color: #0000ff">/&gt;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">serviceCertificate</span><span style="color: #0000ff">&gt;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">microsoft.identityModelPlus</span><span style="color: #0000ff">&gt;</span></pre>
</pre>
<p>Note: this is only necessary because currently you cannot install certificates in Windows Azure.&#160; Expect this to change in the future.</p>
</p>
</p>
</p>
<p>22. Finally, as a way of confirming that everything is working and that the claims you expect are actually sent to your application, update the Default.aspx.cs file so that you iterate through the claims and write them to the browser.</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #ffffff; min-height: 40px; padding-left: 5px; width: 490px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> System;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> System.Collections.Generic;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> System.Linq;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> System.Web;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> System.Web.UI;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> System.Web.UI.WebControls;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> Microsoft.IdentityModel.Claims;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">using</span> System.Threading;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">namespace</span> Web
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">{
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">public</span> partial <span style="color: #0000ff">class</span> _Default : System.Web.UI.Page
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">protected</span> <span style="color: #0000ff">void</span> Page_Load(<span style="color: #0000ff">object</span> sender, EventArgs e)
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <span style="color: #0000ff">try</span>
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                IClaimsIdentity ici =
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                    Thread.CurrentPrincipal.Identity <span style="color: #0000ff">as</span> IClaimsIdentity;
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                <span style="color: #0000ff">foreach</span> (Claim c <span style="color: #0000ff">in</span> ici.Claims)
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                    Response.Write(c.ClaimType + &quot;<span style="color: #8b0000"> - </span>&quot; + c.Value + &quot;<span style="color: #8b0000">&lt;br/&gt;</span>&quot;);
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <span style="color: #0000ff">catch</span> (Exception ex)
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                Response.Write(ex.ToString());
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    }
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">}</pre>
</pre>
<p>And that&#8217;s it!&#160; Assuming that you have correctly followed the above steps, you&#8217;re ready to test!</p>
<p>Now, when you hit the endpoint on your ADFS v2 service, you will get redirected to <a href="https://fedid.cloudapp.net">https://fedid.cloudapp.net</a> (or whatever your URL is) because that&#8217;s what you specified as the realm for your identity federation.&#160; This means that, to test this locally, you need to update your hosts file so that fedid.cloudapp.net temporarily resolves locally.&#160; Otherwise, it will redirect to the cloud.&#160; I know we&#8217;ve spend years abhorring the hosts file, but sometimes it just works.</p>
<p><a href="http://blog.wadewegner.com/wp-content/uploads/2009/10/image39.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hosts" border="0" alt="hosts" src="http://blog.wadewegner.com/wp-content/uploads/2009/10/image39_thumb.png" width="350" height="214" /></a> </p>
<p>When you&#8217;re ready to run this in the cloud, simply package up your Windows Azure solution and publish.&#160; Remember that you will only be able to successfully test this in production, as the staging account uses a GUID for the URL alias.&#160; Also, if you&#8217;ve updated your hosts file, but sure and undo your changes so that you no longer resolve locally.</p>
<p>I hope you found this article valuable.&#160; Good luck!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WadeWegner?a=Cj8ALEHM-z0:1TBgTsNQ8DY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=Cj8ALEHM-z0:1TBgTsNQ8DY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=Cj8ALEHM-z0:1TBgTsNQ8DY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=Cj8ALEHM-z0:1TBgTsNQ8DY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=Cj8ALEHM-z0:1TBgTsNQ8DY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=Cj8ALEHM-z0:1TBgTsNQ8DY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=Cj8ALEHM-z0:1TBgTsNQ8DY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/WadeWegner?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WadeWegner?a=Cj8ALEHM-z0:1TBgTsNQ8DY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/WadeWegner?i=Cj8ALEHM-z0:1TBgTsNQ8DY:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/WadeWegner/~4/Cj8ALEHM-z0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.wadewegner.com/index.php/2009/10/09/passive-federation-with-windows-azure-and-adfs-v2-codenamed-geneva-server/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.wadewegner.com/index.php/2009/10/09/passive-federation-with-windows-azure-and-adfs-v2-codenamed-geneva-server/</feedburner:origLink></item>
	</channel>
</rss>
