<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Marcelo's WebLog : Silverlight</title><link>http://blogs.msdn.com/marcelolr/archive/tags/Silverlight/default.aspx</link><description>Tags: Silverlight</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Silverlight is out, ready set go!</title><link>http://blogs.msdn.com/marcelolr/archive/2008/10/16/silverlight-is-out-ready-set-go.aspx</link><pubDate>Fri, 17 Oct 2008 07:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9002673</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/9002673.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=9002673</wfw:commentRss><description>&lt;P&gt;Of course this is hardly news by now, but I wanted to take the opportunity to add my two cents on&amp;nbsp;how some things fit together.&lt;/P&gt;
&lt;P&gt;To begin with, you'll find everything you need to get started from &lt;A href="http://www.microsoft.com/silverlight/overview/developers.aspx"&gt;http://www.microsoft.com/silverlight/overview/developers.aspx&lt;/A&gt;, including overviews from other perspectives if you feel included to view them. The quick links on &lt;A href="http://msdn.microsoft.com/en-us/silverlight/default.aspx"&gt;http://msdn.microsoft.com/en-us/silverlight/default.aspx&lt;/A&gt;&amp;nbsp;is also handy.&lt;/P&gt;
&lt;P&gt;Because my blog has an XML spin to it these days, be sure to check out the &lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc188996(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc188996(VS.95).aspx"&gt;XML Data&lt;/A&gt; topics for Silverlight. As you can see, XML can also flow to Silverlight applications - and with ubiquity comes additional value.&lt;/P&gt;
&lt;P&gt;In terms of programmability, there are a number of APIs that are missing in Silverlight, improving download size and startup times for applications. There are some new classes as well, such as &lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc189025(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc189025(VS.95).aspx"&gt;XmlXapResolver&lt;/A&gt;. This class makes it easier to work with XML deployed along in the same XAP package.&lt;/P&gt;
&lt;P&gt;Finally, I couldn't possibly finish this post without pointing to the &lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc838234(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc838234(VS.95).aspx"&gt;ADO.NET Data Services&lt;/A&gt; support in Silverlight. Just be aware that you should use the asynchronous version of the APIs to keep the UI from blocking on network requests, and it's the same client library you know and love.&lt;/P&gt;
&lt;P&gt;All in all, the reach of your data just got a lot longer, with a familiar programming model, and you can now provide applications with a rich client experience that is straightforward to update and deploy. Time to change the world...&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9002673" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/XML/default.aspx">XML</category></item><item><title>Silverlight Beta 2 and ADO.NET Data Services RTM</title><link>http://blogs.msdn.com/marcelolr/archive/2008/09/03/silverlight-beta-2-and-ado-net-data-services-rtm.aspx</link><pubDate>Thu, 04 Sep 2008 02:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8921151</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8921151.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8921151</wfw:commentRss><description>&lt;P&gt;Get the full details over at the &lt;A class="" href="http://blogs.msdn.com/astoriateam/archive/2008/09/02/interim-release-making-sl2-beta-2-clients-work-with-net-fx-3-5-sp1-rtm-servers.aspx" mce_href="http://blogs.msdn.com/astoriateam/archive/2008/09/02/interim-release-making-sl2-beta-2-clients-work-with-net-fx-3-5-sp1-rtm-servers.aspx"&gt;Project Astoria Team Blog&lt;/A&gt;. The short version: an interim release is now available that allows Silverlight 2 Beta 2 clients to talk with ADO.NET Data Services RTM servers.&lt;/P&gt;
&lt;P&gt;You'll still want to wait for the RTM version of the Silverlight 2 client library before deploying this, but if you found yourself blocked because the older Silverlight library didn't talk to the RTM server, this should get you going in the mean time.&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8921151" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Case Study for ADO.NET Data Services</title><link>http://blogs.msdn.com/marcelolr/archive/2008/08/15/case-study-for-ado-net-data-services.aspx</link><pubDate>Fri, 15 Aug 2008 20:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8867514</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8867514.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8867514</wfw:commentRss><description>&lt;P&gt;Here is the summary blurb:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Misys Healthcare Systems &lt;BR&gt;&lt;/STRONG&gt;Team Uses Powerful Tools to Build Innovative Web-Based Medical Records Application&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;For more than a decade, Misys Healthcare Systems and Veracity Solutions have partnered to develop innovative applications that meet the needs of healthcare providers while improving the quality of patient care. To help medical staff reduce manual, paper-based processes, Misys Healthcare Systems and Veracity Solutions collaborated to create FreeNatal, a Web-based application that provides prenatal care providers with an easy-to-use, secure interface for managing patients’ records. Using Microsoft® Visual Studio® 2008 SP1 and the Microsoft .NET Framework 3.5 SP1, eight members from the Misys-Veracity team created the application. By taking advantage of these powerful technologies, the team increased development speed by 60 percent, enabling accelerated market delivery and further strengthening their respective positions in the healthcare informatics industry.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;You can find the whole thing at &lt;A href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=4000002427"&gt;http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=4000002427&lt;/A&gt;. In particular, I find it interesting to see the architecture diagram, which shows how ADO.NET Data Services fits in the picture alongside the ASP.NET MVC components in the business tier, and how the presentation tier can communicate with one or the other (or both) depending on what kind of services it needs.&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8867514" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Entities/default.aspx">Entities</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Silverlight and ADO.NET Data Services compatibility</title><link>http://blogs.msdn.com/marcelolr/archive/2008/08/14/silverlight-and-ado-net-data-services-compatibility.aspx</link><pubDate>Fri, 15 Aug 2008 02:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8853680</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8853680.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8853680</wfw:commentRss><description>&lt;P&gt;There is a recently published &lt;A class="" href="http://blogs.msdn.com/astoriateam/archive/2008/08/12/compat-note-silverlight-beta-2-client-net-framework-3-5-sp1-server-components.aspx" mce_href="http://blogs.msdn.com/astoriateam/archive/2008/08/12/compat-note-silverlight-beta-2-client-net-framework-3-5-sp1-server-components.aspx"&gt;note&lt;/A&gt; on compatibility for the .NET Framework SP1 and Silverlight releases for the ADO.NET Data Services components.&lt;/P&gt;
&lt;P&gt;In short: the bits released on the Silverlight Beta were meant to work with the .NET Framework SP1 Beta, and you shouldn't count on them working together. The Silverlight client is currently being updated to work the the .NET Framework SP1 RTM release.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8853680" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Beware of stack overflows in asynchronous calls</title><link>http://blogs.msdn.com/marcelolr/archive/2008/07/23/beware-of-stack-overflows-in-asynchronous-calls.aspx</link><pubDate>Wed, 23 Jul 2008 21:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8767475</guid><dc:creator>marcelolr</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/marcelolr/comments/8767475.aspx</comments><wfw:commentRss>http://blogs.msdn.com/marcelolr/commentrss.aspx?PostID=8767475</wfw:commentRss><description>&lt;P&gt;This one bit me not too long ago, and I thought I'd share it to help ease other's pain if the run into it as well...&lt;/P&gt;
&lt;P&gt;I was playing around with some product code, and one of the unit tests started failing with a stack overflow error. When&amp;nbsp;I ran it by itself, it wouldn't repro; running the whole suite would usually repro it, but again not always.&lt;/P&gt;
&lt;P&gt;Burnt a bunch of time looking into it, and here's the diagnosis.&lt;/P&gt;
&lt;P&gt;It turns out that the test in question was using the asynchronous APIs of the ADO.NET Data Services client-side DataServiceContext. After making repeated calls to the same server, some of them were finishing synchronously, firing the callback before unwinding the stack; at that point, the test followed up with additional asynch requests, which were also finished before returning, and not too long after that I ran out of stack space.&lt;/P&gt;
&lt;P&gt;The fix in my case was to schedule the next piece of work to be done rather than executing it immediately in the callback. Whenever you're doing these sorts of things, &lt;A class="" href="http://msdn.microsoft.com/en-us/library/system.threading.synchronizationcontext.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.threading.synchronizationcontext.aspx"&gt;SynchronizationContext&lt;/A&gt; is your friend, which in Silverlight is implemented in &lt;A class="" href="http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatchersynchronizationcontext(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatchersynchronizationcontext(VS.95).aspx"&gt;DispatcherSynchronizationContext&lt;/A&gt;. The &lt;EM&gt;Post&lt;/EM&gt; method allows you to queue up a piece of work (execute asynchronously).&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8767475" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/marcelolr/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category><category domain="http://blogs.msdn.com/marcelolr/archive/tags/Silverlight/default.aspx">Silverlight</category></item></channel></rss>