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

<channel>
	<title>Domain .NET Labs Blog</title>
	<atom:link href="http://blog.domaindotnet.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.domaindotnet.com</link>
	<description>Silverlight Media in High Definition Everywhere</description>
	<lastBuildDate>Mon, 22 Jun 2009 00:14:03 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
		<url>http://www.gravatar.com/blavatar/a08732ed34e6814d5a5513fe8cde5696?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Domain .NET Labs Blog</title>
		<link>http://blog.domaindotnet.com</link>
	</image>
			<item>
		<title>BuyDRM Showcases First Microsoft Silverlight DRM Solution for Live Smooth Streaming</title>
		<link>http://blog.domaindotnet.com/2009/06/21/buydrm-showcases-first-microsoft-silverlight-drm-solution-for-live-smooth-streaming/</link>
		<comments>http://blog.domaindotnet.com/2009/06/21/buydrm-showcases-first-microsoft-silverlight-drm-solution-for-live-smooth-streaming/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 00:12:47 +0000</pubDate>
		<dc:creator>Damon Wilder Carr</dc:creator>
				<category><![CDATA[Art and Animation]]></category>
		<category><![CDATA[Digital Media]]></category>
		<category><![CDATA[Industry News]]></category>
		<category><![CDATA[Live Smooth Streaming]]></category>
		<category><![CDATA[Siverlight]]></category>
		<category><![CDATA[Smooth Streaming]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[BuyDRM]]></category>
		<category><![CDATA[Microsoft Silverlight DRM]]></category>
		<category><![CDATA[Solution]]></category>

		<guid isPermaLink="false">http://blog.domaindotnet.com/?p=1431</guid>
		<description><![CDATA[BuyDRM Showcases First Microsoft Silverlight DRM Solution for Live Smooth Streaming<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1431&subd=dcarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>BuyDRM Showcases First Microsoft Silverlight DRM Solution for Live Smooth Streaming</strong></p>
<p><strong>Las Vegas, NV &#8211; April 20th, 2009 &#8211; BuyDRM, a Microsoft-licensed PlayReady DRM solutions and service provider, will unveil the world’s first Microsoft Internet Information Services 7.0 (IIS) Live Smooth Streaming content protection solution built on Microsoft Silverlight DRM, powered by PlayReady at the NAB conference on April 20, 2009. In a joint demonstration with Envivio, Inc., BuyDRM’s KeyOS rights management platform will provide Silverlight DRM support to the 4Caster C4 compression engine during NAB in booth #SL720.</strong></p>
<p>IIS Smooth Streaming is Microsoft Corp.’s HTTP-based adaptive streaming solution that takes advantage of the Web’s existing HTTP infrastructure to bring superior performance and scalability to media experiences. With IIS Smooth Streaming, consumers get minimal buffering and faster start-up times, because IIS Smooth Streaming adapts the quality of the video stream in real-time, based upon the consumer’s changing bandwidth and CPU conditions.</p>
<p>“BuyDRM’s integration of PlayReady into its KeyOS solution enables strong protection, flexibility and control for content providers utilizing Silverlight for their offerings,” said Steve Sklepowich, group product manager for Silverlight Media at Microsoft. “BuyDRM’s offerings and Silverlight create new opportunities for content providers to monetize their content in a variety of models.”</p>
<p>&#8220;We are pleased to be the first to offer a live rights management solution that fully integrates Microsoft Silverlight DRM and IIS Smooth Streaming technologies,&#8221; said Christopher Levy, CEO and Founder, BuyDRM. &#8220;BuyDRM pioneered the use of Silverlight DRM technology for live and on-demand content. KeyOS provides the entire Silverlight DRM ecosystem including live and on-demand Windows Media and Smooth Streaming-format encryption, licensing and profile management, license delivery, geo-targeting and real-time statistics and reports, which will enable a broader array of media distribution opportunities.”</p>
<p>About BuyDRM:</p>
<p>BuyDRM, a division of Austin, Texas based NFA Group Inc., was founded in 2001 by Christopher Levy to meet the needs of the rapidly expanding pay media industry. Its flagship product KeyOS is both a service and solution, representing extensive research, development and practical use in deploying commercial digital rights management technologies. BuyDRM is a preeminent provider of Microsoft Silverlight DRM technology and a featured Microsoft partner, with more than 200 customers in the entertainment, enterprise and education industries. KeyOS was chosen by Streaming Media Magazine’s viewers back-to-back for the Reader’s Choice Award in 2007 and 2008</p>
<p>Contact:</p>
<p>BuyDRM – Media Relations<br />
Jessica Sinn<br />
Jessica@buydrm.com</p>
<p>All trademarks are properties of their respective owners.</p>
Posted in Art and Animation, Digital Media, Industry News, Live Smooth Streaming, Siverlight, Smooth Streaming, Tips and Tricks Tagged: BuyDRM, Live Smooth Streaming, Microsoft Silverlight DRM, Solution <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dcarr.wordpress.com/1431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dcarr.wordpress.com/1431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dcarr.wordpress.com/1431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dcarr.wordpress.com/1431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dcarr.wordpress.com/1431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dcarr.wordpress.com/1431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dcarr.wordpress.com/1431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dcarr.wordpress.com/1431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dcarr.wordpress.com/1431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dcarr.wordpress.com/1431/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1431&subd=dcarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.domaindotnet.com/2009/06/21/buydrm-showcases-first-microsoft-silverlight-drm-solution-for-live-smooth-streaming/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dd358f816304c13b1d2baaf827ab9ce?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">domain.dot.net team lead</media:title>
		</media:content>
	</item>
		<item>
		<title>Silverlight 3 art. mocking bad &#8216;highbrow&#8217; art using the Silverlight 3 beta</title>
		<link>http://blog.domaindotnet.com/2009/05/17/silverlight-3-art-mocking-bad-highbrow-art-using-the-silverlight-3-beta/</link>
		<comments>http://blog.domaindotnet.com/2009/05/17/silverlight-3-art-mocking-bad-highbrow-art-using-the-silverlight-3-beta/#comments</comments>
		<pubDate>Mon, 18 May 2009 00:24:16 +0000</pubDate>
		<dc:creator>Damon Wilder Carr</dc:creator>
				<category><![CDATA[Art and Animation]]></category>
		<category><![CDATA[Siverlight]]></category>
		<category><![CDATA[silverlight 3]]></category>

		<guid isPermaLink="false">http://dcarr.wordpress.com/2009/05/17/silverlight-3-art-mocking-bad-highbrow-art-using-the-silverlight-3-beta/</guid>
		<description><![CDATA[A fun send-up of highbrow art using Silverlight 3 beta and a keen sense of irony with a dose of hipster detachment.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1353&subd=dcarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>&#160;</p>
<p>For something completely different. Adventures in artistic expression. Or how to evoke a lot of grad school art projects in the mocking way.. Or bad independent cinema.</p>
<p>&#160;</p>
<p>Anyhow check it out here:</p>
<p>&#160;</p>
<p><a title="mockery is the sincerest form of what?" href="http://www.domaindotnet.com/life/"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="silverligh3art" border="0" alt="silverligh3art" src="http://dcarr.files.wordpress.com/2009/05/silverligh3art2.png?w=400&#038;h=191" width="400" height="191" /></a></p>
<div class="wlWriterHeaderFooter" style="text-align:right;margin:0;padding:4px 0;"><a href="http://digg.com/submit?url=http%3a%2f%2fdcarr.wordpress.com%2f2009%2f05%2f17%2fsilverlight-3-art-mocking-bad-highbrow-art-using-the-silverlight-3-beta%2f&amp;title=Silverlight+3+art.+mocking+bad+%e2%80%98highbrow%e2%80%99+art+using+the+Silverlight+3+beta"><img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border:0;" /></a></div>
Posted in Art and Animation, silverlight 3, Siverlight  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dcarr.wordpress.com/1353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dcarr.wordpress.com/1353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dcarr.wordpress.com/1353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dcarr.wordpress.com/1353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dcarr.wordpress.com/1353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dcarr.wordpress.com/1353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dcarr.wordpress.com/1353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dcarr.wordpress.com/1353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dcarr.wordpress.com/1353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dcarr.wordpress.com/1353/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1353&subd=dcarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.domaindotnet.com/2009/05/17/silverlight-3-art-mocking-bad-highbrow-art-using-the-silverlight-3-beta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dd358f816304c13b1d2baaf827ab9ce?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">domain.dot.net team lead</media:title>
		</media:content>

		<media:content url="http://dcarr.files.wordpress.com/2009/05/silverligh3art2.png" medium="image">
			<media:title type="html">silverligh3art</media:title>
		</media:content>

		<media:content url="http://digg.com/img/badges/100x20-digg-button.png" medium="image">
			<media:title type="html">Digg This</media:title>
		</media:content>
	</item>
		<item>
		<title>NAB09 &#8211; Microsoft Releases IIS Smooth Streaming for True HD 1080p Video Delivery</title>
		<link>http://blog.domaindotnet.com/2009/04/23/nab09-microsoft-releases-iis-smooth-streaming-for-true-hd-1080p-video-delivery/</link>
		<comments>http://blog.domaindotnet.com/2009/04/23/nab09-microsoft-releases-iis-smooth-streaming-for-true-hd-1080p-video-delivery/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 17:07:42 +0000</pubDate>
		<dc:creator>Damon Wilder Carr</dc:creator>
				<category><![CDATA[Digital Media]]></category>
		<category><![CDATA[HD Video]]></category>
		<category><![CDATA[Industry News]]></category>
		<category><![CDATA[Siverlight]]></category>
		<category><![CDATA[Smooth Streaming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[1080p]]></category>
		<category><![CDATA[IIS Smooth Streaming]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[True HD]]></category>
		<category><![CDATA[Video Delivery]]></category>

		<guid isPermaLink="false">http://dcarr.wordpress.com/2009/04/23/nab09-microsoft-releases-iis-smooth-streaming-for-true-hd-1080p-video-delivery/</guid>
		<description><![CDATA[Microsoft Releases IIS Smooth Streaming for True HD 1080p Video Delivery<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1350&subd=dcarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h3>NAB09 &#8211; Microsoft Releases IIS Smooth Streaming for True HD 1080p Video Delivery</h3>
<p>Monday, April 20 2009 &#8211; By: slteam </p>
<p>This past month has been whirl wind to say the least! I’m so excited and amazed to see the support of our customers and partners on the blogoshere congratulating us on the advancements we’ve made within Silverlight 3 at MIX last month. We’ve made big leaps in video support by raising the bar for high-def consumer media experiences.</p>
<p>Highlights include: live and on-demand adaptive streaming (with IIS Smooth Streaming) including PVR-like functionality for pausing and seeking live feeds, better format support (including native H.264), a media pipeline that lets you plug in other third-party codecs, and GPU acceleration which improves full-screen “true” HD (1080p) playback. For a recap of all the goodness in media from MIX09, <a href="http://alexzambelli.com/blog/2009/03/20/in-case-you-missed-mix/">see Alex Zambelli’s blog post</a> and <a href="http://on10.net/blogs/benwagg/Silverlight-3-Beta-Whatrsquos-New-for-Media/">Ben Waggoner’s blog post.</a> Both provide great summaries with pointers to other resources and third-party press releases, including those from Akamai, Inlet HD and others.</p>
<p><b>At NAB this week in Las Vegas, we continue to make rapid advancements in media.</b> With over 100k attendees expected, NAB is the 2<sup>nd</sup> largest trade show in the country, and the biggest gathering for media and video professionals in the world.</p>
<p><b>Today at NAB, Microsoft is announcing the availability of IIS Smooth Streaming</b>. Smooth Streaming is a feature of Internet Information Services (IIS) Media Services, our HTTP–based Web server platform for delivering, monetizing and caching media. You can check out the amazing quality you get today from Smooth Streaming by visiting the <a href="http://www.iis.net/media/experiencesmoothstreaming">IIS MS site.</a>&#160; You can get started today with on-demand Smooth Streaming, and expect our final release for Live Smooth Streaming in the very near future.</p>
<p><b>We also have broad industry adoption for Smooth Streaming, with both top customers and media ecosystem partners.&#160; </b>Key early adopter customers for Smooth Streaming include online retailers and broadcasters such as HSN, NBCOlympics.com, RAI, TV2, CTV and others. They will be able to deliver true 1080p experiences – early testing has shown that engagement times far exceed those using other non-adaptive streaming platforms, so the upside for content monetization is very encouraging. Stay tuned for more info here on our findings!</p>
<p>In addition to customer adoption, we have been working hard with the third-party ecosystem, across encoding ISVs, Content Delivery Networks (CDNs) and DRM ASPs to ensure seamless work flow for protected and advertising-based content. Here are the partners announcing their support for Smooth Streaming today at NAB:</p>
<ul>
<li><b>CDNs-</b>&#160; Akamai, AT&amp;T, CDNetworks, Internap, Level3, and Limelight </li>
<li><b>Encoding ISVs- </b>Digital Rapids, Envivio, Grab Networks (Anystream), Rhozet, Telestream, Vbrick, ViewCast, Winnov </li>
<li><b>DRM ASPs- </b>BuyDRM, CDNetworks, Entriq, ExtendMedia, Ipercast, iStreamPlanet</li>
</ul>
<p>See our <a href="http://www.microsoft.com/presspass/press/2009/apr09/04-20SmoothStreamingPR.mspx">NAB press release for all the details</a>.</p>
<p>In addition to all the great customer showcases we now have with Silverlight, here are two very cool demos to check out at NAB in our booth:</p>
<ol>
<li><b>Live Smooth Streaming Encoding demo</b> featuring Akamai’s AdaptiveEdge for Silverlight together with the Inlet HD encoding platform. </li>
<li><b>Protected Live Smooth Streaming using Silverlight DRM</b>, Powered by PlayReady. Envivio worked with BuyDRM to make this happen.</li>
</ol>
<p>Look forward to meeting you at NAB. Booth<strong> SL 720!</strong></p>
<p>Steve</p>
<div class="wlWriterHeaderFooter" style="text-align:right;margin:0;padding:4px 0;"><a href="http://digg.com/submit?url=http%3a%2f%2fdcarr.wordpress.com%2f2009%2f04%2f23%2fnab09-microsoft-releases-iis-smooth-streaming-for-true-hd-1080p-video-delivery%2f&amp;title=NAB09+-+Microsoft+Releases+IIS+Smooth+Streaming+for+True+HD+1080p+Video+Delivery"><img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border:0;" /></a></div>
Posted in Digital Media, HD Video, Industry News, Siverlight, Smooth Streaming, Technology Tagged: 1080p, IIS Smooth Streaming, Microsoft, True HD, Video Delivery <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dcarr.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dcarr.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dcarr.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dcarr.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dcarr.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dcarr.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dcarr.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dcarr.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dcarr.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dcarr.wordpress.com/1350/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1350&subd=dcarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.domaindotnet.com/2009/04/23/nab09-microsoft-releases-iis-smooth-streaming-for-true-hd-1080p-video-delivery/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dd358f816304c13b1d2baaf827ab9ce?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">domain.dot.net team lead</media:title>
		</media:content>

		<media:content url="http://digg.com/img/badges/100x20-digg-button.png" medium="image">
			<media:title type="html">Digg This</media:title>
		</media:content>
	</item>
		<item>
		<title>JetBrains Resharper 4.5 is out</title>
		<link>http://blog.domaindotnet.com/2009/04/16/resharper_4_5_rocks_for_dot_net_c_sharp_silverlight_devs/</link>
		<comments>http://blog.domaindotnet.com/2009/04/16/resharper_4_5_rocks_for_dot_net_c_sharp_silverlight_devs/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 02:12:43 +0000</pubDate>
		<dc:creator>Damon Wilder Carr</dc:creator>
				<category><![CDATA[C# 3.0 Enhancements]]></category>
		<category><![CDATA[C# 3.0 for Internal DSL]]></category>
		<category><![CDATA[Cannot live Without]]></category>
		<category><![CDATA[Functional Programming]]></category>
		<category><![CDATA[Industry News]]></category>
		<category><![CDATA[Linq]]></category>
		<category><![CDATA[Siverlight]]></category>
		<category><![CDATA[Software Design]]></category>
		<category><![CDATA[Software Futures]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>
		<category><![CDATA[Windows Presentation Foundation]]></category>
		<category><![CDATA[concepts implemented]]></category>
		<category><![CDATA[resharper]]></category>
		<category><![CDATA[software as strategic]]></category>
		<category><![CDATA[.NET 3.5. software craftsman]]></category>
		<category><![CDATA[best addin]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Must-Have]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Resharper]]></category>
		<category><![CDATA[SilverLight]]></category>
		<category><![CDATA[Visual Studio 2008]]></category>

		<guid isPermaLink="false">http://dcarr.wordpress.com/2009/04/16/resharper_4_5_rocks_for_dot_net_c_sharp_silverlight_devs/</guid>
		<description><![CDATA[9 our of 10 studies prove: Resharper make your your hair grow back, your dog come home (yes even if he died), your wife will love you again and your kids will listen to you.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1339&subd=dcarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p align="center">&#160;</p>
<p align="center"><a href="http://www.domaindotnet.com/resharper/whatsnew45.html" target="_blank">Click Here</a> to Watch What’s New </p>
<h5>9 our of 10 studies prove: Resharper make your your hair grow back, your dog come home (yes even if he died), your wife will love you again and your kids will listen to you.</h5>
<p>OK perhaps it is not a country music song played backwards. </p>
<blockquote><p>BUT your nuts to even think about wasting all that time not using it. For someone who knows it is people not tools that always win, this is my only exception in 20 years that I will stand behind.</p>
</blockquote>
<p>&#160;</p>
<p>Why stare at a keyboard for hours wondering how to navigate a nasty tangled refactoring you know you must do when you can do the right thing AND make the 5:30 train.</p>
<p>Me? I hit the shift-ctrl-space repeatedly and am shocked when nothing happens. Then I install it and life is good again.</p>
<h4>ReSharper 4.5 Released</h4>
<p>April 8, 2009</p>
<h6>In This Issue</h6>
<p><a href="http://www.jetbrains.com/news/dotnet/news.html#rs45Intro">Introduction</a>     <br /><a href="http://www.jetbrains.com/news/dotnet/news.html#rs45-1">Performance and Memory Usage Improvements</a>     <br /><a href="http://www.jetbrains.com/news/dotnet/news.html#rs45-2">Solution-Wide Code Inspections</a></p>
<p><a href="http://www.jetbrains.com/news/dotnet/news.html#rs45-3">VB9 Support</a>     <br /><a href="http://www.jetbrains.com/news/dotnet/news.html#rs45-4">Extended Naming Style Configuration</a>     <br /><a href="http://www.jetbrains.com/news/dotnet/news.html#rs45-5">Other Enhancements</a></p>
<h5>Introduction</h5>
<p><b>ReSharper 4.5</b> is finally out, so your next productivity upgrade is just a mouse click away!</p>
<p>As announced, the new version features major improvements in performance and memory usage. After all, what is a productivity tool for if not for being agile, robust and responsive?</p>
<p>In addition to focusing on performance enhancements, we also added a number of intelligence features and improvements.</p>
<p>We&#8217;ve prepared a short <a href="http://www.jetbrains.com/resharper/documentation/presentation/rs45/whatsnew-rs45.html">Flash movie</a> to introduce the new features in ReSharper 4.5. Get the hang of things in just a few minutes! </p>
<p>For users of older versions we have a ReSharper 3.0 vs. ReSharper 4.5 <a href="http://www.jetbrains.com/resharper/features/resharper3_vs_resharper45.html">Comparison matrix</a>. <a href="http://dcarr.files.wordpress.com/2009/04/image.png"><img style="display:inline;border-width:0;margin:2px 0;" title="image" border="0" alt="image" align="right" src="http://dcarr.files.wordpress.com/2009/04/image-thumb.png?w=243&#038;h=244" width="243" height="244" /></a></p>
<p>However, if you believe a thousand words say more than a picture does, or even a movie, go ahead and read the descriptions below :)</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p align="right"><strong>Alex Morozov      <br /></strong>NET product marketing manager&#160; <br />JetBrains</p>
<h5>Performance and Memory Usage Improvements</h5>
<p>We have managed to make ReSharper load and work faster and more smoothly in general, particularly on big (and we mean BIG) solutions:</p>
<ul>
<li>Wall-time measurements of solution loading show 20 to 40 percent acceleration until the solution is ready for code editing. </li>
<li>Web site loading time has also been reduced by a third. </li>
<li>For instance, a certain mixed-language solution consisting of about 15 thousand classes now takes only 70 seconds to load, and this includes making every ReSharper feature available. </li>
</ul>
<p>The list of significantly accelerated operations includes:</p>
<ul>
<li>renaming symbols </li>
<li>finding commonly used symbols </li>
<li>creating symbols from usage </li>
<li>analyzing large XAML files. </li>
</ul>
<p>We&#8217;ve also cut down the volume of memory resources required to analyze jumbo autogenerated code files, which should especially benefit those who work with ASP.NET and LINQ to SQL. </p>
<h5>Solution-Wide Code Inspections</h5>
<p>To enable you to detect unused non-private members on the fly, we have enlisted the help of our ever-improving solution-wide analysis. We have introduced a set of specialized code inspections that only work when you let ReSharper analyze your whole solution. They help you discover:</p>
<ul>
<li>Unused non-private declarations </li>
<li>Unused return values of non-private methods </li>
<li>Unaccessed non-private fields </li>
<li>Unused parameters in non-private members </li>
<li>Abstract or virtual events that are never invoked </li>
<li>Unassigned fields </li>
<li>Members and types that can be made internal instead of public </li>
</ul>
<p>Look for these inspections in your code and on the Marker Bar, highlighted as warnings or suggestions. In addition, new code annotations are available that you can use to mark certain unused non-private types and members to prevent ReSharper from fussing about them.</p>
<h5>VB9 Support – We can forgive this transgression (Damon)</h5>
<p> Visual Basic .NET developers can now benefit from VB9 language support that includes implicitly typed local variables, object initializers, anonymous types, extension methods, lambda expressions, partial methods, and embedded XML. VB9 support is all around you, courtesy of new context actions, code completion, refactorings, and Parameter Info, among other supporting features.<br />
<h5>Extended Naming Style Configuration</h5>
<p>Now you can define custom naming style settings for different languages and symbols including:</p>
<ul>
<li>types </li>
<li>namespaces </li>
<li>interfaces </li>
<li>parameters </li>
<li>method properties and events </li>
<li>static and instance fields, etc. </li>
</ul>
<p>For every kind of symbol, you can configure one of five casing options, prefixes and suffixes, variations for different access rights, abbreviations to preserve, or enable naming inspections. As a result, you can precisely align the way ReSharper completes and generates code with your specific coding guidelines.</p>
<h5>Other Enhancements</h5>
<ul>
<li><b>Go to Implementation</b> &#8211; This new navigation feature lets you jump from usage of a base type or member to any of its end implementations, bypassing intermediate steps in the inheritance chain. </li>
<li><b>New and Improved Refactorings</b> &#8211; ReSharper 4.5 has added Inline Field to its family of Inline refactorings. Rename refactoring now provides name completion, and some of the other refactorings were thoroughly refactored themselves, to make them perform faster. </li>
<li><b>Native MSTest Support</b> &#8211; Initially available through VstsUnit Plugin and then Gallio, MSTest support has finally made its way to being provided natively in ReSharper, on par with nUnit. </li>
<li><b>Wider Cross-Language Capabilities</b> &#8211; Quick-fixes and context actions work better in many cross-language scenarios: for example, you can extend a control written in VB.NET+XAML by choosing &quot;create from usage&quot; right from a C# usage. Add increased coverage for XAML and ASP.NET, and you get a substantial package of improvements. </li>
<li><b>Smoother Language and Framework Support</b> &#8211; Following the tradition of ReSharper 4.1, we have improved compatibility with F#, Compact Framework, Silverlight 2, and other languages and tools. </li>
</ul>
<p>Grab your all-new productivity &#8211; download ReSharper 4.5 now at <a href="http://www.jetbrains.com/resharper/download/index.html">http://www.jetbrains.com/resharper/download</a>. </p>
<p>ReSharper 4.5 is provided as a free upgrade from ReSharper 4.0. If you own an older version, please contact us to check your upgrade availability at <a href="mailto:sales@jetbrains.com">sales@jetbrains.com</a>. </p>
<p>&#160;</p>
<h4>JetBrains Team</h4>
<ul>
<li>
<p><a href="http://www.jetbrains.com/company/people/Anchipolevsky_Sergey.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Sergey_Anchipolevsky_small.gif" />Sergey           <br />Anchipolevsky</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Alshannikov_Igor.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Alshannikov_Igor_small.gif" />Igor           <br />Alshannikov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Anisimov_Alexander.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Anisimov_Alexander_small.gif" />Alexander           <br />Anisimov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Avdeev_Dmitry.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Avdeev_Dmitry_small.gif" />Dmitry           <br />Avdeev</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Baranov_Sergey.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Sergey_Baranov_small.gif" />Sergey           <br />Baranov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Belyaev_Yury.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Yury_Belyaev_small.gif" />Yury           <br />Belyaev</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Belyaeva_Natalia.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Natalia_Belyaeva_small.gif" />Natalia           <br />Belyaeva</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Bukreeva_Elena.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Bukreeva_Elena_small.gif" />Elena           <br />Bukreeva</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Bulenkov_Konstantin.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Bulenkov_Konstantin_small.gif" />Bulenkov           <br />Konstantin</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Charif_Jana.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Jana_Charif_small.gif" />Jana           <br />Charif</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Chashnikov_Nikolay.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Nikolay_Chashnikov_small.gif" />Nikolay           <br />Chashnikov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Alexander_Chernikov.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/soon.gif" />Alexander           <br />Chernikov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Chernyatchik_Roman.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Roman_Chernyatchik_small.gif" />Roman           <br />Chernyatchik</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Coox_Sergey.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Coox_Sergey_small.gif" />Sergey           <br />Coox</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Dmitriev_Sergey.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Sergey_Dmitriev_small.gif" />Sergey           <br />Dmitriev</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Dumov_Ilia.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Ilia_Dumov_small.gif" />Ilia           <br />Dumov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Falk_Kirill.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Kirill_Falk_small.gif" />Kirill           <br />Falk</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Gerasimov_Michael.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Michael_Gerasimov_small.gif" />Michael           <br />Gerasimov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Golovachev_Sergey.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Sergey_Golovachev_small.gif" />Sergey           <br />Golovachev</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Gopachenko_Alexey.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Alexey_Gopachenko_small.gif" />Alexey           <br />Gopachenko</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Gromov_Peter.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Gromov_Peter_small.gif" />Peter           <br />Gromov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Michaela_Hroncova.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Michaela_Hroncova_small.gif" />Michaela           <br />Hroncová</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Jemerov_Dmitry.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Dmitry_Jemerov_small.gif" />Dmitry           <br />Jemerov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Khalusova_Maria.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Khalusova_Maria_small.gif" />Maria           <br />Khalusova</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Kipiatkov_Valentin.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Valentin_Kipiatkov_small.gif" />Valentin           <br />Kipiatkov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Konopko_Cyril.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Konopko_Kirill_small.gif" />Cyril           <br />Konopko</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Kozlova_Anna.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/soon.gif" />Anna           <br />Kozlova</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Kropotov_Mikhail.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Mikhail_Kropotov_small.gif" />Mikhail           <br />Kropotov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Kudelevsky_Eugene.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Kudelevsky_Eugene_small.gif" />Eugene           <br />Kudelevsky</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Kudravtsev_Alexey.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Alexey_Kudravtsev_small.gif" />Alexey           <br />Kudravtsev</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Lobacheva_Olga.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Lobacheva_Olga_small.gif" />Olga           <br />Lobacheva</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Lukianov_Vyacheslav.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Vyacheslav_Lukianov_small.gif" />Vyacheslav           <br />Lukianov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Makeev_Anton.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Anton_Makeev_small.gif" />Anton           <br />Makeev</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Malishev_Egor.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Malishev_Egor_small.gif" />Egor           <br />Malyshev</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Marakulina_Maria.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Maria_Marakulina_small.gif" />Maria           <br />Marakulina</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Maximov_Kirill.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Kirill_Maximov_small.gif" />Kirill           <br />Maximov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Maximova_Sasha.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Sasha_Maximova_small.gif" />Sasha           <br />Maximova</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Megorskaya_Irina.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/soon.gif" />Irina           <br />Megorskaya</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Morawiecova_Lucie.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Morawiecova_Lucie_small.gif" />Lucie           <br />Morawiecova</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Morozov_Alexander.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Morozov_Alexander_small.gif" />Alexander           <br />Morozov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Mossienko_Maxim.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Mossienko_Maxim_small.gif" />Maxim           <br />Mossienko</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Musienko_Ekaterina.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Musienko_Ekaterina_small.gif" />Ekaterina           <br />Musienko</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Oreshnikova_Ann.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Ann_Oreshnikova_small.gif" />Ann           <br />Oreshnikova</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Pasynkov_Eugene.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Eugene_Pasynkov_small.gif" />Eugene           <br />Pasynkov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Pech_Vaclav.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Vaclav_Pech_small.gif" />Vaclav           <br />Pech</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Pegov_Alexey.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Alexey_Pegov_small.gif" />Alexey           <br />Pegov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Petrenko_Eugene.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Petrenko_Eugene_small.gif" />Eugene           <br />Petrenko</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Petrovskaya_Irina.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Irina_Petrovskaya_small.gif" />Irina           <br />Petrovskaya</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Pilin_Mikhail.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Mikhail_Pilin_small.gif" />Mikhail           <br />Pilin</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Repina_Julia.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Julia_Repina_small.gif" />Julia           <br />Repina</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Revyakina_Elizaveta.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Elizaveta_Revyakina_small.gif" />Elizaveta           <br />Revyakina</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Ryzhenkov_Ilya.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Ryzhenkov_Ilya_small.gif" />Ilya           <br />Ryzhenkov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Serebryansky_Andrew.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Serebryansky_Andrew_small.gif" />Andrew           <br />Serebryansky</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Sergey_Ilya.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Sergey_Ilya_small.gif" />Ilya           <br />Sergey</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Shafirov_Maxim.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Maxim_Shafirov_small.gif" />Maxim           <br />Shafirov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Slavina_Tatiana.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Tatiana_Slavina_small.gif" />Tatiana           <br />Slavina</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Smirnova_Olesya.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Olesya_Smirnova_small.gif" />Olesya           <br />Smirnova</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Solomatov_Konstantin.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Konstantin_Solomatov_small.gif" />Konstantin           <br />Solomatov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Stepanov_Oleg.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Oleg_Stepanov_small.gif" />Oleg           <br />Stepanov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Sher_Pavel.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Sher_Pavel_small.gif" />Pavel           <br />Sher</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Shliakhovetskaja_Ekaterina.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Shliakhovetskaja_Ekaterina_small.gif" />Ekaterina           <br />Shliakhovetskaja</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Shpynov_Oleg.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Shpynov_Oleg_small.gif" />Oleg           <br />Shpynov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Shrago_Gregory.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Shrago_Gregory_small.gif" />Gregory           <br />Shrago</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Toporov_Eugene.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Eugene_Toporov_small.gif" />Eugene           <br />Toporov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Udov_George.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Udov_George_small.gif" />George           <br />Udov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Vasiliev_Sergey.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Sergey_Vasiliev_small.gif" />Sergey           <br />Vasiliev</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Yaremych_Natalie.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Natalie_Yaremych_small.gif" />Natalie           <br />Yaremych</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Yarko_Yegor.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Yarko_Yegor_small.gif" />Yegor           <br />Yarko</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Zambalayev_Timur.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Zambalayev_Timur_small.gif" />Timur           <br />Zambalayev</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Zhukov_Sergey.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Sergey_Zhukov_small.gif" />Sergey           <br />Zhukov</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Zhuravlev_Eugene.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Eugene_Zhuravlev_small.gif" />Eugene           <br />Zhuravlev</a></p>
</li>
<li>
<p><a href="http://www.jetbrains.com/company/people/Alexander_Zverev.html"><img alt="photo" src="http://www.jetbrains.com/company/people/photos/Alexander_Zverev_small.gif" />Alexander           <br />Zverev</a></p>
</li>
</ul>
<div class="wlWriterHeaderFooter" style="text-align:right;margin:0;padding:4px 0;"><a href="http://digg.com/submit?url=http%3a%2f%2fdcarr.wordpress.com%2f2009%2f04%2f16%2fresharper_4_5_rocks_for_dot_net_c_sharp_silverlight_devs%2f&amp;title=JetBrains+Resharper+4.5+is+out"><img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border:0;" /></a></div>
Posted in C# 3.0 Enhancements, C# 3.0 for Internal DSL, Cannot live Without, concepts implemented, Functional Programming, Industry News, Linq, resharper, Siverlight, software as strategic, Software Design, Software Futures, Technology, Tips and Tricks, Visual Studio 2010, Windows Presentation Foundation Tagged: .NET 3.5. software craftsman, best addin, C#, Must-Have, Refactoring, Resharper, SilverLight, Visual Studio 2008 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dcarr.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dcarr.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dcarr.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dcarr.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dcarr.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dcarr.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dcarr.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dcarr.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dcarr.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dcarr.wordpress.com/1339/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1339&subd=dcarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.domaindotnet.com/2009/04/16/resharper_4_5_rocks_for_dot_net_c_sharp_silverlight_devs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dd358f816304c13b1d2baaf827ab9ce?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">domain.dot.net team lead</media:title>
		</media:content>

		<media:content url="http://dcarr.files.wordpress.com/2009/04/image-thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Sergey_Anchipolevsky_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Alshannikov_Igor_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Anisimov_Alexander_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Avdeev_Dmitry_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Sergey_Baranov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Yury_Belyaev_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Natalia_Belyaeva_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Bukreeva_Elena_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Bulenkov_Konstantin_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Jana_Charif_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Nikolay_Chashnikov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/soon.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Roman_Chernyatchik_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Coox_Sergey_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Sergey_Dmitriev_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Ilia_Dumov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Kirill_Falk_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Michael_Gerasimov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Sergey_Golovachev_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Alexey_Gopachenko_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Gromov_Peter_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Michaela_Hroncova_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Dmitry_Jemerov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Khalusova_Maria_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Valentin_Kipiatkov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Konopko_Kirill_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/soon.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Mikhail_Kropotov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Kudelevsky_Eugene_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Alexey_Kudravtsev_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Lobacheva_Olga_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Vyacheslav_Lukianov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Anton_Makeev_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Malishev_Egor_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Maria_Marakulina_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Kirill_Maximov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Sasha_Maximova_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/soon.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Morawiecova_Lucie_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Morozov_Alexander_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Mossienko_Maxim_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Musienko_Ekaterina_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Ann_Oreshnikova_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Eugene_Pasynkov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Vaclav_Pech_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Alexey_Pegov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Petrenko_Eugene_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Irina_Petrovskaya_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Mikhail_Pilin_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Julia_Repina_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Elizaveta_Revyakina_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Ryzhenkov_Ilya_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Serebryansky_Andrew_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Sergey_Ilya_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Maxim_Shafirov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Tatiana_Slavina_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Olesya_Smirnova_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Konstantin_Solomatov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Oleg_Stepanov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Sher_Pavel_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Shliakhovetskaja_Ekaterina_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Shpynov_Oleg_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Shrago_Gregory_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Eugene_Toporov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Udov_George_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Sergey_Vasiliev_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Natalie_Yaremych_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Yarko_Yegor_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Zambalayev_Timur_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Sergey_Zhukov_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Eugene_Zhuravlev_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://www.jetbrains.com/company/people/photos/Alexander_Zverev_small.gif" medium="image">
			<media:title type="html">photo</media:title>
		</media:content>

		<media:content url="http://digg.com/img/badges/100x20-digg-button.png" medium="image">
			<media:title type="html">Digg This</media:title>
		</media:content>
	</item>
		<item>
		<title>Silverlight 3 Video Player Demo using H.264 AAC MP4</title>
		<link>http://blog.domaindotnet.com/2009/04/05/silverlight_3_beta_adobe_video_playerworking_now/</link>
		<comments>http://blog.domaindotnet.com/2009/04/05/silverlight_3_beta_adobe_video_playerworking_now/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 04:52:34 +0000</pubDate>
		<dc:creator>Damon Wilder Carr</dc:creator>
				<category><![CDATA[Adobe Video Formats]]></category>
		<category><![CDATA[Digital Media]]></category>
		<category><![CDATA[HD Video]]></category>
		<category><![CDATA[Industry News]]></category>
		<category><![CDATA[Proof Driven Development]]></category>
		<category><![CDATA[Siverlight]]></category>
		<category><![CDATA[Smooth Streaming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[concepts implemented]]></category>
		<category><![CDATA[software as strategic]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[f4v]]></category>
		<category><![CDATA[flash video]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[flv]]></category>
		<category><![CDATA[H.264]]></category>
		<category><![CDATA[H.264 AAC MP4]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[SilverLight]]></category>
		<category><![CDATA[silverlight 3]]></category>
		<category><![CDATA[silverlight 3 beta]]></category>
		<category><![CDATA[silverlight adobe]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://dcarr.wordpress.com/2009/04/05/silverlight_3_beta_adobe_video_playerworking_now/</guid>
		<description><![CDATA[Silverlight 3 plays H.264 AAC MP4  video just fine. Really. Here is proof and a bit of fun with hardware accelerated 50+ FPS results<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1314&subd=dcarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:left;"><a href="http://www.domaindotnet.com/silver3adobevideo.htm" target="_blank"><img class="  " style="border-bottom:black 5px solid;border-left:black 5px solid;display:inline;background:black 0 0;border-top:black 5px solid;border-right:black 5px solid;margin:5px;" src="http://www.domaindotnet.com/adobe_logo.gif" alt="" width="90" height="91" align="right" /></a><em>CORRECTION: If you got here from a link stating Silverlight 3 plays &#8216;Adobe&#8217; video I have been wisely mentored to not spread confusion in that nothing here is Adobe owned. These are open standards. I meant &#8216;Silverlight 3 plays video standards commonly leveraged by Adobe&#8217;.  Thanks Alex and John. In trying to write a catchy headline I just confused the issue. This is why I am a developer, not a writer (grin).</em></p>
<p>Things just got vastly more interesting on the <a href="http://en.wikipedia.org/wiki/Ria_" target="_blank">RIA </a>front, especially for HD Video and Digital Media in general. Why?</p>
<p><a title="Silverlight 3 Adobe Video Media Player" href="http://www.domaindotnet.com/silver3adobevideo.htm" target="_blank"><img style="display:inline;" src="http://www.domaindotnet.com/silverlight3adobevid.png" alt="" width="329" height="218" /></a></p>
<p>Adobe has no reason to ignore <a href="http://en.wikipedia.org/wiki/Silverlight_" target="_blank">Silverlight </a>now…They do that at their own peril and eventual harm.</p>
<h3><strong>Silverlight 3 beta is out. </strong></h3>
<h3><strong><br />
</strong><strong>Hardware Accelerated<br />
Silverlight 3 H.264 AAC MP4  Video<br />
Media Player</strong></h3>
<h3>Oh and also Windows Media including the<br />
latest Smooth Streaming from IIS 7.</h3>
<p><img class="size-medium wp-image-1329 alignnone" title="mediainfo1" src="http://dcarr.files.wordpress.com/2009/04/mediainfo1.jpg?w=326&#038;h=275" alt="mediainfo1" width="326" height="275" /></p>
<p>Check out this video player demo in Silverlight 3 playing an HD format not before available to Silverlight (the first I have ever seen and believe me I looked hard)…</p>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1b73a0b4-ab03-4eb6-8d91-005e51fe20d9" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;">del.icio.us Tags: <a rel="tag" href="http://del.icio.us/popular/adobe">adobe</a>,<a rel="tag" href="http://del.icio.us/popular/f4v">f4v</a>,<a rel="tag" href="http://del.icio.us/popular/flash+video">flash video</a>,<a rel="tag" href="http://del.icio.us/popular/Flex">Flex</a>,<a rel="tag" href="http://del.icio.us/popular/flv">flv</a>,<a rel="tag" href="http://del.icio.us/popular/RIA">RIA</a>,<a rel="tag" href="http://del.icio.us/popular/SilverLight">SilverLight</a>,<a rel="tag" href="http://del.icio.us/popular/silverlight+3">silverlight 3</a>,<a rel="tag" href="http://del.icio.us/popular/silverlight+3+beta">silverlight 3 beta</a>,<a rel="tag" href="http://del.icio.us/popular/silverlight+adobe">silverlight adobe</a>,<a rel="tag" href="http://del.icio.us/popular/Video">Video</a></div>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7011ac63-84fa-4317-a7b5-0c6e00e87398" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/adobe">adobe</a>,<a rel="tag" href="http://technorati.com/tags/f4v">f4v</a>,<a rel="tag" href="http://technorati.com/tags/flash+video">flash video</a>,<a rel="tag" href="http://technorati.com/tags/Flex">Flex</a>,<a rel="tag" href="http://technorati.com/tags/flv">flv</a>,<a rel="tag" href="http://technorati.com/tags/RIA">RIA</a>,<a rel="tag" href="http://technorati.com/tags/SilverLight">SilverLight</a>,<a rel="tag" href="http://technorati.com/tags/silverlight+3">silverlight 3</a>,<a rel="tag" href="http://technorati.com/tags/silverlight+3+beta">silverlight 3 beta</a>,<a rel="tag" href="http://technorati.com/tags/silverlight+adobe">silverlight adobe</a>,<a rel="tag" href="http://technorati.com/tags/Video">Video</a></div>
Posted in Adobe Video Formats, concepts implemented, Digital Media, HD Video, Industry News, Proof Driven Development, Siverlight, Smooth Streaming, software as strategic, Technology Tagged: adobe, f4v, flash video, Flex, flv, H.264, H.264 AAC MP4, RIA, SilverLight, silverlight 3, silverlight 3 beta, silverlight adobe, Video <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dcarr.wordpress.com/1314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dcarr.wordpress.com/1314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dcarr.wordpress.com/1314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dcarr.wordpress.com/1314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dcarr.wordpress.com/1314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dcarr.wordpress.com/1314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dcarr.wordpress.com/1314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dcarr.wordpress.com/1314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dcarr.wordpress.com/1314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dcarr.wordpress.com/1314/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1314&subd=dcarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.domaindotnet.com/2009/04/05/silverlight_3_beta_adobe_video_playerworking_now/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dd358f816304c13b1d2baaf827ab9ce?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">domain.dot.net team lead</media:title>
		</media:content>

		<media:content url="http://www.domaindotnet.com/adobe_logo.gif" medium="image" />

		<media:content url="http://www.domaindotnet.com/silverlight3adobevid.png" medium="image" />

		<media:content url="http://dcarr.files.wordpress.com/2009/04/mediainfo1.jpg?w=300" medium="image">
			<media:title type="html">mediainfo1</media:title>
		</media:content>
	</item>
		<item>
		<title>Martin Fowler and the .NET Developer Mandate for Oslo</title>
		<link>http://blog.domaindotnet.com/2009/02/21/oslo_dot_net_developer_domain_specific_language_mandate/</link>
		<comments>http://blog.domaindotnet.com/2009/02/21/oslo_dot_net_developer_domain_specific_language_mandate/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 22:34:24 +0000</pubDate>
		<dc:creator>Damon Wilder Carr</dc:creator>
				<category><![CDATA[C# 3.0 Enhancements]]></category>
		<category><![CDATA[C# 3.0 for Internal DSL]]></category>
		<category><![CDATA[Domain Specific Languages]]></category>
		<category><![CDATA[Oslo]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>
		<category><![CDATA[software as strategic]]></category>

		<guid isPermaLink="false">http://dcarr.wordpress.com/2009/02/21/oslo_dot_net_developer_domain_specific_language_mandate/</guid>
		<description><![CDATA[All roads for the software developer lead to another acronym. DSLs are for real (indeed you already use a few).<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1302&subd=dcarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblog.domaindotnet.com%2f2009%2f02%2f21%2foslo_dot_net_developer_domain_specific_language_mandate%2f"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblog.domaindotnet.com%2f2009%2f02%2f21%2foslo_dot_net_developer_domain_specific_language_mandate%2f" border="0" alt="kick it on DotNetKicks.com" /></a></p>
<p>As long time advocates of domain-driven practice it should be no surprise that we prefer ‘<a href="http://en.wikipedia.org/wiki/Domain_Specific_Language" target="_blank">Domain Specific Language</a>’ approaches.</p>
<p>Of course now it seems obvious to everyone that these are the future. Sure there were many bumps in the road, but it is not even an interesting debate about ‘if’.</p>
<p>This article is so good from Martin Fowler we had to repost:</p>
<h6>TIP: .NET Developer? Start learning the Oslo set of technologies, especially&#8217; all things ‘M’. We pay tribute to ‘M’ in our demo Silverlight cube on Silverlight.net showcase.</h6>
<p><a href="http://www.martinfowler.com"><img style="display:inline;margin:0;" src="http://www.martinfowler.com/mflogo.gif" alt="martinfowler.com logo" align="right" /></a></p>
<p><a href="DslMigration.html">DslMigration</a><br />
<a href="dsl.html">dsl</a><br />
<strong>4 February 2009</strong><br />
<a href="http://technorati.com/search/http://martinfowler.com/bliki/DslMigration.html">Reactions</a></p>
<p>One danger that DSL advocates need to guard against is the notion that first you design a DSL, then people use it. Like any other deice of software, a successful DSL will evolve. This means that scripts written in an earlier version of a DSL may fail when run with a later version.</p>
<p>Like many properties of DSL, good and bad, this is really very much the same as happens with a library. If you take a library from a someone and they upgrade the library, you may end up stuck. In essence DSLs don&#8217;t really do anything to change that. Your DSL definition is essentially a <a href="PublishedInterface.html">PublishedInterface</a> and you have to deal with the consequences just the same.</p>
<p>This problem can be more prominent with external DSLs. Many changes to an internal DSL can be handled through refactoring tools (for those languages that have them). But refactoring tools won&#8217;t help with an external DSL. In practice this problem is less of an issue than it might be. An internal DSL with scripts that are outside the control of the DSL implementers won&#8217;t be picked up with refactoring. So the only difference between internal and external lies with DSL scripts within the same code base.</p>
<p>One technique for handling evolution of DSLs is to provide tools that automatically migrate a DSL from one version to another. These can be run either during an upgrade, or automatically should you try to run an old version script against a new version.</p>
<p>There are two broad ways to handle migration. The first is an <strong>incremental migration</strong> strategy. This is essentially the same notion that&#8217;s used by people doing <a href="http://martinfowler.com/articles/evodb.html">evolutionary database design</a>. For every change you do to your DSL definition, create a migration program that automatically migrates DSL scripts from the old version to the new version.</p>
<p>An important part of incremental migration is that you keep the changes as small as you can. Imagine you are upgrading from version 1 to 2, and have ten changes you want to make to your DSL definition. In this case, don&#8217;t create just one migration script to migrate from version 1 to 2, instead create at least 10 scripts. Change the DSL definition one feature at a time, and write a migration script for each change. You may find it useful to break it down even more and add a feature with more than one step (and thus more than one migration). They way I&#8217;ve described it may sound like more work than a single script, but the point is that migrations are much easier to write if they are small, and it&#8217;s easy to chain multiple migrations together. As a result you&#8217;ll be much faster writing ten scripts than one.</p>
<p>The other approach is <strong>model-based migration</strong>. This is a tactic you can use if you are using a <a href="http://martinfowler.com/dslwip/SemanticModel.html">Semantic Model</a> (which is something I almost always recommend). With this approach you support multiple parsers for your language, one for each released version. (So you only do this for version 1 and 2, not for the intermediate steps.) Each parser populates the semantic model. When you use a semantic model, the parser&#8217;s behavior is pretty simple, so it&#8217;s not too much trouble to have several of them around. You then run the appropriate parser for the version of script you are working with. This handles multiple versions, but doesn&#8217;t migrate the scripts. To do the migration you write a generator from the semantic model that generates a DSL script representation. This way you can run the parser for a version 1 script, populate the semantic model, and then emit a version 2 script from the generator.</p>
<p>One problem with the model-based approach is that it&#8217;s easy to lose stuff that doesn&#8217;t matter to the semantics, but is something that the script writers want to keep. Comments are the obvious example. This is exacerbated if there&#8217;s too much smarts in the parser, but then the need to migrate this way may help encourage the parsers to stay dumb &#8211; which is Good Thing.</p>
<p>If the change to the DSL is big enough, you may not be able to transform a version 1 script into a version 2 semantic model. In which case you may need to keep a version 1 model (or intermediate model) around and give it the ability to emit a version 2 script.</p>
<p>I don&#8217;t have a strong preference between these two alternatives.</p>
<p>Migration scripts can be run by script programmers themselves when needed, or automatically by the DSL system. In order to run automatically it&#8217;s very useful to have the script record which version of the DSL it is so the parser can detect it easily and trigger the resulting migrations.</p>
<li><a href="http://msdn.com/oslo">Microsoft&#8217;s Codename Oslo</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/bb126235.aspx">Microsoft Visual Studio 2008: Domain-Specific Language Tools</a></li>
<li><a href="http://lambda-the-ultimate.org/taxonomy/term/24">Domain-specific language links from Lambda the Ultimate</a></li>
<li><a href="http://www.faqs.org/docs/artu/minilanguageschapter.html">Eric S. Raymond on minilanguages</a> (from <a href="http://en.wikipedia.org/wiki/The_Art_of_Unix_Programming">The Art of Unix Programming</a>)</li>
<li><a href="http://martinfowler.com/bliki/DomainSpecificLanguage.html">Martin Fowler on domain-specific languages</a> and <a href="http://www.martinfowler.com/articles/languageWorkbench.html">Language Workbenches</a>. Also in <a href="http://www.infoq.com/presentations/domain-specific-languages">a video presentation</a></li>
<li><a href="http://homepages.cwi.nl/~arie/papers/dslbib/">Domain-Specific Languages: An Annotated Bibliography</a></li>
<li><a href="http://www.venge.net/graydon/talks/mkc/html/index.html">One Day Compilers: Building a small domain-specific language using OCaml</a></li>
<li><a href="http://www.usenix.org/publications/library/proceedings/dsl97">Usenix Association: Conference on Domain-Specific Languages (DSL &#8216;97)</a> and <a href="http://www.usenix.org/publications/library/proceedings/dsl99">2nd Conference on Domain-Specific Languages (DSL &#8216;99)</a></li>
<li><a href="http://www.softwaresecretweapons.com/jspwiki/Wiki.jsp?page=BuildVarietyOfConsumerProductsAtLowCostUsingGenerativeProgramming">Feature Models for Generative Programming and DSL</a></li>
<li><a href="http://fragmental.tw/research-on-dsls/domain-specific-languages-dsls/internal-dsls/">Internal Domain-Specific Languages</a></li>
<li>Article <a href="http://www.theserverside.com/tt/articles/article.tss?l=PragmaticGen">External DSLs with Eclipse technology</a></li>
<li>Article <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.4685">Building Domain-Specific Languages over a Language Framework</a></li>
<li>Article <a href="http://www.acceleo.org/pages/using-acceleo-with-gmf/">Using Acceleo with GMF : Generating presentations from a MindMap DSL modeler</a></li>
<li>Article <a href="http://www.methodsandtools.com/archive/archive.php?id=71">UML vs. Domain-Specific Languages</a></li>
<li>Book <a href="http://www.pragmaticprogrammer.com/titles/tpantlr/index.html">The Definitive ANTLR Reference Building Domain-Specific Languages</a></li>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d697368d-f832-4c3e-af8d-ebe2432bbb1d" class="wlWriterEditableSmartContent" style="display:inline;float:none;margin:0;padding:0;">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/oslo">oslo</a>,<a rel="tag" href="http://technorati.com/tags/DSL">DSL</a>,<a rel="tag" href="http://technorati.com/tags/Fowler">Fowler</a>,<a rel="tag" href="http://technorati.com/tags/C%23">C#</a>,<a rel="tag" href="http://technorati.com/tags/M">M</a></div>
<h3><a href="http://msdn.microsoft.com/en-us/library/dd129873.aspx" target="_blank">Microsoft &#8220;Oslo&#8221; Frequently Asked Questions</a></h3>
Posted in C# 3.0 Enhancements, C# 3.0 for Internal DSL, Domain Specific Languages, Oslo, software as strategic, Visual Studio 2010  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dcarr.wordpress.com/1302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dcarr.wordpress.com/1302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dcarr.wordpress.com/1302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dcarr.wordpress.com/1302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dcarr.wordpress.com/1302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dcarr.wordpress.com/1302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dcarr.wordpress.com/1302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dcarr.wordpress.com/1302/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dcarr.wordpress.com/1302/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dcarr.wordpress.com/1302/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1302&subd=dcarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.domaindotnet.com/2009/02/21/oslo_dot_net_developer_domain_specific_language_mandate/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dd358f816304c13b1d2baaf827ab9ce?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">domain.dot.net team lead</media:title>
		</media:content>

		<media:content url="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblog.domaindotnet.com%2f2009%2f02%2f21%2foslo_dot_net_developer_domain_specific_language_mandate%2f" medium="image">
			<media:title type="html">kick it on DotNetKicks.com</media:title>
		</media:content>

		<media:content url="http://www.martinfowler.com/mflogo.gif" medium="image">
			<media:title type="html">martinfowler.com logo</media:title>
		</media:content>
	</item>
		<item>
		<title>Visual Studio 2010 CTP resources</title>
		<link>http://blog.domaindotnet.com/2009/02/18/visual-studio-2010-ctp-resources/</link>
		<comments>http://blog.domaindotnet.com/2009/02/18/visual-studio-2010-ctp-resources/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 22:51:56 +0000</pubDate>
		<dc:creator>Damon Wilder Carr</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://dcarr.wordpress.com/2009/02/18/visual-studio-2010-ctp-resources/</guid>
		<description><![CDATA[&#160;
As a convenience I’ve posted the CTP assets for Visual Studio 2010.
&#160;
You can find them here:
&#160;
http://www.ny.proxydns.com/vs2010/
 
&#160;
Visual Studio 2010 and .NET Framework 4.0 Training Kit &#8211; November Preview
&#160;
&#160;
&#160;
&#160;
&#160;
The Visual Studio 2010 and .NET Framework 4.0 Training Kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1301&subd=dcarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>&#160;</p>
<p>As a convenience I’ve posted the CTP assets for Visual Studio 2010.</p>
<p>&#160;</p>
<p>You can find them here:</p>
<p>&#160;</p>
<p><a title="http://www.ny.proxydns.com/vs2010/" href="http://www.ny.proxydns.com/vs2010/" target="_blank">http://www.ny.proxydns.com/vs2010/</a></p>
<p><a href="http://dcarr.files.wordpress.com/2009/02/dpe20visual20studio20201020ctp2020800w.png"><img title="DPE%20(Visual%20Studio%202010%20CTP)%20-%20800w" style="border-right:0;border-top:0;display:inline;border-left:0;border-bottom:0;" height="87" alt="DPE%20(Visual%20Studio%202010%20CTP)%20-%20800w" src="http://dcarr.files.wordpress.com/2009/02/dpe20visual20studio20201020ctp2020800w-thumb.png?w=470&#038;h=87" width="470" border="0" /></a> </p>
<p>&#160;</p>
<h2>Visual Studio 2010 and .NET Framework 4.0 Training Kit &#8211; November Preview</h2>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>The Visual Studio 2010 and .NET Framework 4.0 Training Kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize the Visual Studio 2010 features and a variety of framework technologies including: C# 4.0, Visual Basic 10, F#, Parallel Computing Platform, WCF, WF, WPF, ASP.NET AJAX 4.0, ASP.NET MVC Dynamic Data. </p>
<p>Prerequisites</p>
<p>The following software packages must be installed in order to complete the labs in this training kit. Items that are required only for specific parts ot the kit are indicated below. </p>
<p>Microsoft Windows Vista or Windows Server 2008    <br />Microsoft Visual Studio 2010     <br />Microsoft .NET Framework 4.0 </p>
<p>&#160;</p>
<p>&#160;</p>
<h2 style="width:173px;height:34px;">
<p>Presentations</p>
<p>&#160;</p>
</p>
</h2>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<h4>Overview of the .NET Framework 4.0</h4>
<p>This presentation goes over the new technologies and enhancements being made in the version 4 release of the .NET Framework. </p>
<p>&#160;</p>
<h4>Overview of the Visual Studio 2010</h4>
<p>This presentation covers is a high-level over of the value propositions for Visual Studio 2010 and a walkthrough some of the great features being added to the IDE. </p>
<p>&#160;</p>
<p>This training kit will be updated with additional presentations in the future.</p>
<p>Hands-on-Labs</p>
<h3>Visual Studio 2010: Office Programmability</h3>
<p>In this lab you will see how new features in Visual Studio 2010, C# 4.0, and Visual Basic 10 make it easer to develop applications leveraging Microsoft Office. Additionally, you&#8217;ll see a number of other powerful features which speed other elements of Office development.</p>
<p>&#160;</p>
<h3>Visual Studio 2010: Test Driven Development</h3>
<p>Visual Studio 2010 brings with it several enhancements to help cut development friction and enable the developer to focus on the task at hand: writing high-quality code. In the following exercises we&#8217;ll highlight several of the new features that the TDD developer can use to enhance his/her development cadence. Visual Studio helps your cadence by cutting the number of keystrokes to accomplish frequently performed tasks, speeds navigation through your solution, and enables you to use test frameworks other than MSTest.</p>
<p>&#160;</p>
<h3>Parallel Extensions: Building Multicore Applications with .NET</h3>
<p>Microsoft&#8217;s Parallel Computing Platform (PCP) is providing tools enabling developers to leverage the power of Multicore processors in an efficient, maintainable, and scalable manner. Parallel Extensions to the .NET Framework brings several important concepts into this toolset. In this Hands-On Lab, you will learn how to parallelize an existing algorithm by using the static Parallel helper class, create and run Tasks, use the Future&lt;T&gt; class to create and run Tasks that return a value and use Parallel LINQ (PLINQ) to optimize LINQ queries to exectue in a parallel environment </p>
<p>&#160;</p>
<h3>Introduction To Managed Extensibility Framework</h3>
<p><strong>The Managed Extensibility Framework (MEF) allows developers to provide hooks into their .NET applications for extensions by first and third parties. MEF can be thought of as a general application extension facility. In this Hands-On Lab, you will learn how to define extensibility points for components, perform conditional binding and component creation and import extended assemblies while an application is running. </strong></p>
<p>&#160;</p>
<h3>ASP.NET AJAX</h3>
<p>In this Hands-On Lab, you will learn how to leverage new client-side templates to easily bind data to your UI, use the DataView control to render data on the client, extend the template engine by creating custom Markup Extensions, and declaratively instantiate behaviors and controls </p>
<p>&#160;</p>
<h3>ASP.NET Dynamic Data</h3>
<p>ASP.NET Dynamic Data MVC allows developers to create web based applications that dynamically create pages based on the application&#8217;s data model. ASP.NET Dynamic Data MVC provides scaffolding and templates that are easily customizable and extensible to reflect the custom functionality required for a solution. In this Hands-On Lab, you will learn how to use Dynamic Data MVC to easily render data over forms and then to easily create your own views and enforce data validation. </p>
<p>&#160;</p>
<h3>Intro To Project &quot;Velocity&quot;</h3>
<p>In this Hands-On Lab, you will learn how to install and configure Velocity, program against Velocity&#8217;s API and use Velocity&#8217;s SessionState provider with ASP.NET.</p>
<p>&#160;</p>
<h3>Intro To F#</h3>
<p>This Hands-On Lab is comprised by the following exercises. Examine the basic F# types including tuples and functions. Discover how the &quot;let&quot; keyword allows values to be bound to identifiers. See that in F# functions are the same as any other value, and are handled the same way. Demonstrate how this allows advanced language features such as partially-applied or &quot;curried&quot; functions. Discover how F# lists are built and the power that can be achieved by F#&#8217;s &quot;Head + Tail&quot; approach. Demonstrate the powerful pattern matching and recursion capabilities of F#. Demonstrate the power and usefulness of discriminated unions in F#.</p>
Posted in Technology  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dcarr.wordpress.com/1301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dcarr.wordpress.com/1301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dcarr.wordpress.com/1301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dcarr.wordpress.com/1301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dcarr.wordpress.com/1301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dcarr.wordpress.com/1301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dcarr.wordpress.com/1301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dcarr.wordpress.com/1301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dcarr.wordpress.com/1301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dcarr.wordpress.com/1301/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1301&subd=dcarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.domaindotnet.com/2009/02/18/visual-studio-2010-ctp-resources/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dd358f816304c13b1d2baaf827ab9ce?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">domain.dot.net team lead</media:title>
		</media:content>

		<media:content url="http://dcarr.files.wordpress.com/2009/02/dpe20visual20studio20201020ctp2020800w-thumb.png" medium="image">
			<media:title type="html">DPE%20(Visual%20Studio%202010%20CTP)%20-%20800w</media:title>
		</media:content>
	</item>
		<item>
		<title>Advanced Bidirectional Silverlight 2.0 to ASP.NET Integration &#8211; Part 1</title>
		<link>http://blog.domaindotnet.com/2008/12/23/silverlight_aspnet_bidirectional_integration-2/</link>
		<comments>http://blog.domaindotnet.com/2008/12/23/silverlight_aspnet_bidirectional_integration-2/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 06:35:43 +0000</pubDate>
		<dc:creator>Damon Wilder Carr</dc:creator>
				<category><![CDATA[Siverlight]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Windows Presentation Foundation]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C# 3.0]]></category>
		<category><![CDATA[HtmlBridge]]></category>
		<category><![CDATA[InitParameters]]></category>
		<category><![CDATA[InitParams]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[ORM]]></category>
		<category><![CDATA[SilverLight]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://dcarr.wordpress.com/2008/12/23/silverlight_aspnet_bidirectional_integration/</guid>
		<description><![CDATA[Post covering techniques for both sending data into your Silverlight environment from ASP.NET as well as getting data out of Silverlight. You may think you need to resort to ‘pushing’ all data from Silverlight into say a service using WCF but that is not the case in many scenarios. For example, you may have activity which the user creates inside Silverlight 2.0 that results in visual elements you want to send out to ASP.NET for persistence in your ORM environment (where Silverlight has no involvement).<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1249&subd=dcarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblog.domaindotnet.com%2f2008%2f12%2f23%2fsilverlight_aspnet_bidirectional_integration-2%2f"><img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblog.domaindotnet.com%2f2008%2f12%2f23%2fsilverlight_aspnet_bidirectional_integration-2%2f" /></a></p>
<p><a href="http://digg.com/submit?url=http%3a%2f%2fdcarr.wordpress.com%2f2008%2f12%2f23%2fsilverlight_aspnet_bidirectional_integration-2%2f&amp;title=Advanced+Bidirectional+Silverlight+2.0+to+ASP.NET+Integration+%e2%80%93+Part+1"><img style="border-width:0;" title="Digg This" border="0" alt="Digg This" src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" /></a></p>
<p><a href="http://dcarr.files.wordpress.com/2008/12/silverlight-logo-2.png"><img style="display:inline;border-width:0;" title="Silverlight_Logo_2" border="0" alt="Silverlight_Logo_2" src="http://dcarr.files.wordpress.com/2008/12/silverlight-logo-2-thumb.png?w=244&#038;h=82" width="244" height="82" /></a></p>
<p>This is the first post covering techniques for both sending data into your Silverlight environment from ASP.NET as well as getting data out of Silverlight without resorting to a lot of new elements in your architecture. The goal is to use what you already have with the least fuss.</p>
<p>You may think you need to resort to ‘pushing’ all data from Silverlight into say a service using WCF but that is not the case in many scenarios.</p>
<p>For example, you may have activity which the user creates inside Silverlight 2.0 that results in visual elements you want to send out to ASP.NET for persistence in your ORM environment (where Silverlight has no involvement).</p>
<h2 style="width:380px;height:32px;">From ASP.NET to Silverlight 2.0</h2>
<p>First, let’s quickly review the easiest way to pass information into your Silverlight control.</p>
<h3>InitParamaters</h3>
<p>Here is the on-line help:</p>
<blockquote><p>If parameters are included, they are typically in comma-delimited pairs and are available as a dictionary object in a Silverlight 2 startup event. <strong>These parameters are not used in a Silverlight 1.0-based application.</strong></p>
<p>If an action on an .aspx page causes a postback to occur, the Silverlight plug-in will start again with its content specified in the <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.silverlightcontrols.silverlight.source(VS.95).aspx">Source</a> property. The current value of the InitParameters property is sent to the Silverlight plug-in. <strong>This enables you to change the InitParameters property before a postback occurs.</strong></p>
<p>The Silverlight 2 application specified in the <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.silverlightcontrols.silverlight.source(VS.95).aspx">Source</a> property can access the initialization parameters specified in the InitParameters property in the <a href="http://msdn.microsoft.com/en-us/library/system.windows.startupeventargs(VS.95).aspx">StartupEventArgs</a> parameter of the Silverlight Application <a href="http://msdn.microsoft.com/en-us/library/system.windows.application.startup(VS.95).aspx">Startup</a> event.</p>
</blockquote>
<p>We will walk through an entire example of this, including some content that will make sense in how we can move data back out of Silverlight 2.0 to ASP.NET.</p>
<h3>Code for this Scenario</h3>
<p>We will be using a web UserControl (.ascx) as our control in this example, because as you will see, we need more than just the Silverlight control to make this work.</p>
<h4>ASCX Host</h4>
<div>
<pre class="code"><span style="background:#151515;color:#f35c47;">&lt;%</span><span style="background:#151515;color:#f2f200;">@ </span><span style="background:#151515;color:#f4503e;">Control </span><span style="background:#151515;color:#f0ec4a;">Language</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;C#&quot; </span><span style="background:#151515;color:#f0ec4a;">AutoEventWireup</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;true&quot; </span><span style="background:#151515;color:#f0ec4a;">CodeBehind</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;SilverlightInt.ascx.cs&quot;
  </span><span style="background:#151515;color:#f0ec4a;">Inherits</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;SilverlightInt&quot; </span><span style="background:#151515;color:#f35c47;">%&gt;
&lt;%</span><span style="background:#151515;color:#f2f200;">@ </span><span style="background:#151515;color:#f4503e;">Register </span><span style="background:#151515;color:#f0ec4a;">Assembly</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;System.Web.Silverlight&quot;</span></pre>
<pre class="code"><span style="background:#151515;color:#a8a8ff;"> </span><span style="background:#151515;color:#f0ec4a;">Namespace</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;System.Web.UI.SilverlightControls&quot;
    </span><span style="background:#151515;color:#f0ec4a;">TagPrefix</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;asp&quot; </span><span style="background:#151515;color:#f35c47;">%&gt;
</span><span style="background:#151515;color:#f2f200;">&lt;</span><span style="background:#151515;color:#f4503e;">asp</span><span style="background:#151515;color:#ecc03e;">:</span><span style="background:#151515;color:#f4503e;">Silverlight </span><span style="background:#151515;color:#f0ec4a;">ID</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;SilverlightView&quot; </span><span style="background:#151515;color:#f0ec4a;">runat</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;server&quot; </span></pre>
<pre class="code"><span style="background:#151515;color:#a8a8ff;"></span><span style="background:#151515;color:#f0ec4a;">Source</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;~/ClientBin/AspNetIntegration.xap&quot;
    </span><span style="background:#151515;color:#f0ec4a;">MinimumVersion</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;2.0.31005.0&quot; </span><span style="background:#151515;color:#f2f200;">/&gt;
&lt;</span><span style="background:#151515;color:#f4503e;">asp</span><span style="background:#151515;color:#ecc03e;">:</span><span style="background:#151515;color:#f4503e;">TextBox </span><span style="background:#151515;color:#f0ec4a;">ID</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;SilverOutput&quot; </span><span style="background:#151515;color:#f0ec4a;">runat</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;server&quot;  </span></pre>
<pre class="code"><span style="background:#151515;color:#a8a8ff;"> </span><span style="background:#151515;color:#f0ec4a;">Style</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;</span><span style="background:#151515;color:#f4503e;">display</span><span style="background:#151515;color:white;">: </span><span style="background:#151515;color:#9cf5c0;">none</span><span style="background:#151515;color:#a8a8ff;">&quot;</span><span style="background:#151515;color:#f2f200;">&gt;&lt;/</span><span style="background:#151515;color:#f4503e;">asp</span><span style="background:#151515;color:#ecc03e;">:</span><span style="background:#151515;color:#f4503e;">TextBox</span><span style="background:#151515;color:#f2f200;">&gt;</span><a href="http://11011.net/software/vspaste"></a></pre>
</div>
<h4>ASCX Code Behind</h4>
<pre class="code"><span style="background:#151515;color:white;">    </span><span style="background:#151515;color:#ecc03e;">public partial class </span><span style="background:#151515;color:#2b91af;">SilverlightInt </span><span style="background:#151515;color:white;">: </span><span style="background:#151515;color:#2b91af;">UserControl
    </span><span style="background:#151515;color:white;">{
        [</span><span style="background:#151515;color:#2b91af;">Browsable</span><span style="background:#151515;color:white;">(</span><span style="background:#151515;color:#ecc03e;">true</span><span style="background:#151515;color:white;">)]
        </span><span style="background:#151515;color:#ecc03e;">public </span><span style="background:#151515;color:#2b91af;">String </span><span style="background:#151515;color:white;">InitialText { </span><span style="background:#151515;color:#ecc03e;">get</span><span style="background:#151515;color:white;">; </span><span style="background:#151515;color:#ecc03e;">set</span><span style="background:#151515;color:white;">; }

        </span><span style="background:#151515;color:#ecc03e;">protected void </span><span style="background:#151515;color:white;">Page_Load(</span><span style="background:#151515;color:#ecc03e;">object </span><span style="background:#151515;color:white;">sender, </span><span style="background:#151515;color:#2b91af;">EventArgs </span><span style="background:#151515;color:white;">e)
        {
            SetSilverlightInitParamaters();
        }

        </span><span style="background:#151515;color:#ecc03e;">void </span><span style="background:#151515;color:white;">SetSilverlightInitParamaters()
        {
            </span><span style="background:#151515;color:#e388dd;">// Note: We need the client ID for later...
            </span><span style="background:#151515;color:#ecc03e;">var </span><span style="background:#151515;color:white;">InitParams = </span><span style="background:#151515;color:#ecc03e;">new </span><span style="background:#151515;color:#2b91af;">Dictionary</span><span style="background:#151515;color:white;">&lt;</span><span style="background:#151515;color:#2b91af;">String</span><span style="background:#151515;color:white;">, </span><span style="background:#151515;color:#2b91af;">String</span><span style="background:#151515;color:white;">&gt;
                             {
                                 {
                                     </span><span style="background:#151515;color:#ecc03e;">&quot;outputcontrol&quot;</span><span style="background:#151515;color:white;">,
                                    SilverOutput.ClientID
                                     },
                                 {
                                     </span><span style="background:#151515;color:#ecc03e;">&quot;InitialText&quot;</span><span style="background:#151515;color:white;">,
                               InitialText ?? </span><span style="background:#151515;color:#ecc03e;">&quot;Hello World&quot;
                                     </span><span style="background:#151515;color:white;">}
                             };

            SilverlightView.InitParameters =          </span></pre>
<pre class="code"><span style="background:#151515;color:white;">         InitParams.ToSilverlightInit();
        }
    }
</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>You might notice the extension method ToSilverlightInit(). Here is the code:</p>
<pre class="code"><span style="background:#151515;color:white;"> </span><span style="background:#151515;color:#ecc03e;">public static class </span><span style="background:#151515;color:#2b91af;">SilverlightIntegrationExtensions
    </span><span style="background:#151515;color:white;">{
        </span><span style="background:#151515;color:gray;">/// &lt;summary&gt;
        /// </span><span style="background:#151515;color:green;">Parse the dictionary into Silverlight format
        </span><span style="background:#151515;color:gray;">/// </span><span style="background:#151515;color:green;">for InitParams
        </span><span style="background:#151515;color:gray;">/// &lt;/summary&gt;
        /// &lt;param name=&quot;target&quot;&gt;</span><span style="background:#151515;color:green;">The target.</span><span style="background:#151515;color:gray;">&lt;/param&gt;
        /// &lt;returns&gt;&lt;/returns&gt;
        </span><span style="background:#151515;color:#ecc03e;">public static </span><span style="background:#151515;color:#2b91af;">String </span><span style="background:#151515;color:white;">ToSilverlightInit(
             </span><span style="background:#151515;color:#ecc03e;">this </span><span style="background:#151515;color:#9185fa;">IDictionary</span><span style="background:#151515;color:white;">&lt;</span><span style="background:#151515;color:#2b91af;">String</span><span style="background:#151515;color:white;">, </span><span style="background:#151515;color:#2b91af;">String</span><span style="background:#151515;color:white;">&gt; target)
        {
            </span><span style="background:#151515;color:#ecc03e;">if </span><span style="background:#151515;color:white;">(target == </span><span style="background:#151515;color:#ecc03e;">null</span><span style="background:#151515;color:white;">)
                </span><span style="background:#151515;color:#ecc03e;">throw new </span><span style="background:#151515;color:#2b91af;">ArgumentNullException</span><span style="background:#151515;color:white;">(</span><span style="background:#151515;color:#ecc03e;">&quot;target&quot;</span><span style="background:#151515;color:white;">);

            </span><span style="background:#151515;color:#ecc03e;">var </span><span style="background:#151515;color:white;">stringBuffer = </span><span style="background:#151515;color:#ecc03e;">new </span><span style="background:#151515;color:#2b91af;">StringBuilder</span><span style="background:#151515;color:white;">();

            </span><span style="background:#151515;color:#ecc03e;">foreach</span><span style="background:#151515;color:white;">(</span><span style="background:#151515;color:#ecc03e;">var </span><span style="background:#151515;color:white;">kvp </span><span style="background:#151515;color:#ecc03e;">in </span><span style="background:#151515;color:white;">target)
            {
                </span><span style="background:#151515;color:#ecc03e;">if </span><span style="background:#151515;color:white;">(stringBuffer.Length &gt; 0)
                    stringBuffer.Append(</span><span style="background:#151515;color:#ecc03e;">&quot;,&quot;</span><span style="background:#151515;color:white;">);

                </span><span style="background:#151515;color:#e388dd;">// Eliminate case sensitivity
              </span><span style="background:#151515;color:white;">stringBuffer.Append(kvp.Key.ToLower()
                + </span><span style="background:#151515;color:#ecc03e;">&quot;=&quot; </span><span style="background:#151515;color:white;">+ kvp.Value);

            }

            </span><span style="background:#151515;color:#ecc03e;">return </span><span style="background:#151515;color:white;">stringBuffer.ToString();

        }

    }</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>This is hosted in a normal ASPX page as follows (surrounding detail omitted):</p>
<pre class="code"><span style="background:#151515;color:white;">  </span><span style="background:#151515;color:#f2f200;">&lt;</span><span style="background:#151515;color:#f4503e;">form </span><span style="background:#151515;color:#f0ec4a;">id</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;form1&quot; </span><span style="background:#151515;color:#f0ec4a;">runat</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;server&quot; </span><span style="background:#151515;color:#f0ec4a;">style</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;</span><span style="background:#151515;color:#f4503e;">height</span><span style="background:#151515;color:white;">: </span><span style="background:#151515;color:#9cf5c0;">100%</span><span style="background:#151515;color:white;">;</span><span style="background:#151515;color:#a8a8ff;">&quot;</span><span style="background:#151515;color:#f2f200;">&gt;
    &lt;</span><span style="background:#151515;color:#f4503e;">asp</span><span style="background:#151515;color:#ecc03e;">:</span><span style="background:#151515;color:#f4503e;">ScriptManager </span><span style="background:#151515;color:#f0ec4a;">ID</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;ScriptManager1&quot; </span><span style="background:#151515;color:#f0ec4a;">runat</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;server&quot;</span><span style="background:#151515;color:#f2f200;">&gt;
    &lt;/</span><span style="background:#151515;color:#f4503e;">asp</span><span style="background:#151515;color:#ecc03e;">:</span><span style="background:#151515;color:#f4503e;">ScriptManager</span><span style="background:#151515;color:#f2f200;">&gt;
    &lt;</span><span style="background:#151515;color:#f4503e;">div</span><span style="background:#151515;color:#f2f200;">&gt;
        &lt;</span><span style="background:#151515;color:#f4503e;">asp</span><span style="background:#151515;color:#ecc03e;">:</span><span style="background:#151515;color:#f4503e;">Image </span><span style="background:#151515;color:#f0ec4a;">Width</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;300px&quot; </span><span style="background:#151515;color:#f0ec4a;">ImageUrl</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;Silverlight_Logo_2.png&quot;
           </span><span style="background:#151515;color:#f0ec4a;">runat</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;server&quot; </span><span style="background:#151515;color:#f2f200;">/&gt;
        &lt;</span><span style="background:#151515;color:#f4503e;">br </span><span style="background:#151515;color:#f2f200;">/&gt;
        &lt;</span><span style="background:#151515;color:#f4503e;">asp</span><span style="background:#151515;color:#ecc03e;">:</span><span style="background:#151515;color:#f4503e;">Literal </span><span style="background:#151515;color:#f0ec4a;">ID</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;sentText&quot; </span><span style="background:#151515;color:#f0ec4a;">runat</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;server&quot; </span><span style="background:#151515;color:#f2f200;">/&gt;&lt;</span><span style="background:#151515;color:#f4503e;">br </span><span style="background:#151515;color:#f2f200;">/&gt;
        &lt;</span><span style="background:#151515;color:#f4503e;">hr </span><span style="background:#151515;color:#f2f200;">/&gt;
        &lt;</span><span style="background:#151515;color:#f4503e;">integrate</span><span style="background:#151515;color:#ecc03e;">:</span><span style="background:#151515;color:#f4503e;">SilverlightInt </span><span style="background:#151515;color:#f0ec4a;">ID</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;SilverlightInt1&quot;
           </span><span style="background:#151515;color:#f0ec4a;">runat</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;server&quot;     </span><span style="background:#151515;color:#f0ec4a;">InitialText</span><span style="background:#151515;color:#ecc03e;">=</span><span style="background:#151515;color:#a8a8ff;">&quot;This is a Test&quot; </span><span style="background:#151515;color:#f2f200;">/&gt;
    &lt;/</span><span style="background:#151515;color:#f4503e;">div</span><span style="background:#151515;color:#f2f200;">&gt;
    &lt;/</span><span style="background:#151515;color:#f4503e;">form</span><span style="background:#151515;color:#f2f200;">&gt;</span></pre>
<p><a href="http://11011.net/software/vspaste"></a>Here is what it looks like:</p>
<p><a href="http://dcarr.files.wordpress.com/2008/12/image1.png"><img style="display:inline;border-width:0;" title="image" border="0" alt="image" src="http://dcarr.files.wordpress.com/2008/12/image-thumb1.png?w=282&#038;h=384" width="282" height="384" /></a></p>
<h3>Silverlight Code for Initialization</h3>
<pre class="code"><span style="background:#151515;color:white;"> </span><span style="background:#151515;color:#ecc03e;">public partial class </span><span style="background:#151515;color:#2b91af;">App </span><span style="background:#151515;color:white;">: </span><span style="background:#151515;color:#2b91af;">Application
    </span><span style="background:#151515;color:white;">{
        </span><span style="background:#151515;color:#ecc03e;">public </span><span style="background:#151515;color:white;">App()
        {
            Startup += Application_Startup;
            UnhandledException += Application_UnhandledException;
            InitializeComponent();
        }

        </span><span style="background:#151515;color:#ecc03e;">void </span><span style="background:#151515;color:white;">Application_Startup(</span><span style="background:#151515;color:#ecc03e;">object </span><span style="background:#151515;color:white;">sender, </span><span style="background:#151515;color:#2b91af;">StartupEventArgs </span><span style="background:#151515;color:white;">e)
        {
            </span><span style="background:#151515;color:#ecc03e;">var </span><span style="background:#151515;color:white;">PassedInArguments = e.InitParams;
            RootVisual = </span><span style="background:#151515;color:#ecc03e;">new </span><span style="background:#151515;color:#2b91af;">SilverlightView</span><span style="background:#151515;color:white;">(PassedInArguments);
        }
</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>The interesting parts are that we are accessing the InitParams off the Startup’s ‘e’ object. This is a Dictionary&lt;String,String&gt; which is what prompted the ASP.NET design.</p>
<p>Also, we do not use a paramaterless constructor on the initial RootVisual. Instead this is the code:</p>
<h4>Silverlight View</h4>
<pre class="code"><span style="background:#151515;color:#f4503e;">&lt;</span><span style="background:#151515;color:#ecc03e;">UserControl </span><span style="background:#151515;color:#f4503e;">x:Class=</span><span style="background:#151515;color:#a8a8ff;">&quot;AspNetIntegration.SilverlightView&quot;
    </span><span style="background:#151515;color:#f4503e;">xmlns=</span><span style="background:#151515;color:#a8a8ff;">&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;
    </span><span style="background:#151515;color:#f4503e;">xmlns:x=</span><span style="background:#151515;color:#a8a8ff;">&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;</span><span style="background:#151515;color:#f4503e;">&gt;

    &lt;</span><span style="background:#151515;color:#ecc03e;">Grid </span><span style="background:#151515;color:#f4503e;">HorizontalAlignment=</span><span style="background:#151515;color:#a8a8ff;">&quot;Left&quot; </span><span style="background:#151515;color:#f4503e;">VerticalAlignment=</span><span style="background:#151515;color:#a8a8ff;">&quot;Top&quot;
       </span><span style="background:#151515;color:#f4503e;">x:Name=</span><span style="background:#151515;color:#a8a8ff;">&quot;LayoutRoot&quot; </span><span style="background:#151515;color:#f4503e;">Background=</span><span style="background:#151515;color:#a8a8ff;">&quot;Gray&quot;</span><span style="background:#151515;color:#f4503e;">&gt;
        &lt;</span><span style="background:#151515;color:#ecc03e;">Grid.RowDefinitions</span><span style="background:#151515;color:#f4503e;">&gt;
            &lt;</span><span style="background:#151515;color:#ecc03e;">RowDefinition </span><span style="background:#151515;color:#f4503e;">Height=</span><span style="background:#151515;color:#a8a8ff;">&quot;30&quot; </span><span style="background:#151515;color:#f4503e;">/&gt;
            &lt;</span><span style="background:#151515;color:#ecc03e;">RowDefinition </span><span style="background:#151515;color:#f4503e;">Height=</span><span style="background:#151515;color:#a8a8ff;">&quot;30&quot; </span><span style="background:#151515;color:#f4503e;">/&gt;
        &lt;/</span><span style="background:#151515;color:#ecc03e;">Grid.RowDefinitions</span><span style="background:#151515;color:#f4503e;">&gt;
        &lt;</span><span style="background:#151515;color:#ecc03e;">Grid.ColumnDefinitions</span><span style="background:#151515;color:#f4503e;">&gt;
            &lt;</span><span style="background:#151515;color:#ecc03e;">ColumnDefinition </span><span style="background:#151515;color:#f4503e;">Width=</span><span style="background:#151515;color:#a8a8ff;">&quot;150&quot; </span><span style="background:#151515;color:#f4503e;">/&gt;
        &lt;/</span><span style="background:#151515;color:#ecc03e;">Grid.ColumnDefinitions</span><span style="background:#151515;color:#f4503e;">&gt;

        &lt;</span><span style="background:#151515;color:#ecc03e;">TextBlock </span><span style="background:#151515;color:#f4503e;">HorizontalAlignment=</span><span style="background:#151515;color:#a8a8ff;">&quot;Center&quot;       </span></pre>
<pre class="code"><span style="background:#151515;color:#a8a8ff;">     </span><span style="background:#151515;color:#f4503e;">VerticalAlignment=</span><span style="background:#151515;color:#a8a8ff;">&quot;Center&quot;
             </span><span style="background:#151515;color:#f4503e;">Grid.Row=</span><span style="background:#151515;color:#a8a8ff;">&quot;0&quot; </span><span style="background:#151515;color:#f4503e;">Text=</span><span style="background:#151515;color:#a8a8ff;">&quot;Inside Silverlight&quot; </span><span style="background:#151515;color:#f4503e;">/&gt;
        &lt;</span><span style="background:#151515;color:#ecc03e;">TextBox </span><span style="background:#151515;color:#f4503e;">LostFocus=</span><span style="background:#151515;color:#a8a8ff;">&quot;SendResultBackToAspNet&quot; </span><span style="background:#151515;color:#f4503e;">Grid.Row=</span><span style="background:#151515;color:#a8a8ff;">&quot;1&quot;
          </span><span style="background:#151515;color:#f4503e;">BorderThickness=</span><span style="background:#151515;color:#a8a8ff;">&quot;2&quot; </span><span style="background:#151515;color:#f4503e;">BorderBrush=</span><span style="background:#151515;color:#a8a8ff;">&quot;Black&quot;               </span></pre>
<pre class="code"><span style="background:#151515;color:#a8a8ff;">  </span><span style="background:#151515;color:#f4503e;">x:Name=</span><span style="background:#151515;color:#a8a8ff;">&quot;initialText&quot;  </span><span style="background:#151515;color:#f4503e;">/&gt;

    &lt;/</span><span style="background:#151515;color:#ecc03e;">Grid</span><span style="background:#151515;color:#f4503e;">&gt;

&lt;/</span><span style="background:#151515;color:#ecc03e;">UserControl</span><span style="background:#151515;color:#f4503e;">&gt;
</span></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<h4>Code Behind</h4>
<pre class="code"><span style="background:#151515;color:#ecc03e;">public partial class </span><span style="background:#151515;color:#2b91af;">SilverlightView </span><span style="background:#151515;color:white;">: </span><span style="background:#151515;color:#2b91af;">UserControl
    </span><span style="background:#151515;color:white;">{
        </span><span style="background:#151515;color:#ecc03e;">readonly </span><span style="background:#151515;color:#9185fa;">IDictionary</span><span style="background:#151515;color:white;">&lt;</span><span style="background:#151515;color:#ecc03e;">string</span><span style="background:#151515;color:white;">, </span><span style="background:#151515;color:#ecc03e;">string</span><span style="background:#151515;color:white;">&gt; _initParamaters;
        </span><span style="background:#151515;color:#ecc03e;">string </span><span style="background:#151515;color:white;">_initialText =               </span></pre>
<pre class="code"><span style="background:#151515;color:white;"> </span><span style="background:#151515;color:#ecc03e;">&quot;Nothing was Passed In - initialtext was empty&quot;</span><span style="background:#151515;color:white;">;

        </span><span style="background:#151515;color:#ecc03e;">public </span><span style="background:#151515;color:white;">SilverlightView(            </span></pre>
<pre class="code"><span style="background:#151515;color:white;">  I</span><span style="background:#151515;color:#9185fa;">Dictionary</span><span style="background:#151515;color:white;">&lt;</span><span style="background:#151515;color:#ecc03e;">string</span><span style="background:#151515;color:white;">, </span><span style="background:#151515;color:#ecc03e;">string</span><span style="background:#151515;color:white;">&gt; passedInArguments)
        {
            _initParamaters = passedInArguments;
            InitializeComponent();
            Loaded += OnLoaded;
        }

        </span><span style="background:#151515;color:#ecc03e;">void </span><span style="background:#151515;color:white;">OnLoaded(</span><span style="background:#151515;color:#ecc03e;">object </span><span style="background:#151515;color:white;">sender, </span><span style="background:#151515;color:#2b91af;">RoutedEventArgs </span><span style="background:#151515;color:white;">e)
        {
            SetInitialText();
        }

        </span><span style="background:#151515;color:#ecc03e;">void </span><span style="background:#151515;color:white;">SetInitialText() {

            </span><span style="background:#151515;color:#ecc03e;">if </span><span style="background:#151515;color:white;">(_initParamaters.ContainsKey(</span><span style="background:#151515;color:#ecc03e;">&quot;initialtext&quot;</span><span style="background:#151515;color:white;">))
            {
                _initialText = _initParamaters[</span><span style="background:#151515;color:#ecc03e;">&quot;initialtext&quot;</span><span style="background:#151515;color:white;">];
            }

            initialText.Text = _initialText;
        }

        </span><span style="background:#151515;color:#ecc03e;">void </span><span style="background:#151515;color:white;">SendResultBackToAspNet(</span><span style="background:#151515;color:#ecc03e;">object </span><span style="background:#151515;color:white;">sender, </span><span style="background:#151515;color:#2b91af;">RoutedEventArgs </span><span style="background:#151515;color:white;">e)
        {

        }
    }</span></pre>
<p>Notice the ‘SendResultBackToAspNet’ is empty.. That is coming next and is the tricky part.</p>
<h3>Coming Next</h3>
<p>The code will all be available for download and the much more interesting aspect of sending data back the other way will be presented.</p>
<p>Damon</p>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:deef5f6c-9e8f-45ec-beea-78b28996210d" class="wlWriterSmartContent">del.icio.us Tags: <a href="http://del.icio.us/popular/Silverlight" rel="tag">Silverlight</a>,<a href="http://del.icio.us/popular/ASP.NET" rel="tag">ASP.NET</a>,<a href="http://del.icio.us/popular/Bidirectional" rel="tag">Bidirectional</a>,<a href="http://del.icio.us/popular/Integration" rel="tag">Integration</a>,<a href="http://del.icio.us/popular/InitParameters" rel="tag">InitParameters</a>,<a href="http://del.icio.us/popular/InitParams" rel="tag">InitParams</a>,<a href="http://del.icio.us/popular/HtmlBridge" rel="tag">HtmlBridge</a></div>
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:eeae14fb-c4b4-4ef0-a063-4007fc457a38" class="wlWriterSmartContent">Technorati Tags: <a href="http://technorati.com/tags/Silverlight" rel="tag">Silverlight</a>,<a href="http://technorati.com/tags/ASP.NET" rel="tag">ASP.NET</a>,<a href="http://technorati.com/tags/Bidirectional" rel="tag">Bidirectional</a>,<a href="http://technorati.com/tags/Integration" rel="tag">Integration</a>,<a href="http://technorati.com/tags/InitParameters" rel="tag">InitParameters</a>,<a href="http://technorati.com/tags/InitParams" rel="tag">InitParams</a>,<a href="http://technorati.com/tags/HtmlBridge" rel="tag">HtmlBridge</a></div>
Posted in Siverlight, Technology, Tips and Tricks, Windows Presentation Foundation Tagged: ASP.NET, C# 3.0, HtmlBridge, InitParameters, InitParams, Integration, ORM, SilverLight, WCF <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dcarr.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dcarr.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dcarr.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dcarr.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dcarr.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dcarr.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dcarr.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dcarr.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dcarr.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dcarr.wordpress.com/1249/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1249&subd=dcarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.domaindotnet.com/2008/12/23/silverlight_aspnet_bidirectional_integration-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dd358f816304c13b1d2baaf827ab9ce?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">domain.dot.net team lead</media:title>
		</media:content>

		<media:content url="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblog.domaindotnet.com%2f2008%2f12%2f23%2fsilverlight_aspnet_bidirectional_integration-2%2f" medium="image">
			<media:title type="html">kick it on DotNetKicks.com</media:title>
		</media:content>

		<media:content url="http://digg.com/img/badges/100x20-digg-button.png" medium="image">
			<media:title type="html">Digg This</media:title>
		</media:content>

		<media:content url="http://dcarr.files.wordpress.com/2008/12/silverlight-logo-2-thumb.png" medium="image">
			<media:title type="html">Silverlight_Logo_2</media:title>
		</media:content>

		<media:content url="http://dcarr.files.wordpress.com/2008/12/image-thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Deep Zoom 3D V3 over PowerPoint in SharePoint</title>
		<link>http://blog.domaindotnet.com/2008/12/01/1266/</link>
		<comments>http://blog.domaindotnet.com/2008/12/01/1266/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 20:44:40 +0000</pubDate>
		<dc:creator>Damon Wilder Carr</dc:creator>
				<category><![CDATA[Siverlight]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[sharepoint]]></category>

		<guid isPermaLink="false">http://blog.domaindotnet.com/2008/12/27/1266/</guid>
		<description><![CDATA[Latest video production featuring a new revised build of the viewer.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1266&subd=dcarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>Deep Zoom 3D over PowerPoint in SharePoint</strong><br />
<span style="text-align:center; display: block;"><a href="http://blog.domaindotnet.com/2008/12/01/1266/"><img src="http://img.youtube.com/vi/eewvuDYNPqQ/2.jpg" alt="" /></a></span><br />
Latest video production featuring a new revised build of the viewer.</p>
Posted in sharepoint, Siverlight, Technology  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dcarr.wordpress.com/1266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dcarr.wordpress.com/1266/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dcarr.wordpress.com/1266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dcarr.wordpress.com/1266/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dcarr.wordpress.com/1266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dcarr.wordpress.com/1266/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dcarr.wordpress.com/1266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dcarr.wordpress.com/1266/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dcarr.wordpress.com/1266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dcarr.wordpress.com/1266/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1266&subd=dcarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.domaindotnet.com/2008/12/01/1266/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dd358f816304c13b1d2baaf827ab9ce?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">domain.dot.net team lead</media:title>
		</media:content>

		<media:content url="http://img.youtube.com/vi/eewvuDYNPqQ/2.jpg" medium="image" />
	</item>
		<item>
		<title>C# Delegate Shortcut &#8211; No more null testing on events for subscribers</title>
		<link>http://blog.domaindotnet.com/2008/11/27/very_nice_c_sharp_shortcut/</link>
		<comments>http://blog.domaindotnet.com/2008/11/27/very_nice_c_sharp_shortcut/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 20:57:14 +0000</pubDate>
		<dc:creator>Damon Wilder Carr</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[concepts implemented]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[delegate]]></category>
		<category><![CDATA[IDesign]]></category>
		<category><![CDATA[Juval Lowy]]></category>
		<category><![CDATA[null]]></category>
		<category><![CDATA[null object pattern]]></category>
		<category><![CDATA[shortcut]]></category>
		<category><![CDATA[skip check]]></category>

		<guid isPermaLink="false">http://dcarr.wordpress.com/2008/11/27/very_nice_c_sharp_shortcut/</guid>
		<description><![CDATA[This is fairly well known but I realized I hadn’t seen it blogged about (sorry if already covered).<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1168&subd=dcarr&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblog.domaindotnet.com%2f2008%2f11%2f27%2fvery_nice_c_sharp_shortcut%2f"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblog.domaindotnet.com%2f2008%2f11%2f27%2fvery_nice_c_sharp_shortcut%2f" border="0" alt="kick it on DotNetKicks.com" /></a></p>
<p>This is fairly well known but I realized I hadn’t seen it blogged about (sorry if already covered).</p>
<p>Your likely used to doing this:</p>
<pre class="code"><strong> public event EventHandler&lt;AnimationImageEventArgs&gt;
                AnimationImageClicked;</strong></pre>
<pre class="code"><strong> private void OnClick(object sender, AnimationImageEventArgs e)
{</strong></pre>
<pre class="code"><strong>    if (AnimationImageClicked != null)</strong></pre>
<pre class="code"><strong>          AnimationImageClicked(sender, e);
}</strong></pre>
<p>No need for that null check. I for one tend to forget them in the bowels of my teams code. What is better then eliminating the issue!</p>
<p>This is a way to ‘always have one subscriber’ which you can consider a sort of <a href="http://en.wikipedia.org/wiki/Null_Object_pattern">‘null object’ pattern</a> implementation for delegates. Checking for null just sucks and I love this kind of ubiquitous removal of it.</p>
<p>The first person I saw doing this was <a href="http://www.oreillynet.com/pub/au/741">Juval Lowy</a>, the master craftsman for basically all things .NET but known recently for utter mastery of WCF in his books and at his firm <a href="http://www.idesign.net/idesign/">IDesign</a>. Highly recommend all his writing, code samples and thoughts.</p>
<pre class="code"><strong>public event EventHandler&lt;AnimationImageEventArgs&gt;
            AnimationImageClicked = delegate { };</strong></pre>
<pre class="code"><strong>private void OnClick(object sender, AnimationImageEventArgs e)
{</strong></pre>
<pre class="code"><strong>           AnimationImageClicked(sender, e);
}</strong></pre>
<p><a href="http://11011.net/software/vspaste"></a></p>
<p>Damon</p>
<div class="wlWriterHeaderFooter" style="text-align:left;margin:0;padding:4px 0;"><a href="http://digg.com/submit?url=http%3a%2f%2fdcarr.wordpress.com%2f2008%2f11%2f27%2fvery_nice_c_sharp_shortcut%2f&amp;title=C%23+Delegate+Shortcut+%e2%80%93+No+more+null+testing+on+events+for+subscribers"><img style="border:0;" title="Digg This" src="http://digg.com/img/badges/100x20-digg-button.png" border="0" alt="Digg This" width="100" height="20" /></a></div>
Posted in concepts implemented, Technology, Tips and Tricks Tagged: C#, delegate, IDesign, Juval Lowy, null, null object pattern, shortcut, skip check <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dcarr.wordpress.com/1168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dcarr.wordpress.com/1168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dcarr.wordpress.com/1168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dcarr.wordpress.com/1168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dcarr.wordpress.com/1168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dcarr.wordpress.com/1168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dcarr.wordpress.com/1168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dcarr.wordpress.com/1168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dcarr.wordpress.com/1168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dcarr.wordpress.com/1168/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.domaindotnet.com&blog=2366446&post=1168&subd=dcarr&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.domaindotnet.com/2008/11/27/very_nice_c_sharp_shortcut/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0dd358f816304c13b1d2baaf827ab9ce?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">domain.dot.net team lead</media:title>
		</media:content>

		<media:content url="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblog.domaindotnet.com%2f2008%2f11%2f27%2fvery_nice_c_sharp_shortcut%2f" medium="image">
			<media:title type="html">kick it on DotNetKicks.com</media:title>
		</media:content>

		<media:content url="http://digg.com/img/badges/100x20-digg-button.png" medium="image">
			<media:title type="html">Digg This</media:title>
		</media:content>
	</item>
	</channel>
</rss>