<?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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>dasBlonde</title>
    <link>http://www.dasblonde.net/</link>
    <description />
    <language>en-us</language>
    <copyright>Michele Leroux Bustamante</copyright>
    <lastBuildDate>Thu, 02 Jul 2009 15:31:19 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6315.0</generator>
    <managingEditor>mlb@dasblonde.net</managingEditor>
    <webMaster>mlb@dasblonde.net</webMaster>
    <image><link>http://www.dasblonde.net</link><url>http://www.thatindigogirl.com/slices/dasblonde.jpg</url><title>DasBlone</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/dasblonde" type="application/rss+xml" /><item>
      <trackback:ping>http://www.dasblonde.net/Trackback.aspx?guid=b1b8d45e-9232-404a-aa8e-e5c7665cf754</trackback:ping>
      <pingback:server>http://www.dasblonde.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.dasblonde.net/PermaLink,guid,b1b8d45e-9232-404a-aa8e-e5c7665cf754.aspx</pingback:target>
      <dc:creator>Michele Leroux Bustamante</dc:creator>
      <wfw:comment>http://www.dasblonde.net/CommentView,guid,b1b8d45e-9232-404a-aa8e-e5c7665cf754.aspx</wfw:comment>
      <wfw:commentRss>http://www.dasblonde.net/SyndicationService.asmx/GetEntryCommentsRss?guid=b1b8d45e-9232-404a-aa8e-e5c7665cf754</wfw:commentRss>
      <slash:comments>6</slash:comments>
      
      <title>Exception Handling Proxy - eating your own dog food</title>
      <guid isPermaLink="false">http://www.dasblonde.net/PermaLink,guid,b1b8d45e-9232-404a-aa8e-e5c7665cf754.aspx</guid>
      <link>http://feedproxy.google.com/~r/dasblonde/~3/P9xhMkBmiSI/ExceptionHandlingProxyEatingYourOwnDogFood.aspx</link>
      <pubDate>Thu, 02 Jul 2009 15:31:19 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
The cool thing about creating an add-in for my exception handling proxy is that now&#xD;
it makes it easier for me to use it all the time when I create sample projects. Before,&#xD;
I would have to copy and paste the base type and hand-build the proxy, and this just&#xD;
wasn't realistic. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
I'm blogging this because of course this also means I will uncover any bugs or missing&#xD;
features more quickly since I'm trying to use it everywhere. One such thing was that&#xD;
a change I made to my proxy wrapper to automate creating the channel in the constructor&#xD;
actually had a nasty side-effect that didn't surface until I tried to use it for a&#xD;
federated security sample. ClientCredentials was not accessible since the channel&#xD;
was already created. My bad. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
I have since updated the proxy generator here: &lt;a href="http://wcfproxygenerator.codeplex.com"&gt;http://wcfproxygenerator.codeplex.com&lt;/a&gt; and&#xD;
there is a new release that includes the add-in sources in case you want to change&#xD;
how that works. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
Even though I've been using this wrapper code in different incarnations for years,&#xD;
I am going to leave the codeplex site in Beta until I have tested with more scenarios.&#xD;
I think it is pretty stable though...aside from that little bug I introduced at the&#xD;
last minute. New code = more testing.&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
I'm loving using this everywhere, I hope you do to!&#xD;
&lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.dasblonde.net/aggbug.ashx?id=b1b8d45e-9232-404a-aa8e-e5c7665cf754"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=P9xhMkBmiSI:chYoiUh_tFM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=P9xhMkBmiSI:chYoiUh_tFM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=P9xhMkBmiSI:chYoiUh_tFM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=P9xhMkBmiSI:chYoiUh_tFM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=P9xhMkBmiSI:chYoiUh_tFM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=P9xhMkBmiSI:chYoiUh_tFM:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=P9xhMkBmiSI:chYoiUh_tFM:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <comments>http://www.dasblonde.net/CommentView,guid,b1b8d45e-9232-404a-aa8e-e5c7665cf754.aspx</comments>
    <feedburner:origLink>http://www.dasblonde.net/2009/07/02/ExceptionHandlingProxyEatingYourOwnDogFood.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://www.dasblonde.net/Trackback.aspx?guid=5c9628ba-3080-4b28-8e96-e436ffdf4c13</trackback:ping>
      <pingback:server>http://www.dasblonde.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.dasblonde.net/PermaLink,guid,5c9628ba-3080-4b28-8e96-e436ffdf4c13.aspx</pingback:target>
      <dc:creator>Michele Leroux Bustamante</dc:creator>
      <wfw:comment>http://www.dasblonde.net/CommentView,guid,5c9628ba-3080-4b28-8e96-e436ffdf4c13.aspx</wfw:comment>
      <wfw:commentRss>http://www.dasblonde.net/SyndicationService.asmx/GetEntryCommentsRss?guid=5c9628ba-3080-4b28-8e96-e436ffdf4c13</wfw:commentRss>
      
      <title>Using FindBySubjectDistinguishedName</title>
      <guid isPermaLink="false">http://www.dasblonde.net/PermaLink,guid,5c9628ba-3080-4b28-8e96-e436ffdf4c13.aspx</guid>
      <link>http://feedproxy.google.com/~r/dasblonde/~3/LLbED_HTGNE/UsingFindBySubjectDistinguishedName.aspx</link>
      <pubDate>Wed, 01 Jul 2009 21:15:03 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
I have never run into this problem before, but I just realized that in WCF applications&#xD;
when I provide a certificate reference with FindBySubjectName - it can fail if you&#xD;
have two similarly named (not identical) certificates. I don't think this is by design,&#xD;
it has to be a bug, but I found a workaround.&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
Short and Sweet...here it is. If I have a certificate reference like this for "RP":&#xD;
&lt;/p&gt;&#xD;
        &lt;pre class="csharpcode"&gt;&amp;lt;certificateReference findValue=&lt;span class="str"&gt;"RP"&lt;/span&gt; storeLocation=&lt;span class="str"&gt;"LocalMachine"&lt;/span&gt; storeName=&lt;span class="str"&gt;"My"&lt;/span&gt; x509FindType=&lt;span class="str"&gt;"FindBySubjectName"&lt;/span&gt;/&amp;gt;&lt;/pre&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;style type="text/css"&gt;&#xD;
.csharpcode, .csharpcode pre&#xD;
{&#xD;
	font-size: small;&#xD;
	color: black;&#xD;
	font-family: consolas, "Courier New", courier, monospace;&#xD;
	background-color: #ffffff;&#xD;
	/*white-space: pre;*/&#xD;
}&#xD;
.csharpcode pre { margin: 0em; }&#xD;
.csharpcode .rem { color: #008000; }&#xD;
.csharpcode .kwrd { color: #0000ff; }&#xD;
.csharpcode .str { color: #006080; }&#xD;
.csharpcode .op { color: #0000c0; }&#xD;
.csharpcode .preproc { color: #cc6633; }&#xD;
.csharpcode .asp { background-color: #ffff00; }&#xD;
.csharpcode .html { color: #800000; }&#xD;
.csharpcode .attr { color: #ff0000; }&#xD;
.csharpcode .alt &#xD;
{&#xD;
	background-color: #f4f4f4;&#xD;
	width: 100%;&#xD;
	margin: 0em;&#xD;
}&#xD;
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
But, I also have a cert named "RPSTS" in the same cert store, the lookup&#xD;
fails because it can't find a unique cert by the name RP. I don't know about you but&#xD;
I think "RP" and "RPSTS" are pretty unique...but not as far as&#xD;
WCF is concerned. I usually use FIndByThumbprint for production code, but for code&#xD;
samples and reference materials I want it to be obvious which cert we are dealing&#xD;
with, it is hard enough to trouble-shoot certs without having to look up thumbprints&#xD;
every time.&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
A workaround for this is to use FindBySubjectDistinguishedName so this works even&#xD;
if I have "CN=RP" and "CN=RPSTS" in my cert store.&#xD;
&lt;/p&gt;&#xD;
        &lt;pre class="csharpcode"&gt;&amp;lt;certificateReference findValue=&lt;span class="str"&gt;"CN=RP"&lt;/span&gt; storeLocation=&lt;span class="str"&gt;"LocalMachine"&lt;/span&gt; storeName=&lt;span class="str"&gt;"My"&lt;/span&gt; x509FindType=&lt;span class="str"&gt;"FindBySubjectDistinguishedName"&lt;/span&gt;/&amp;gt;&lt;/pre&gt;&#xD;
        &lt;style type="text/css"&gt;&#xD;
.csharpcode, .csharpcode pre&#xD;
{&#xD;
	font-size: small;&#xD;
	color: black;&#xD;
	font-family: consolas, "Courier New", courier, monospace;&#xD;
	background-color: #ffffff;&#xD;
	/*white-space: pre;*/&#xD;
}&#xD;
.csharpcode pre { margin: 0em; }&#xD;
.csharpcode .rem { color: #008000; }&#xD;
.csharpcode .kwrd { color: #0000ff; }&#xD;
.csharpcode .str { color: #006080; }&#xD;
.csharpcode .op { color: #0000c0; }&#xD;
.csharpcode .preproc { color: #cc6633; }&#xD;
.csharpcode .asp { background-color: #ffff00; }&#xD;
.csharpcode .html { color: #800000; }&#xD;
.csharpcode .attr { color: #ff0000; }&#xD;
.csharpcode .alt &#xD;
{&#xD;
	background-color: #f4f4f4;&#xD;
	width: 100%;&#xD;
	margin: 0em;&#xD;
}&#xD;
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&#xD;
        &lt;p&gt;&#xD;
Shweet!&#xD;
&lt;/p&gt;&#xD;
        &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a7a1f874-f3a7-49b5-b220-144f662beff1" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati&#xD;
Tags: &lt;a href="http://technorati.com/tags/WCF" rel="tag"&gt;WCF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Certificates" rel="tag"&gt;Certificates&lt;/a&gt;&lt;/div&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.dasblonde.net/aggbug.ashx?id=5c9628ba-3080-4b28-8e96-e436ffdf4c13"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=LLbED_HTGNE:WNjyELWxy_8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=LLbED_HTGNE:WNjyELWxy_8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=LLbED_HTGNE:WNjyELWxy_8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=LLbED_HTGNE:WNjyELWxy_8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=LLbED_HTGNE:WNjyELWxy_8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=LLbED_HTGNE:WNjyELWxy_8:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=LLbED_HTGNE:WNjyELWxy_8:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <comments>http://www.dasblonde.net/CommentView,guid,5c9628ba-3080-4b28-8e96-e436ffdf4c13.aspx</comments>
      <category>WCF</category>
    <feedburner:origLink>http://www.dasblonde.net/2009/07/01/UsingFindBySubjectDistinguishedName.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://www.dasblonde.net/Trackback.aspx?guid=47fd9533-82f7-4db5-8410-d589016b788a</trackback:ping>
      <pingback:server>http://www.dasblonde.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.dasblonde.net/PermaLink,guid,47fd9533-82f7-4db5-8410-d589016b788a.aspx</pingback:target>
      <dc:creator>Michele Leroux Bustamante</dc:creator>
      <wfw:comment>http://www.dasblonde.net/CommentView,guid,47fd9533-82f7-4db5-8410-d589016b788a.aspx</wfw:comment>
      <wfw:commentRss>http://www.dasblonde.net/SyndicationService.asmx/GetEntryCommentsRss?guid=47fd9533-82f7-4db5-8410-d589016b788a</wfw:commentRss>
      
      <title>Giving WPF Some Love</title>
      <guid isPermaLink="false">http://www.dasblonde.net/PermaLink,guid,47fd9533-82f7-4db5-8410-d589016b788a.aspx</guid>
      <link>http://feedproxy.google.com/~r/dasblonde/~3/gDwejeMila8/GivingWPFSomeLove.aspx</link>
      <pubDate>Wed, 24 Jun 2009 18:03:54 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;em&gt;Updated: 01/07/09 - adding WPF localization link below, and the others are really&#xD;
close...just final details taking forever&lt;/em&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
If you know where my technology focus lies you might be surprised to see the term&#xD;
WPF in my blog...I know, it's weird. But not really! You see I have been working on&#xD;
a rather large project to give WPF some love as it relates to my world - which means&#xD;
WCF, federated security, globalization/localization, and ClickOnce. Another part of&#xD;
this "client love" is WCF for mobile devices. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
So far, I have the following projects published and ready to go:&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
WCF Guidance for Mobile Developers: &lt;a href="http://wcfguidanceformobile.codeplex.com"&gt;http://wcfguidanceformobile.codeplex.com&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&#xD;
This is fully legit! I worked with Nick Landry to bring the mobile love into this&#xD;
paper...and it is a word of art I think because the community has been really crying&#xD;
out for this content. Here you'll find a whitepaper and lots of code samples. &#xD;
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
WCF Guidance for WPF Developers: &lt;a href="http://wcfguidanceforwpf.codeplex.com"&gt;http://wcfguidanceforwpf.codeplex.com&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&#xD;
This site has a whitepaper, code samples and a short webcast series to bring WPF developers&#xD;
up to speed on necessary WCF topics. Some of it is intro, some of it is help to avoid&#xD;
common issues including proxies and exception handling, multithreading, proxy lifetime&#xD;
management, etc. &#xD;
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
WPF ServiceHost: &lt;a href="http://wpfservicehost.codeplex.com"&gt;http://wpfservicehost.codeplex.com&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&#xD;
This site has a few templates for WPF developers that need to either a) host a service&#xD;
in their client app, or b) host a service in their client app as part of a pub-sub&#xD;
scenario. Even if you don't need it today, check out the templates and tell me what&#xD;
you think on the codeplex site! &#xD;
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Exception Handling WCF Proxy Generator: &lt;a href="http://wcfproxygenerator.codeplex.com"&gt;http://wcfproxygenerator.codeplex.com&lt;/a&gt;&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
This has to be one of my favorite installments to this series! I have been using an&#xD;
evolving flavor of an exception handling proxy for years now, to help with proxy lifetime&#xD;
management and to hide unwanted exception from the user such as session timeouts or&#xD;
faulted channels that are not due to any serious communication issues. Basically,&#xD;
recreate the channel when it fails and try to recover. I finally (with the help of&#xD;
my friend Buddhike de Silva) put this into a nice Visual Studio Add-In. It currently&#xD;
works on Service References only, but I plan to add value later by making it work&#xD;
on any service contract in your solution...I'd love to know what you think of this&#xD;
one! &#xD;
&lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
          &lt;li&gt;&#xD;
WPF Localization Guidance: &lt;a href="http://wpflocalization.codeplex.com"&gt;http://wpflocalization.codeplex.com&lt;/a&gt;&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
There isn't much guidance for WPF and there are some choices to make that require&#xD;
explanation indeed. Rich Strahl, a good friend and one of the few people I know who&#xD;
care about localization as well, did most of the work on this paper. There may be&#xD;
some additions to this over the next few months as well. &#xD;
&lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
There are a few more installments to come with this massive project. In the next week&#xD;
or so you'll see the following items that I have already well under way:&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
WPF and ClickOnce &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;strike&gt;WPF localization guidance &lt;/strike&gt;&#xD;
          &lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
WPF and CardSpace &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
WPF and claims-based/federated security scenarios &#xD;
&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
Enjoy!&#xD;
&lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.dasblonde.net/aggbug.ashx?id=47fd9533-82f7-4db5-8410-d589016b788a"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=gDwejeMila8:Gyp6KIOmt6w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=gDwejeMila8:Gyp6KIOmt6w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=gDwejeMila8:Gyp6KIOmt6w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=gDwejeMila8:Gyp6KIOmt6w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=gDwejeMila8:Gyp6KIOmt6w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=gDwejeMila8:Gyp6KIOmt6w:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=gDwejeMila8:Gyp6KIOmt6w:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <comments>http://www.dasblonde.net/CommentView,guid,47fd9533-82f7-4db5-8410-d589016b788a.aspx</comments>
    <feedburner:origLink>http://www.dasblonde.net/2009/06/24/GivingWPFSomeLove.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://www.dasblonde.net/Trackback.aspx?guid=b94c13c8-f3d5-46c3-82be-c5c743f1184b</trackback:ping>
      <pingback:server>http://www.dasblonde.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.dasblonde.net/PermaLink,guid,b94c13c8-f3d5-46c3-82be-c5c743f1184b.aspx</pingback:target>
      <dc:creator>Michele Leroux Bustamante</dc:creator>
      <wfw:comment>http://www.dasblonde.net/CommentView,guid,b94c13c8-f3d5-46c3-82be-c5c743f1184b.aspx</wfw:comment>
      <wfw:commentRss>http://www.dasblonde.net/SyndicationService.asmx/GetEntryCommentsRss?guid=b94c13c8-f3d5-46c3-82be-c5c743f1184b</wfw:commentRss>
      <slash:comments>4</slash:comments>
      
      <title>NDC 2009 - Get the code!</title>
      <guid isPermaLink="false">http://www.dasblonde.net/PermaLink,guid,b94c13c8-f3d5-46c3-82be-c5c743f1184b.aspx</guid>
      <link>http://feedproxy.google.com/~r/dasblonde/~3/HNmhK318IQY/NDC2009GetTheCode.aspx</link>
      <pubDate>Tue, 23 Jun 2009 14:33:16 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
I just returned from Oslo, Norway from the annual NDC. This was my first time speaking&#xD;
there but it was a really great venue in a stadium setup - and as always the organizers&#xD;
at Program Utvikling did a fantastic job....I will definitely go back! Great conference!&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
As promised here are links to the code samples for each sessions, and a PDF of the&#xD;
slide decks. Any questions? Email me!&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
All PDFs are zipped up here: &lt;a href="http://www.dasblonde.net/downloads/NDCSlides.zip"&gt;http://www.dasblonde.net/downloads/NDCSlides.zip&lt;/a&gt;&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;strong&gt;A Lap Around Geneva Framework&lt;/strong&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
I wrote two MSDN articles on this subject but the sample code is out of date so get&#xD;
he updated code sample here: &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;ul&gt;&#xD;
              &lt;li&gt;&#xD;
Geneva FW Claims-Based; &lt;a href="http://www.dasblonde.net/ct.ashx?id=710151ee-e4e7-4aa8-93f6-b677f2777474&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fen-us%2fmagazine%2fdd278426.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd278426.aspx&lt;/a&gt;&lt;/li&gt;&#xD;
              &lt;li&gt;&#xD;
Geneva FW Custom STS: &lt;a href="http://msdn.microsoft.com/en-us/magazine/2009.01.genevests.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/2009.01.genevests.aspx&lt;/a&gt;&lt;/li&gt;&#xD;
              &lt;li&gt;&#xD;
I used the templates for some live demos, and here is my active STS sample updated&#xD;
for the latest CTP: &lt;a href="http://www.dasblonde.net/downloads/GenevaFrameworkSamples.zip"&gt;http://www.dasblonde.net/downloads/GenevaFrameworkSamples.zip&lt;/a&gt;&lt;/li&gt;&#xD;
            &lt;/ul&gt;&#xD;
          &lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;strong&gt;Access Control Service&lt;/strong&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
Active and passive sample: &lt;a href="http://www.dasblonde.net/downlaods/ACSSamples.zip"&gt;http://www.dasblonde.net/downlaods/ACSSamples.zip&lt;/a&gt;&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;strong&gt;WCF Routers&lt;/strong&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;p&gt;&#xD;
I wrote a few articles for MSDN earlier this year that might be helpful: &#xD;
&lt;/p&gt;&#xD;
            &lt;ul&gt;&#xD;
              &lt;li&gt;&#xD;
                &lt;a href="http://www.dasblonde.net/ct.ashx?id=097c9c78-f29b-4d58-98eb-c965fcc2501d&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fen-us%2fmagazine%2fcc500646.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/cc500646.aspx&lt;/a&gt;&#xD;
              &lt;/li&gt;&#xD;
              &lt;li&gt;&#xD;
                &lt;a href="http://www.dasblonde.net/ct.ashx?id=097c9c78-f29b-4d58-98eb-c965fcc2501d&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fen-us%2fmagazine%2fcc546553.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/cc546553.aspx&lt;/a&gt;&#xD;
              &lt;/li&gt;&#xD;
            &lt;/ul&gt;&#xD;
            &lt;ul&gt;&#xD;
              &lt;li&gt;&#xD;
My latest routing code is here: &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.dasblonde.net/ct.ashx?id=097c9c78-f29b-4d58-98eb-c965fcc2501d&amp;amp;url=http%3a%2f%2fwww.dasblonde.net%2fdownloads%2frouters.zip"&gt;http://www.dasblonde.net/downloads/routers.zip&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
            &lt;/ul&gt;&#xD;
          &lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
WCF 4 Router (and other) demos: &lt;a href="http://www.dasblonde.net/downloads/WCF4Demos.zip"&gt;http://www.dasblonde.net/downloads/WCF4Demos.zip&lt;/a&gt;&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;strong&gt;Choosing the right Data Access Technology&lt;/strong&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
I updated my Tech Ed demos to include what I added for this session: &lt;a href="http://www.dasblonde.net/downloads/DataAccessDemoTechEd09.zip"&gt;http://www.dasblonde.net/downloads/DataAccessDemoTechEd09.zip&lt;/a&gt;&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;strong&gt;Azure Session and Tutorial&lt;/strong&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
Lots of live demos, others are here and also see the ACS demos earlier in this post: &lt;a href="http://www.dasblonde.net/downloads/CloudTutorialSamplesMLB.zip"&gt;http://www.dasblonde.net/downloads/CloudTutorialSamplesMLB.zip&lt;/a&gt;&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.dasblonde.net/aggbug.ashx?id=b94c13c8-f3d5-46c3-82be-c5c743f1184b"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=HNmhK318IQY:1l2u1HD34i0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=HNmhK318IQY:1l2u1HD34i0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=HNmhK318IQY:1l2u1HD34i0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=HNmhK318IQY:1l2u1HD34i0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=HNmhK318IQY:1l2u1HD34i0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=HNmhK318IQY:1l2u1HD34i0:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=HNmhK318IQY:1l2u1HD34i0:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <comments>http://www.dasblonde.net/CommentView,guid,b94c13c8-f3d5-46c3-82be-c5c743f1184b.aspx</comments>
    <feedburner:origLink>http://www.dasblonde.net/2009/06/23/NDC2009GetTheCode.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://www.dasblonde.net/Trackback.aspx?guid=51e334ad-b1eb-4587-afdc-88bc487ef5b6</trackback:ping>
      <pingback:server>http://www.dasblonde.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.dasblonde.net/PermaLink,guid,51e334ad-b1eb-4587-afdc-88bc487ef5b6.aspx</pingback:target>
      <dc:creator>Michele Leroux Bustamante</dc:creator>
      <wfw:comment>http://www.dasblonde.net/CommentView,guid,51e334ad-b1eb-4587-afdc-88bc487ef5b6.aspx</wfw:comment>
      <wfw:commentRss>http://www.dasblonde.net/SyndicationService.asmx/GetEntryCommentsRss?guid=51e334ad-b1eb-4587-afdc-88bc487ef5b6</wfw:commentRss>
      <slash:comments>4</slash:comments>
      
      <title>Tech Ed - Get the code!!!!</title>
      <guid isPermaLink="false">http://www.dasblonde.net/PermaLink,guid,51e334ad-b1eb-4587-afdc-88bc487ef5b6.aspx</guid>
      <link>http://feedproxy.google.com/~r/dasblonde/~3/HXA-su_CH_k/TechEdGetTheCode.aspx</link>
      <pubDate>Fri, 22 May 2009 17:31:34 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
Here is my slightly belated session post from Tech Ed last week, including code samples&#xD;
for my tutorial (with Zoiner Tejada) and two other sessions. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
Tutorial: WCF 4 + WF 4 + Dublin&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
Zoiner's WF code is posted here: &lt;a href="http://www.theworkflowelement.com/2009/05/teched-2009-sample-code-a-day-of-wcf-wf-dublin-precon.html"&gt;http://www.theworkflowelement.com/2009/05/teched-2009-sample-code-a-day-of-wcf-wf-dublin-precon.html&lt;/a&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Our Buzz Shoppe demo illustrating WCF Workflow Services and Dublin features is posted&#xD;
here: &lt;a href="http://www.dasblonde.net/downloads/TheBuzzShoppeDublin.zip"&gt;http://www.dasblonde.net/downloads/TheBuzzShoppeDublin.zip&lt;/a&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
My WCF 4 demos on routing and discovery are here: &lt;a href="http://www.dasblonde.net/downloads/WCF4Demos.zip"&gt;http://www.dasblonde.net/downloads/WCF4Demos.zip&lt;/a&gt;&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
DTL201 - A Strategic Comparison of Data Access Technologies&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
Here are the samples: &lt;a href="http://www.dasblonde.net/downloads/DataAccessDemosTechEd09.zip"&gt;http://www.dasblonde.net/downloads/DataAccessDemosTechEd09.zip&lt;/a&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Also, see the ASP.NET AJAX 4 Preview 4 samples which shows cool new ways to data bind&#xD;
to web services and ADO.NET Data Services &#xD;
&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
SOA309 - WCF Load Balancing and Scalability&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
SSL processing samples are here: &lt;a href="http://www.dasblonde.net/downloads/loadbalancing.zip"&gt;http://www.dasblonde.net/downloads/loadbalancing.zip&lt;/a&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Proxy caching and exception handling samples are here: &lt;a href="http://www.dasblonde.net/downloads/proxies.zip"&gt;http://www.dasblonde.net/downloads/proxies.zip&lt;/a&gt;&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.dasblonde.net/aggbug.ashx?id=51e334ad-b1eb-4587-afdc-88bc487ef5b6"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=HXA-su_CH_k:oWd0r-RbiVs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=HXA-su_CH_k:oWd0r-RbiVs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=HXA-su_CH_k:oWd0r-RbiVs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=HXA-su_CH_k:oWd0r-RbiVs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=HXA-su_CH_k:oWd0r-RbiVs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=HXA-su_CH_k:oWd0r-RbiVs:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=HXA-su_CH_k:oWd0r-RbiVs:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <comments>http://www.dasblonde.net/CommentView,guid,51e334ad-b1eb-4587-afdc-88bc487ef5b6.aspx</comments>
    <feedburner:origLink>http://www.dasblonde.net/2009/05/22/TechEdGetTheCode.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://www.dasblonde.net/Trackback.aspx?guid=2311e2c4-4549-43cb-a545-28ae6ee921f6</trackback:ping>
      <pingback:server>http://www.dasblonde.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.dasblonde.net/PermaLink,guid,2311e2c4-4549-43cb-a545-28ae6ee921f6.aspx</pingback:target>
      <dc:creator>Michele Leroux Bustamante</dc:creator>
      <wfw:comment>http://www.dasblonde.net/CommentView,guid,2311e2c4-4549-43cb-a545-28ae6ee921f6.aspx</wfw:comment>
      <wfw:commentRss>http://www.dasblonde.net/SyndicationService.asmx/GetEntryCommentsRss?guid=2311e2c4-4549-43cb-a545-28ae6ee921f6</wfw:commentRss>
      <title>Updating ACS Samples for the March CTP</title>
      <guid isPermaLink="false">http://www.dasblonde.net/PermaLink,guid,2311e2c4-4549-43cb-a545-28ae6ee921f6.aspx</guid>
      <link>http://feedproxy.google.com/~r/dasblonde/~3/5krA6qFtMjw/UpdatingACSSamplesForTheMarchCTP.aspx</link>
      <pubDate>Sat, 18 Apr 2009 03:34:56 GMT</pubDate>
      <description>&lt;p&gt;
A new CTP was released for .NET Services in March and as I update my Access Control
Service (ACS) samples to reflect changes I thought I might post the relevant changes
here to save all 5 of you devoted blog readers some time.
&lt;/p&gt;
&lt;p&gt;
First off, the ACS has a new certificate, which means your web sites and WCF services
that rely on ACS tokens must update their configuration to reflect the new thumbprint.
The old thumbprint was 416e6fa5d982b096931fbf42c4a3dcd608856c95, and the new thumbprint
is 6DE1689A739D548A5690DBC3894B953EF6123D93. So, if you provide trusted issuers in
configuration, your &amp;lt;microsoft.identityModel&amp;gt; configuration must be updated
to reflect this: 
&lt;/p&gt;
&lt;p&gt;
&amp;lt;microsoft.identityModel&amp;gt; 
&lt;br /&gt;
&amp;#160; &amp;lt;issuerNameRegistry type=&amp;quot;Microsoft.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry&amp;quot;&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; &amp;lt;trustedIssuers&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;add name=&lt;a href="http://{yoursolutionname}.accesscontrol.windows.net"&gt;http://{yoursolutionname}.accesscontrol.windows.net&lt;/a&gt; thumbprint=&amp;quot;6DE1689A739D548A5690DBC3894B953EF6123D93&amp;quot;/&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; &amp;lt;/trustedIssuers&amp;gt; 
&lt;br /&gt;
&amp;#160; &amp;lt;/issuerNameRegistry&amp;gt; 
&lt;/p&gt;
&lt;p&gt;
...more settings
&lt;/p&gt;
&lt;p&gt;
&amp;lt;/microsoft.identityModel&amp;gt;
&lt;/p&gt;
&lt;p&gt;
If your trusted issuers are handled with a custom IssuerNameRegistry component, you
might do something like this:
&lt;/p&gt;
&lt;p&gt;
&amp;lt;issuerNameRegistry type=&amp;quot;TrustedIssuerNameRegistry&amp;quot;/&amp;gt;
&lt;/p&gt;
&lt;p&gt;
and the component: 
&lt;/p&gt;
&lt;p&gt;
public class TrustedIssuerNameRegistry : IssuerNameRegistry 
&lt;br /&gt;
{ 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; public override string GetIssuerName(SecurityToken securityToken) 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; { 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; X509SecurityToken x509Token = securityToken
as X509SecurityToken; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (x509Token != null) 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (String.Equals(x509Token.Certificate.Thumbprint,
&amp;quot;6DE1689A739D548A5690DBC3894B953EF6123D93&amp;quot;)) 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;
return x509Token.Certificate.SubjectName.Name; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; throw new SecurityTokenException(&amp;quot;Untrusted
issuer.&amp;quot;); 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; } 
&lt;br /&gt;
}
&lt;/p&gt;
&lt;p&gt;
Another change is the issuer URI format for your hosted STS. What used to be: &lt;a title="http://bustacloud.accesscontrol.windows.net" href="http://accesscontrol.windows.net/{yoursolutionname"&gt;http://accesscontrol.windows.net/{yoursolutionname&lt;/a&gt;}
is now &lt;a title="http://bustacloud.accesscontrol.windows.net" href="http://{yoursolutionname}.accesscontrol.windows.net"&gt;http://{yoursolutionname}.accesscontrol.windows.net&lt;/a&gt;.
Although this may not be an exhaustive list since likely every place you use your
solution URI you will have to update this...here are some things I had to update related
to the ACS:
&lt;/p&gt;
&lt;p&gt;
1. Declarative trusted issuer entries (this value is used when the ClaimsPrincipal
is generated, as the issuer for those claims):
&lt;/p&gt;
&lt;p&gt;
&amp;lt;issuerNameRegistry type=&amp;quot;Microsoft.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry&amp;quot;&amp;gt; 
&lt;br /&gt;
&amp;#160; &amp;lt;trustedIssuers&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; &amp;lt;add name=&lt;a href="http://{yoursolutionname}.accesscontrol.windows.net"&gt;http://{yoursolutionname}.accesscontrol.windows.net&lt;/a&gt; thumbprint=&amp;quot;6DE1689A739D548A5690DBC3894B953EF6123D93&amp;quot;/&amp;gt; 
&lt;br /&gt;
&amp;#160; &amp;lt;/trustedIssuers&amp;gt; 
&lt;br /&gt;
&amp;lt;/issuerNameRegistry&amp;gt; 
&lt;/p&gt;
&lt;p&gt;
2. Addressing your passive STS URI, which in this example is the URI for passive federation
with Live ID (I am told this will later change to Federation.aspx for all passive
federation URI):
&lt;/p&gt;
&lt;p&gt;
&amp;#160; &amp;lt;microsoft.identityModel&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;federatedAuthentication enabled=&amp;quot;true&amp;quot;&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;wsFederation
passiveRedirectEnabled=&amp;quot;true&amp;quot; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;
issuer=&lt;a href="https://{yoursolutionname}.accesscontrol.windows.net/passivests/LiveFederation.aspx"&gt;https://{yoursolutionname}.accesscontrol.windows.net/passivests/LiveFederation.aspx&lt;/a&gt; realm=&amp;quot;&lt;a href="http://localhost/PassiveACSWebSite" ?="?"&gt;http://localhost/PassiveACSWebSite&amp;quot;&lt;/a&gt; reply=&amp;quot;&lt;a href="http://localhost/PassiveACSWebSite/Default.aspx" ?="?"&gt;http://localhost/PassiveACSWebSite/Default.aspx&amp;quot;&lt;/a&gt; &amp;gt;&amp;lt;/wsFederation&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/federatedAuthentication&amp;gt; 
&lt;br /&gt;
&amp;#160; &amp;lt;/microsoft.identityModel&amp;gt;
&lt;/p&gt;
&lt;p&gt;
3. I have a custom Saml11SecurityTokenHandler that validates that any ACS tokens are
from MY solution and not other solutions signed with the same private key. You do
this by checking the token's Issuer property as shown in my custom type. Below is
the configuration to add the custom token handler and the implementation.
&lt;/p&gt;
&lt;p&gt;
&amp;#160; &amp;lt;microsoft.identityModel&amp;gt; 
&lt;br /&gt;
&amp;#160; &amp;lt;securityTokenHandlers&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;remove type=&amp;quot;Microsoft.IdentityModel.Tokens.Saml11.Saml11SecurityTokenHandler,
Microsoft.IdentityModel, Version=0.5.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&amp;quot;/&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;add type=&amp;quot;SecurityExtensions.ACSSamlTokenHandler,
SecurityExtensions&amp;quot;/&amp;gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; &amp;lt;/securityTokenHandlers&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 
&lt;br /&gt;
&amp;#160; &amp;lt;/microsoft.identityModel&amp;gt;
&lt;/p&gt;
&lt;p&gt;
public class ACSSamlTokenHandler: Saml11SecurityTokenHandler 
&lt;br /&gt;
{ 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; private string Issuer { get; set; } 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&amp;#160;&amp;#160; public ACSSamlTokenHandler() 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : this(new SamlSecurityTokenRequirement()) 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; { 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; } 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&amp;#160;&amp;#160; public ACSSamlTokenHandler(SamlSecurityTokenRequirement samlSecurityTokenRequirement):
base(samlSecurityTokenRequirement) 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; { 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; } 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&amp;#160;&amp;#160; public ACSSamlTokenHandler(XmlElement customConfiguration): base(customConfiguration) 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; { 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; } 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&amp;#160;&amp;#160; private void Initialize() 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; { 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (MicrosoftIdentityModelSection.Current
!= null) 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IssuerNameRegistryElement
trustedIssuersConfig = MicrosoftIdentityModelSection.Current.IssuerNameRegistry; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; string s = trustedIssuersConfig.ElementAsXml.ToString(); 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; } 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&amp;#160;&amp;#160; public override Microsoft.IdentityModel.Claims.ClaimsIdentityCollection
ValidateToken(System.IdentityModel.Tokens.SecurityToken token) 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; { 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (token == null) 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; throw new ArgumentNullException(&amp;quot;token&amp;quot;); 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SamlSecurityToken samlToken = token as
SamlSecurityToken; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (samlToken == null) 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; throw new ArgumentException(string.Format(&amp;quot;Argument
cannot be null: {0}&amp;quot;, &amp;quot;token&amp;quot;)); 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (!samlToken.Assertion.Issuer.Contains(&amp;quot;&lt;a href="http://{yoursolutionname}.accesscontrol.windows.net" ))?="))?"&gt;http://{yoursolutionname}.accesscontrol.windows.net&amp;quot;))&lt;/a&gt; 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; throw new SecurityTokenException(string.Format(&amp;quot;The
token issuer {0} is not expected.&amp;quot;, samlToken.Assertion.Issuer)); 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return base.ValidateToken(token); 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; } 
&lt;br /&gt;
}
&lt;/p&gt;
&lt;p&gt;
So if you are updating ACS samples, this may come in handy. Cheers!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.dasblonde.net/aggbug.ashx?id=2311e2c4-4549-43cb-a545-28ae6ee921f6" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=5krA6qFtMjw:5qU9eEkT2oo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=5krA6qFtMjw:5qU9eEkT2oo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=5krA6qFtMjw:5qU9eEkT2oo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=5krA6qFtMjw:5qU9eEkT2oo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=5krA6qFtMjw:5qU9eEkT2oo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=5krA6qFtMjw:5qU9eEkT2oo:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=5krA6qFtMjw:5qU9eEkT2oo:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <comments>http://www.dasblonde.net/CommentView,guid,2311e2c4-4549-43cb-a545-28ae6ee921f6.aspx</comments>
    <feedburner:origLink>http://www.dasblonde.net/2009/04/18/UpdatingACSSamplesForTheMarchCTP.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://www.dasblonde.net/Trackback.aspx?guid=94078d5f-56f5-42c6-aa58-513feaddb471</trackback:ping>
      <pingback:server>http://www.dasblonde.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.dasblonde.net/PermaLink,guid,94078d5f-56f5-42c6-aa58-513feaddb471.aspx</pingback:target>
      <dc:creator>Michele Leroux Bustamante</dc:creator>
      <wfw:comment>http://www.dasblonde.net/CommentView,guid,94078d5f-56f5-42c6-aa58-513feaddb471.aspx</wfw:comment>
      <wfw:commentRss>http://www.dasblonde.net/SyndicationService.asmx/GetEntryCommentsRss?guid=94078d5f-56f5-42c6-aa58-513feaddb471</wfw:commentRss>
      <slash:comments>1</slash:comments>
      
      <title>Microsoft Technology Roadmap Links and Resources</title>
      <guid isPermaLink="false">http://www.dasblonde.net/PermaLink,guid,94078d5f-56f5-42c6-aa58-513feaddb471.aspx</guid>
      <link>http://feedproxy.google.com/~r/dasblonde/~3/eiAfLeAnKi0/MicrosoftTechnologyRoadmapLinksAndResources.aspx</link>
      <pubDate>Fri, 17 Apr 2009 15:57:24 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
Well, almost immediately following the tutorials I delivered at SD West and Dev Connections&#xD;
in March, many of the CTPs that I discussed were updated...and so I had to find some&#xD;
time to get my docs updated to reflect the changes. I have finally pulled it together.&#xD;
This post will provide machine setup used for my technology roadmap seminar as of&#xD;
April 2009. Since many of these are CTP technologies, everything is subject to change…some&#xD;
things sooner than later. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
Here is a link to a document with the setup links below, in addition to reference&#xD;
materials on each technology. &lt;a href="http://www.dasblonde.net/downloads/idesigntechnologyroadmapresourcesv3.doc"&gt;http://www.dasblonde.net/downloads/idesigntechnologyroadmapresourcesv3.doc&lt;/a&gt;&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
I am still working on testing the azure samples with new CTPs before posting the zip&#xD;
with code here. Will update this post with a link.&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;a name="_Toc227686212"&gt;Platform Setup&lt;/a&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
These instructions assume you are running on Windows Vista SP1 or Windows Server 2008.&#xD;
This section describes core machine setup for the operating system, .NET 3.0, SQL&#xD;
Server and Visual Studio.&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
Enable IIS, ASP.NET and WAS features&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
SQL Server 2005/2008 or SQL Express 2005/2008&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
Install any service packs&lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
          &lt;li&gt;&#xD;
Visual Studio 2008 SP1 (also installs .NET Framework 3.5 SP1) &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Windows SDK for Windows Server 2008 (really, this SDK is for .NET Framework 3.5 and&#xD;
is also supported on Vista, XP/SP2 and Windows Server 2003)&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e6e1c3df-a74f-4207-8586-711ebe331cdc&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=e6e1c3df-a74f-4207-8586-711ebe331cdc&amp;amp;displaylang=en&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;a name="_Toc227686213"&gt;F#&lt;/a&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
F# (September 2008 CTP) &#xD;
&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=61ad6924-93ad-48dc-8c67-60f7e7803d3c&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=61ad6924-93ad-48dc-8c67-60f7e7803d3c&amp;amp;displaylang=en&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
          &lt;li&gt;&#xD;
F# Interactive Console&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://msdn.microsoft.com/en-us/fsharp/default.aspx"&gt;http://msdn.microsoft.com/en-us/fsharp/default.aspx&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
          &lt;li&gt;&#xD;
F# Samples&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://code.msdn.microsoft.com/fsharpsamples"&gt;http://code.msdn.microsoft.com/fsharpsamples&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
          &lt;li&gt;&#xD;
F# Web Tools&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://www.codeplex.com/fswebtools"&gt;http://www.codeplex.com/fswebtools&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;a name="_Toc227686214"&gt;Parallel Computing&lt;/a&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
Parallel Extensions to the .NET Framework 3.5 (June 2008 CTP)&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=348F73FD-593D-4B3C-B055-694C50D2B0F3&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=348F73FD-593D-4B3C-B055-694C50D2B0F3&amp;amp;displaylang=en&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;a name="_Toc227686215"&gt;Entity Framework&lt;/a&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
ADO.NET Entity Framework Extensions &#xD;
&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://code.msdn.microsoft.com/EFExtensions"&gt;http://code.msdn.microsoft.com/EFExtensions&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;a name="_Toc227686216"&gt;Velocity&lt;/a&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
Windows PowerShell 1.0 (required for Velocity installation) &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C6EF4735-C7DE-46A2-997A-EA58FDFCBA63&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=C6EF4735-C7DE-46A2-997A-EA58FDFCBA63&amp;amp;displaylang=en&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Microsoft Project Code Named “Velocity” Community Technology Preview 3&#xD;
(CTP3)&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://msdn.microsoft.com/en-us/data/cc655792.aspx"&gt;http://msdn.microsoft.com/en-us/data/cc655792.aspx&lt;/a&gt; (resource&#xD;
site) &#xD;
&lt;/li&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B24C3708-EEFF-4055-A867-19B5851E7CD2&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=B24C3708-EEFF-4055-A867-19B5851E7CD2&amp;amp;displaylang=en&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;a name="_Toc227686217"&gt;WPF&lt;/a&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
Expression Studio 2 Trial &#xD;
&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=7AE2720C-72BA-489B-ADBB-EE6F3C79066D&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=7AE2720C-72BA-489B-ADBB-EE6F3C79066D&amp;amp;displaylang=en&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;a name="_Toc227686218"&gt;ASP.NET&lt;/a&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
AJAX 4.0 Preview 4&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24645"&gt;http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24645&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
          &lt;li&gt;&#xD;
ASP.NET MVC 1.0&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&amp;amp;displaylang=en&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;a name="_Toc227686219"&gt;Silverlight&lt;/a&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
Silverlight Tools for VS 2008 SP1 (installs Silverlight 2 SDK and Silverlight 2 runtime) &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=C22D6A7B-546F-4407-8EF6-D60C8EE221ED&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=C22D6A7B-546F-4407-8EF6-D60C8EE221ED&amp;amp;displaylang=en&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&#xD;
NOTE: you may have issues installing this if you already have Silverlight 2 runtime&#xD;
and Silverlight 2 SDK installed on your machine. I recommend you uninstall these items&#xD;
before installing this item – and you will end up with a clean install of all. &#xD;
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Silverlight 2 SDK (already installed with Silverlight Tools for VS SP1) &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=8D933343-038F-499C-986C-C3C7E87A60B3&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=8D933343-038F-499C-986C-C3C7E87A60B3&amp;amp;displaylang=en&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Silverlight Toolkit &#xD;
&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://www.codeplex.com/Silverlight"&gt;http://www.codeplex.com/Silverlight&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;a name="_Toc227686220"&gt;WCF&lt;/a&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
WCF REST Starter Kit &#xD;
&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://www.asp.net/downloads/starter-kits/wcf-rest/"&gt;http://www.asp.net/downloads/starter-kits/wcf-rest/&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
          &lt;a name="_Toc227686221"&gt;Identity Platforms&lt;/a&gt;&#xD;
        &lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
Geneva Beta 1 &#xD;
&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=1e3c3efc-e980-4895-9095-86e51c1cd9d8"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=1e3c3efc-e980-4895-9095-86e51c1cd9d8&lt;/a&gt;&#xD;
            &lt;/li&gt;&#xD;
            &lt;li&gt;&#xD;
              &lt;a href="https://connect.microsoft.com/site/sitehome.aspx?SiteID=642"&gt;https://connect.microsoft.com/site/sitehome.aspx?SiteID=642&lt;/a&gt; (documentation&#xD;
and links)&lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
Azure Services Platform&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
Windows Azure SDK (March 2009 CTP) &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b44c10e8-425c-417f-af10-3d2839a5a362&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=b44c10e8-425c-417f-af10-3d2839a5a362&amp;amp;displaylang=en&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd179367.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd179367.aspx&lt;/a&gt; (documentation) &#xD;
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Windows Azure Tools for Visual Studio (March 2009 CTP) &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=59E8FC0C-C399-4AB7-8A93-882D8E74B67A&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=59E8FC0C-C399-4AB7-8A93-882D8E74B67A&amp;amp;displaylang=en&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Microsoft .NET Services SDK (March 2009 CTP) &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8d1d1d5e-1332-4186-b33f-26d053759e49&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=8d1d1d5e-1332-4186-b33f-26d053759e49&amp;amp;displaylang=en&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Access Control Service &#xD;
&lt;ul&gt;&lt;li&gt;&#xD;
Documentation &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd582744.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd582744.aspx&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&#xD;
MMC Tool &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/vbertocci/archive/2009/03/17/a-visual-tour-of-the-net-access-control-service-part-2-fun-with-scopes-and-issuers.aspx"&gt;http://blogs.msdn.com/vbertocci/archive/2009/03/17/a-visual-tour-of-the-net-access-control-service-part-2-fun-with-scopes-and-issuers.aspx&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&#xD;
Azure Management Tools &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/AzureManagementTools"&gt;http://code.msdn.microsoft.com/AzureManagementTools&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Windows Live ID Client 1.0 SDK (October 2008) &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=B5A78784-922D-4267-A6E9-5D2ECF1DCED8&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=B5A78784-922D-4267-A6E9-5D2ECF1DCED8&amp;amp;displaylang=en&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Windows Live ID Delegated Authentication SDK 1.2 (November 2009) &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=A2466ABF-9629-42D8-B991-1D3FAF2FE872&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=A2466ABF-9629-42D8-B991-1D3FAF2FE872&amp;amp;displaylang=en&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Windows Live ID Web Authentication SDK 1.2 (November 2009) &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=E565FC92-D5F6-4F5F-8713-4DD1C90DE19F&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=E565FC92-D5F6-4F5F-8713-4DD1C90DE19F&amp;amp;displaylang=en&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Windows Live Tools for Visual Studio (November 2008) &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=F438B207-96AF-497C-94DB-152D48344AF5&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=F438B207-96AF-497C-94DB-152D48344AF5&amp;amp;displaylang=en&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Live Services SDK &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb264574.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb264574.aspx&lt;/a&gt; (documentation) &#xD;
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.dasblonde.net/aggbug.ashx?id=94078d5f-56f5-42c6-aa58-513feaddb471"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=eiAfLeAnKi0:DQN382xypUo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=eiAfLeAnKi0:DQN382xypUo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=eiAfLeAnKi0:DQN382xypUo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=eiAfLeAnKi0:DQN382xypUo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=eiAfLeAnKi0:DQN382xypUo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=eiAfLeAnKi0:DQN382xypUo:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=eiAfLeAnKi0:DQN382xypUo:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <comments>http://www.dasblonde.net/CommentView,guid,94078d5f-56f5-42c6-aa58-513feaddb471.aspx</comments>
    <feedburner:origLink>http://www.dasblonde.net/2009/04/17/MicrosoftTechnologyRoadmapLinksAndResources.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://www.dasblonde.net/Trackback.aspx?guid=76b173f9-e413-4d9e-9315-3ac59cc94416</trackback:ping>
      <pingback:server>http://www.dasblonde.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.dasblonde.net/PermaLink,guid,76b173f9-e413-4d9e-9315-3ac59cc94416.aspx</pingback:target>
      <dc:creator>Michele Leroux Bustamante</dc:creator>
      <wfw:comment>http://www.dasblonde.net/CommentView,guid,76b173f9-e413-4d9e-9315-3ac59cc94416.aspx</wfw:comment>
      <wfw:commentRss>http://www.dasblonde.net/SyndicationService.asmx/GetEntryCommentsRss?guid=76b173f9-e413-4d9e-9315-3ac59cc94416</wfw:commentRss>
      <slash:comments>1</slash:comments>
      
      <title>The Open Cloud Manifesto - what I think...</title>
      <guid isPermaLink="false">http://www.dasblonde.net/PermaLink,guid,76b173f9-e413-4d9e-9315-3ac59cc94416.aspx</guid>
      <link>http://feedproxy.google.com/~r/dasblonde/~3/LEI4I93RUu0/TheOpenCloudManifestoWhatIThink.aspx</link>
      <pubDate>Tue, 31 Mar 2009 21:28:35 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
The Open Cloud Manifesto is live at &lt;a href="http://www.opencloudmanifesto.org"&gt;http://www.opencloudmanifesto.org&lt;/a&gt;.&#xD;
I wrote &lt;a href="http://www.dasblonde.net/2009/03/27/WhatIsThisOpenCloudManifestoanyways.aspx" target="_blank"&gt;my&#xD;
opinion of it prior to its release&lt;/a&gt; based on some concerns that were already voiced&#xD;
in the community. Now, I get to comment on the real thing. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
On the one hand, the manifest is described as trying to bring about a core set of&#xD;
principles around cloud computing for vendors to agree to and users to count on. The&#xD;
problem is that the set of principles was decided by a group that doesn't include&#xD;
three of the biggest players in the cloud today: Google, Amazon and Microsoft. I am&#xD;
babbled at how a group can get together and form a manifesto like this without first&#xD;
including these major players in its definition. This has already started off badly&#xD;
and doesn't say much for the credence people will place in the manifesto going forward. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
I think the biggest problem with the manifesto is its discussion of interoperability&#xD;
and portability. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
It isn't clear to me what are the interoperability goals for this manifesto. If interoperability&#xD;
means that a cloud vendor can't provide a service to its customers that is not based&#xD;
on standards such as HTTP, WS* and REST...I say why not? Hey, if I want to use a set&#xD;
of functionality exposed a protocol other than HTTP isn't that up to me, the customer?&#xD;
What if that particular set of functionality happens to be useful to my application?&#xD;
What if I don't require interoperable standards for all communications between moving&#xD;
parts of my application? Let me decide what is best, thank you. If my goal is to be&#xD;
able to move my application to another platform (next topic = portability) then I&#xD;
won't consider this option...but I may not care!&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
The manifesto doesn’t directly target a specific vendor – but it does&#xD;
indicate some unreasonable goals, specifically related to application portability&#xD;
and vendor lock-in. Vendor lock-in is a frequently discussed anti-pattern that describes&#xD;
the problem where customers cannot easily move their applications from one platform&#xD;
to another without significant cost and effort. Avoiding vendor lock-in is at odds&#xD;
with the benefits a specific vendor can provide with its own brand of unique features&#xD;
and productivity tools. The pros and cons of vendor lock-in have been debated for&#xD;
a decade now. Attempts to remove vendor lock-in with J2EE failed in my opinion. One&#xD;
of the goals of the J2EE platform was to enable customers to port from one vendor&#xD;
to another without pain – but I can tell you from first-hand experience this&#xD;
is not easy to accomplish. Each vendor supplies additional features and tools that&#xD;
make you more productive and effective if you use them. In fact, part of the decision&#xD;
to purchase a J2EE platform is these extended features. You have to explicitly avoid&#xD;
using extended features if you want to be truly portable. But why lose productivity&#xD;
to build a product just so you can move it to another platform? This is a good question…if&#xD;
this is a priority to your business, you will pay up front in development effort and&#xD;
associated cost to enable portability. If time to market, productivity and cost saving&#xD;
is a priority and you trust the vendor, you’ll happily forego portability. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
My point is that ultimately the decision to make an application completely portable&#xD;
or to rely on a rich set of vendor-specific features and tools is up to the customer.&#xD;
The Open Cloud Manifesto principles are essentially discouraging (if not disallowing)&#xD;
vendors from producing any features or platform tools that are not offered by another&#xD;
cloud vendor. This is very simply NOT ok. If we expect cloud vendors to produce completely&#xD;
homogenous hosting environments with identical programming APIs then we stifle the&#xD;
creativity of each vendor. Each vendor should be free to supply a unique set of features&#xD;
and platform tools to form its own value proposition. Perhaps one cloud vendor will&#xD;
provide better productivity than another because of such features and tools –&#xD;
and this benefits the customer. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
The Open Cloud Manifesto should focus on much more important matters such as the details&#xD;
vendors should produce in a Service Level Agreement (SLA) for their customers. This&#xD;
includes describing how the equipment, data, applications and all other assets are&#xD;
secured; describing their topology for load balancing and fail over; describing how&#xD;
they handle backup and recovery of applications and data; describing how they meter,&#xD;
monitor and report on this data; and describing how deployments and updates managed.&#xD;
Some of these things can be standardized, others are just guidelines for what a good&#xD;
cloud vendor should do to be trustworthy.&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
Ok, that's just my opinion...let's see where it goes. In the meantime, Google, Amazon&#xD;
and Microsoft - keep doing what you are doing...we like the diversity of options and&#xD;
we are grown-ups so we can decide which platform works best for our needs.&#xD;
&lt;/p&gt;&#xD;
        &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ca5c65f8-4ca4-43e2-9d37-89ac5f7c4468" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati&#xD;
Tags: &lt;a href="http://technorati.com/tags/Azure" rel="tag"&gt;Azure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Cloud%20Computing" rel="tag"&gt;Cloud&#xD;
Computing&lt;/a&gt;&lt;/div&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.dasblonde.net/aggbug.ashx?id=76b173f9-e413-4d9e-9315-3ac59cc94416"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=LEI4I93RUu0:Mbzo5lp89Tc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=LEI4I93RUu0:Mbzo5lp89Tc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=LEI4I93RUu0:Mbzo5lp89Tc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=LEI4I93RUu0:Mbzo5lp89Tc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=LEI4I93RUu0:Mbzo5lp89Tc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=LEI4I93RUu0:Mbzo5lp89Tc:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=LEI4I93RUu0:Mbzo5lp89Tc:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <comments>http://www.dasblonde.net/CommentView,guid,76b173f9-e413-4d9e-9315-3ac59cc94416.aspx</comments>
    <feedburner:origLink>http://www.dasblonde.net/2009/03/31/TheOpenCloudManifestoWhatIThink.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://www.dasblonde.net/Trackback.aspx?guid=710151ee-e4e7-4aa8-93f6-b677f2777474</trackback:ping>
      <pingback:server>http://www.dasblonde.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.dasblonde.net/PermaLink,guid,710151ee-e4e7-4aa8-93f6-b677f2777474.aspx</pingback:target>
      <dc:creator>Michele Leroux Bustamante</dc:creator>
      <wfw:comment>http://www.dasblonde.net/CommentView,guid,710151ee-e4e7-4aa8-93f6-b677f2777474.aspx</wfw:comment>
      <wfw:commentRss>http://www.dasblonde.net/SyndicationService.asmx/GetEntryCommentsRss?guid=710151ee-e4e7-4aa8-93f6-b677f2777474</wfw:commentRss>
      
      <title>Dev Connections - The Code!</title>
      <guid isPermaLink="false">http://www.dasblonde.net/PermaLink,guid,710151ee-e4e7-4aa8-93f6-b677f2777474.aspx</guid>
      <link>http://feedproxy.google.com/~r/dasblonde/~3/TuWRvbbXulg/DevConnectionsTheCode.aspx</link>
      <pubDate>Mon, 30 Mar 2009 05:29:26 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
I just returned from Dev Connections held in Orlando, Florida...so here is my usual&#xD;
post-conference blog entry. I delivered my Microsoft Technology Roadmap tutorial and&#xD;
6 sessions. The list is below, with links to code samples and other related content.&#xD;
Don't forget to check the readme for some of these downloads since it includes setup&#xD;
information such as required CTPs that I may have been using. Email me with any questions.&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
Microsoft Technology Roadmap Tutorial&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
I updated my "technology avalanche" tutorial to reflect today's long list&#xD;
of things we should care about including F#; parallel computing; technologies related&#xD;
to data access, windows, web, SOA and workflow; new security platforms; model-driven&#xD;
development with Oslo and cloud computing. Whew! Following this post will be a separate&#xD;
blog entry dedicated to this session and all the resources you need to get set up&#xD;
to work with these technologies and reference it from here. &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Update: 04/17/09&lt;/li&gt;&#xD;
          &lt;ul&gt;&#xD;
            &lt;li&gt;&#xD;
Here is a link to the technology roadmap post: &lt;a title="http://www.dasblonde.net/2009/04/17/MicrosoftTechnologyRoadmapLinksAndResources.aspx" href="http://www.dasblonde.net/2009/04/17/MicrosoftTechnologyRoadmapLinksAndResources.aspx"&gt;http://www.dasblonde.net/2009/04/17/MicrosoftTechnologyRoadmapLinksAndResources.aspx&lt;/a&gt;&lt;/li&gt;&#xD;
          &lt;/ul&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
Building RIAs with AJAX, Silverlight and WCF&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
In this session I focused on how you design WCF services for AJAX and SL 2, what issues&#xD;
to consider, and how to consume them. If you are looking for how to do SOAP, POX or&#xD;
REST with RIAs, look at these samples. If you want pretty UI, you're in the wrong&#xD;
place!!!! Just the facts man! &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Here are the RIA samples: &lt;a href="http://www.dasblonde.net/downloads/RIASamples.zip"&gt;http://www.dasblonde.net/downloads/RIASamples.zip&lt;/a&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Some of my RESTful WCF samples were illustrated: &lt;a href="http://www.dasblonde.net/downloads/RESTfulWCF.zip"&gt;http://www.dasblonde.net/downloads/RESTfulWCF.zip&lt;/a&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
This site includes a MessageInspectors sample that handles faults for Silverlight&#xD;
2 clients. &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/silverlightws/Release/ProjectReleases.aspx?ReleaseId=1660"&gt;http://code.msdn.microsoft.com/silverlightws/Release/ProjectReleases.aspx?ReleaseId=1660&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
This site includes the ASP.NET AJAX 4.0 Preview 4, and related code samples that illustrate&#xD;
the next generation code for communicating with services and data binding (among other&#xD;
things). &#xD;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24645"&gt;http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24645&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
Choosing the Right Data Access Technology&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
As if there weren't a big enough avalanche of technologies across the board, just&#xD;
in data access there are many, and so this session really focused on when, where and&#xD;
how I would use each from the classic DataSet and DataReader, to LINQ to SQL, Entity&#xD;
Framework and ADO.NET Data Services. Mostly architectural diagrams and discussion,&#xD;
but here is a link to the code samples I presented: &lt;a href="http://www.dasblonde.net/downloads/DataAccessSamples.zip"&gt;http://www.dasblonde.net/downloads/DataAccessSamples.zip&lt;/a&gt;&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
Federated Security Scenarios with WCF and Geneva Framework&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
I wrote two MSDN articles on this subject which have links to the sample code as well: &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
            &lt;ul&gt;&#xD;
              &lt;li&gt;&#xD;
                &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd278426.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dd278426.aspx&lt;/a&gt;&#xD;
              &lt;/li&gt;&#xD;
              &lt;li&gt;&#xD;
                &lt;a href="http://msdn.microsoft.com/en-us/magazine/2009.01.genevests.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/2009.01.genevests.aspx&lt;/a&gt;&#xD;
              &lt;/li&gt;&#xD;
            &lt;/ul&gt;&#xD;
          &lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
WS* or REST? Choosing the Right Approach for your WCF Services&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
Many people in this session were new to WCF. All of my code samples for my book can&#xD;
be downloaded from here: &lt;a href="http://www.thatindigogirl.com"&gt;http://www.thatindigogirl.com&lt;/a&gt;.&#xD;
Be sure to download the VS 2008 code. &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Here are my RESTful WCF samples: &lt;a href="http://www.dasblonde.net/downloads/RESTfulWCF.zip"&gt;http://www.dasblonde.net/downloads/RESTfulWCF.zip&lt;/a&gt;&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
Securing Workflow Services&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
This session focused purely on communications between clients, WF services and WCF.&#xD;
Specifically, how to secure these scenarios. Get the code here: &lt;a href="http://www.dasblonde.net/downloads/WorkflowServices.zip"&gt;http://www.dasblonde.net/downloads/WorkflowServices.zip&lt;/a&gt;&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;p&gt;&#xD;
.NET Synchronization Techniques for Today's Applications&#xD;
&lt;/p&gt;&#xD;
        &lt;ul&gt;&#xD;
          &lt;li&gt;&#xD;
This was a beginner session we added to the fundamentals track at Dev Con. I did demos&#xD;
on the fly mostly, how to kick off multiple threads using custom threads, delegates,&#xD;
asynchronous patterns with WCF proxies and the new Task Parallel Library (TPL) and&#xD;
Parallel LINQ (PLINQ). Then I also showed some synchronization techniques, again on&#xD;
the fly. &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
Take a look at my Windows Forms hosting samples in my WCF book code for lots of synchronization&#xD;
examples. All of my code samples for my book can be downloaded from here: &lt;a href="http://www.thatindigogirl.com"&gt;http://www.thatindigogirl.com&lt;/a&gt;.&#xD;
Be sure to download the VS 2008 code. &#xD;
&lt;/li&gt;&#xD;
          &lt;li&gt;&#xD;
In addition, see my TPL/PLINQ samples in the code for my roadmap tutorial (see above). &#xD;
&lt;/li&gt;&#xD;
        &lt;/ul&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.dasblonde.net/aggbug.ashx?id=710151ee-e4e7-4aa8-93f6-b677f2777474"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=TuWRvbbXulg:eKrQmB4Wsaw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=TuWRvbbXulg:eKrQmB4Wsaw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=TuWRvbbXulg:eKrQmB4Wsaw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=TuWRvbbXulg:eKrQmB4Wsaw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=TuWRvbbXulg:eKrQmB4Wsaw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=TuWRvbbXulg:eKrQmB4Wsaw:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=TuWRvbbXulg:eKrQmB4Wsaw:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <comments>http://www.dasblonde.net/CommentView,guid,710151ee-e4e7-4aa8-93f6-b677f2777474.aspx</comments>
    <feedburner:origLink>http://www.dasblonde.net/2009/03/30/DevConnectionsTheCode.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://www.dasblonde.net/Trackback.aspx?guid=d99bcbc8-c290-4ae7-a62e-20a06ef32ebc</trackback:ping>
      <pingback:server>http://www.dasblonde.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.dasblonde.net/PermaLink,guid,d99bcbc8-c290-4ae7-a62e-20a06ef32ebc.aspx</pingback:target>
      <dc:creator>Michele Leroux Bustamante</dc:creator>
      <wfw:comment>http://www.dasblonde.net/CommentView,guid,d99bcbc8-c290-4ae7-a62e-20a06ef32ebc.aspx</wfw:comment>
      <wfw:commentRss>http://www.dasblonde.net/SyndicationService.asmx/GetEntryCommentsRss?guid=d99bcbc8-c290-4ae7-a62e-20a06ef32ebc</wfw:commentRss>
      
      <title>What happened to MicrosoftAjaxDataService.js?</title>
      <guid isPermaLink="false">http://www.dasblonde.net/PermaLink,guid,d99bcbc8-c290-4ae7-a62e-20a06ef32ebc.aspx</guid>
      <link>http://feedproxy.google.com/~r/dasblonde/~3/hZeHfWuo6ww/WhatHappenedToMicrosoftAjaxDataServicejs.aspx</link>
      <pubDate>Sat, 28 Mar 2009 22:39:40 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;&#xD;
        &lt;p&gt;&#xD;
Recently, I discovered that my code samples using MicrosoftAjaxDataService.js no longer&#xD;
worked on my new machine. I had assumed that .NET Framework 3.5 SP1 included the new&#xD;
AJAX-y things I was using before it - that were part of ASP.NET 3.5 Extensions. I&#xD;
was wrong...but as I searched around I could only find blog posts using the MicrosoftAjaxDataService.js&#xD;
file, with no reference as to where it was now! I finally stumble upon the fact that&#xD;
it was renamed to MicrosoftAjaxAdoNet.js and is now part of ASP.NET AJAX 4.0 Preview&#xD;
4. &#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
So, now your scripts to include are as follows:&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
&amp;lt;asp:ScriptManager ID="ScriptManager1" runat="server"&amp;gt;&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
&amp;lt;Scripts&amp;gt;&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
&amp;lt;asp:ScriptReference Name="MicrosoftAjax.js" Path="~/scripts/MicrosoftAjax.js"&#xD;
/&amp;gt;&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
&amp;lt;asp:ScriptReference ScriptMode="Inherit" Path="~/scripts/MicrosoftAjaxTemplates.js"&#xD;
/&amp;gt;&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
&amp;lt;asp:ScriptReference ScriptMode="Inherit" Path="~/scripts/MicrosoftAjaxAdoNet.js"&#xD;
/&amp;gt;&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
&amp;lt;/Scripts&amp;gt;&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
&amp;lt;/asp:ScriptManager&amp;gt;&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
And, there is a new DataContext (for WCF services) and an AdoNetDataContext (for data&#xD;
services). Not to mention some REALLY cool new binding features that will greatly&#xD;
simplify how we handle results from service calls...nice! I never really did want&#xD;
to revisit my DHTML days...&#xD;
&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
Here is a link to ASP.NET AJAX 4.0 Preview 4: &lt;a title="http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24645" href="http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24645"&gt;http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24645&lt;/a&gt;&lt;/p&gt;&#xD;
        &lt;p&gt;&#xD;
I hope this blog entry helps at least a few people find the "new way". Cheers!&#xD;
&lt;/p&gt;&#xD;
        &lt;img width="0" height="0" src="http://www.dasblonde.net/aggbug.ashx?id=d99bcbc8-c290-4ae7-a62e-20a06ef32ebc"&gt;&lt;/img&gt;&#xD;
      &lt;/body&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=hZeHfWuo6ww:MIYrQ_xBrWY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=hZeHfWuo6ww:MIYrQ_xBrWY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=hZeHfWuo6ww:MIYrQ_xBrWY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=hZeHfWuo6ww:MIYrQ_xBrWY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=hZeHfWuo6ww:MIYrQ_xBrWY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dasblonde?a=hZeHfWuo6ww:MIYrQ_xBrWY:D7DqB2pKExk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dasblonde?i=hZeHfWuo6ww:MIYrQ_xBrWY:D7DqB2pKExk" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <comments>http://www.dasblonde.net/CommentView,guid,d99bcbc8-c290-4ae7-a62e-20a06ef32ebc.aspx</comments>
    <feedburner:origLink>http://www.dasblonde.net/2009/03/28/WhatHappenedToMicrosoftAjaxDataServicejs.aspx</feedburner:origLink></item>
  </channel>
</rss>
