<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-269779592278926433</id><updated>2009-12-11T06:49:32.578+02:00</updated><title type='text'>Parsimony</title><subtitle type='html'>entia non sunt multiplicanda praeter necessitatem -
entities should not be multiplied beyond necessity.
&lt;br/&gt;
C#.NET, Silverlight, WCF, Agile, and other bits and bytes</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default?orderby=updated'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default?start-index=26&amp;max-results=25&amp;orderby=updated'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>150</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-1211986514324395003</id><published>2009-11-28T23:42:00.002+02:00</published><updated>2009-11-28T23:55:28.774+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><title type='text'>Daily Links 28/11/2009 Silverlight 4 Special</title><content type='html'>&lt;a href="http://www.nikhilk.net/Silverlight4-Killer-Demos-At-PDC09.aspx" target="_blank"&gt;Silverlight 4 Debuts with Killer Demos at PDC09&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx " target="_blank"&gt;Silverlight 4 Beta : A guide to the new features&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nikhilk.net/Entry.aspx?id=247" target="_blank"&gt;RIA Services: Jumpstarting RIA Development&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adamkinney.wordpress.com/2009/11/18/rundown-of-silverlight-4-beta-features-and-6-hands-on-labs/ " target="_blank"&gt;Silverlight and Expression Love&lt;/a&gt;&lt;br /&gt;Rundown of Silverlight 4 Beta Features and 6 Hands on Labs&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wildermuth.com/2009/11/18/Data_Binding_Changes_in_Silverlight_4" target="_blank"&gt;Data Binding Changes in Silverlight 4&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://johnpapa.net/silverlight/enabling-validation-in-silverlight-4-with-idataerrorinfo/ " target="_blank"&gt;Enabling Validation in Silverlight 4 with IDataErrorInfo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.silverlight.net/blogs/jesseliberty/archive/2009/11/20/silverlight-4-fluid-ui.aspx " target="_blank"&gt;Silverlight 4 Fluid UI&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jeff.wilcox.name/2009/11/november-walkthrough/" target="_blank"&gt;Walkthrough: The power of the November 2009 Silverlight Toolkit testing tools&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/11/22/silverlight-4-notification-window-queue-sample.aspx " target="_blank"&gt;Silverlight 4 NotificationWindow and Queuing multiple notifications&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.andrew-veresov.com/post/Silverlight-3-Validation-Workaround.aspx" target="_blank"&gt;Silverlight Validation Workaround &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cynergysystems.com/blogs/page/michaelwolf?entry=silverlight_4_dials_in_skype " target="_blank"&gt;Silverlight 4 dials in skype&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.silverlightshow.net/items/A-look-at-the-Printing-API-in-Silverlight-4.aspx" target="_blank"&gt;A look at the Printing API in Silverlight 4&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wintellect.com/CS/blogs/jprosise/archive/2009/11/25/silverlight-4-s-improved-element-data-binding.aspx " target="_blank"&gt;Silverlight 4's Improved Element Data Binding&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wintellect.com/CS/blogs/jprosise/archive/2009/11/25/silverlight-4-s-new-clipboard-support.aspx " target="_blank"&gt;Silverlight 4's New Clipboard Support&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bonus:&lt;br /&gt;&lt;a href="http://www.sixin.nl/antoni-dol-blog/09-11-15/Silverlight_Style_GlassBorderStyle.aspx" target="_blank"&gt;Silverlight Style: GlassBorderStyle&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-1211986514324395003?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/1211986514324395003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=1211986514324395003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/1211986514324395003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/1211986514324395003'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/11/daily-links-28112009-silverlight-4.html' title='Daily Links 28/11/2009 Silverlight 4 Special'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-105264496908702677</id><published>2009-11-18T21:22:00.003+02:00</published><updated>2009-11-18T21:26:27.425+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>Daily Links 18/11/2009</title><content type='html'>&lt;a href="http://pietschsoft.com/post/2009/11/13/Prototype_OpenStreetMap_Silverlight_Control_using_Bing_Maps_SDK_and_DeepEarth.aspx " target="_blank"&gt;Prototype of OpenStreetMap Silverlight Control using DeepEarth and Bing Maps SDK&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eggheadcafe.com/tutorials/aspnet/0917dc85-4b8c-4525-ab1e-1ca9ad6bcac8/how-to-get-your-silverlig.aspx " target="_blank"&gt;How to Get Your Silverlight Pages Indexed By Search Engines&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/deborahk/archive/2009/11/03/xaml-gradients.aspx" target="_blank"&gt;XAML: Gradients&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/fredriknormen/archive/2009/11/16/how-to-create-a-module-based-silverlight-application-part-1.aspx " target="_blank"&gt;How to create a Module based Silverlight application (Part 1) &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bea.stollnitz.com/blog/?p=392" target="_blank"&gt;Silverlight’s CollectionViewSource&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bradabrams.sys-con.com/node/581103/mobile" target="_blank"&gt;Accessing the ASP.NET Authentication, Profile and Role Service in Silverlight&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://csharperimage.jeremylikness.com/2009/08/silverlight-captcha-example.html" target="_blank"&gt;Silverlight&lt;/a&gt; &lt;a href="http://www.eggheadcafe.com/tutorials/aspnet/79e023b6-124f-4f63-865c-6d357cddbe56/a-better-captcha-control.aspx" target="_blank"&gt;CAPTCHA examples&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/11/04/updated-silverlight-3-datagrid-grouping-data-pagedcollectionview.aspx " target="_blank"&gt;Grouping data in a Silverlight DataGrid&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wintellect.com/CS/blogs/jprosise/archive/2009/11/06/silverlight-3-s-new-application-extension-services.aspx " target="_blank"&gt;Silverlight 3's new Application Extension Services&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/gilf/archive/2009/05/23/model-first-in-entity-framework-4.aspx " target="_blank"&gt;Model First in Entity Framework 4&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/gunnarpeipman/archive/2009/07/11/entity-framework-4-0-how-to-use-pocos.aspx " target="_blank"&gt;Entity Framework 4.0: How to use POCOs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.4guysfromrolla.com/articles/111109-1.aspx" target="_blank"&gt;Using Transactions with SqlBulkCopy&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/cs/CustomConfigurationSectio.aspx" target="_blank"&gt;Creating Custom Configuration Section C#&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://codebetter.com/blogs/david_laribee/archive/2009/11/17/the-high-cost-of-losing-a-developer.aspx?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+thebeelog+%28the+%27bee+log%29 " target="_blank"&gt;The High Cost of Losing a Developer&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-105264496908702677?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/105264496908702677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=105264496908702677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/105264496908702677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/105264496908702677'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/11/daily-links-18112009.html' title='Daily Links 18/11/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-4258316471591032454</id><published>2009-11-02T21:37:00.002+02:00</published><updated>2009-11-02T21:41:26.468+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='Writing'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Daily Links 2/11/2009</title><content type='html'>&lt;a href="http://geekswithblogs.net/tkokke/archive/2009/10/16/twirling-smoke-effect-in-expression-design.aspx " target="_blank"&gt;Twirling smoke effect in Expression Design&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thejoyofcode.com/Silverlight_out_of_browser_and_initParams.aspx" target="_blank"&gt;Silverlight out-of-browser and initParams&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://devlicio.us/blogs/rob_eisenberg/archive/2009/10/26/caliburn-v1-rtw-for-wpf-silverlight-2-0-and-3-0.aspx " target="_blank"&gt;Caliburn v1 RTW for WPF, Silverlight 2.0 and 3.0!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://devlicio.us/blogs/derik_whittaker/archive/2009/10/27/simple-kick-start-example-using-mef-preview-8.aspx " target="_blank"&gt;Simple Kick Start Example using MEF (Preview 8)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.jetbrains.com/dotnet/2009/10/resharper-50-overview/" target="_blank"&gt;Resharper 5.0 Overview&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jeff.wilcox.name/2009/10/toolkit-october-2009/" target="_blank"&gt;Silverlight Toolkit October 2009 Release&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pivotaltracker.com/" target="_blank"&gt;Pivotal Tracker - Lightweight Agile Project Management &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.downloadsquad.com/2009/10/30/access-skydrive-from-windows-explorer-my-computer/ " target="_blank"&gt;SkyDrive Explorer adds 25gb of free cloud storage to Windows Explorer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scottberkun.com/blog/2007/how-to-write-a-book-the-short-honest-truth/" target="_blank"&gt;How to write a book - the short honest truth&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-4258316471591032454?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/4258316471591032454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=4258316471591032454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/4258316471591032454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/4258316471591032454'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/11/daily-links-2112009.html' title='Daily Links 2/11/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-2154942499944921812</id><published>2009-10-26T22:24:00.003+02:00</published><updated>2009-10-26T22:38:33.763+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>GetType From Referenced Assembly In Silverlight</title><content type='html'>&lt;p&gt;I recently implemented a ValueConverter for our comboboxes in silverlight, whereby the translations for an enum would be shown as a list in the combobox, and when an item is selected, the value bound to the model would be whatever was described on the enumeration as the model value that gets persisted to the database (it’s a legacy database, so I couldn’t save the enumerated value on the model). Anyways, more on how that was done is for another blog post.&lt;/p&gt;  &lt;p&gt;The converter gets an enumeration type as a converter parameter, so I needed to construct the type of enum at runtime (so I could get access the the enumerations that were defined, and the ModelValue attributes on each enumeration definition), since the converter should be able to handle any enumeration type that has been defined according to a specific convention. Trouble is, the enumerations were defined in a seperate silverlight assembly that was referenced from the client assembly, so I couldn’t just simply:&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;     &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; Type type = Type.GetType(&lt;span style="color: #006080"&gt;&amp;quot;ClassLibrary1.Class1, ClassLibrary1&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;… only if you specify the culture and the version in the above string parameter, will the type get returned, and since those change frequently, it wasn’t a practical solution.&lt;/p&gt;&lt;p&gt;So here’s helper method I wrote to get a type referenced in another assembly:&lt;/p&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; Type GetAssemblyType(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; assemblyName, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; className)&lt;/pre&gt;&lt;!--CRLF--&gt; &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum2" style="color: #606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt; &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum3" style="color: #606060"&gt;   3:&lt;/span&gt;     StreamResourceInfo info = Application.GetResourceStream(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Uri(assemblyName, UriKind.Relative));&lt;/pre&gt;&lt;!--CRLF--&gt; &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum4" style="color: #606060"&gt;   4:&lt;/span&gt;     Assembly assembly = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; AssemblyPart().Load(info.Stream);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum5" style="color: #606060"&gt;   5:&lt;/span&gt;     Type type = assembly.GetType(className);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum6" style="color: #606060"&gt;   6:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum7" style="color: #606060"&gt;   7:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; type;   &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum8" style="color: #606060"&gt;   8:&lt;/span&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Usage:&lt;/p&gt;&lt;p&gt;… if you know the &lt;strong&gt;fully qualified&lt;/strong&gt; class name and which assembly it’s in:&lt;/p&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; Type type = GetAssemblyType(&lt;span style="color: #006080"&gt;&amp;quot;SilverlightClassLibrary1.dll&amp;quot;&lt;/span&gt;, &lt;span style="color: #006080"&gt;&amp;quot;SilverlightClassLibrary1.Class1&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;… or if you only know the &lt;strong&gt;fully qualified &lt;/strong&gt;class name, and don’t know which assembly it’s in:&lt;/p&gt;&lt;div id="codeSnippetWrapper"&gt;  &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; Type GetAssemblyType(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; className)&lt;/pre&gt;&lt;!--CRLF--&gt;  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum2" style="color: #606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt; &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum3" style="color: #606060"&gt;   3:&lt;/span&gt;     Type type = &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum4" style="color: #606060"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (AssemblyPart part &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; Deployment.Current.Parts)&lt;/pre&gt;&lt;!--CRLF--&gt; &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum5" style="color: #606060"&gt;   5:&lt;/span&gt;     {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum6" style="color: #606060"&gt;   6:&lt;/span&gt;         type = GetAssemblyType(part.Source, className);&lt;/pre&gt;&lt;!--CRLF--&gt; &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum7" style="color: #606060"&gt;   7:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (type != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt; &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum8" style="color: #606060"&gt;   8:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;break&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt; &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum9" style="color: #606060"&gt;   9:&lt;/span&gt;     }&lt;/pre&gt;&lt;!--CRLF--&gt;  &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum10" style="color: #606060"&gt;  10:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; type;&lt;/pre&gt;&lt;!--CRLF--&gt; &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum11" style="color: #606060"&gt;  11:&lt;/span&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;usage:&lt;/p&gt;&lt;div id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; Type type = GetAssemblyType(&lt;span style="color: #006080"&gt;&amp;quot;SilverlightClassLibrary1.Class1&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Notice that in each case&amp;#160; that the class name that is specified is fully qualified with it’s namespace.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Happy Coding :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-2154942499944921812?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/2154942499944921812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=2154942499944921812' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/2154942499944921812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/2154942499944921812'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/10/gettype-from-referenced-assembly-in.html' title='GetType From Referenced Assembly In Silverlight'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-2110908545605888363</id><published>2009-10-20T20:55:00.002+02:00</published><updated>2009-10-20T20:58:19.313+02:00</updated><title type='text'>Daily Links 20/10/2009</title><content type='html'>&lt;a href="http://weblogs.asp.net/jeff/archive/2009/07/17/silverlight-3-calling-a-wcf-service-without-a-proxy-using-binary-xml.aspx " target="_blank"&gt;Silverlight 3: Calling a WCF service without a proxy using Binary XML&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wintellect.com/CS/blogs/jprosise/archive/2009/10/14/silverlight-3-s-new-client-networking-stack.aspx " target="_blank"&gt;Silverlight 3's New Client Networking Stack&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.galasoft.ch/archive/2009/10/18/clean-shutdown-in-silverlight-and-wpf-applications.aspx " target="_blank"&gt;Clean shutdown in Silverlight and WPF applications&lt;/a&gt;&lt;br /&gt;...with some MVVM Light Toolkit usage&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/10/19/silverlight-toolkit-adds-drag-drop-support.aspx " target="_blank"&gt;Silverlight Toolkit adds DragDrop targets!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.liveside.net/main/archive/2009/10/18/silverlight-streaming-to-be-discontinued-new-azure-service-coming.aspx " target="_blank"&gt;Silverlight Streaming to be discontinued&lt;/a&gt;&lt;br /&gt;What a pity (it seems the Azure replacement service has costs associated with it) Guess I'm going to have to find another way (or remove) my silverlight advertisement on my blog page now :|&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bjoernrochel.de/2009/07/20/diving-into-the-storyteller-trunk-part-5-the-eventaggregator/ " target="_blank"&gt;Event aggregator&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.tedneward.com/2009/10/12/quotAgile+Is+Treating+The+Symptoms+Not+The+Diseasequot.aspx " target="_blank"&gt;"Agile is treating the symptoms, not the disease"&lt;/a&gt;&lt;br /&gt;Highlighting a need to revert to the simplicity of development we had a decade ago.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mindscape.co.nz/blog/index.php/2009/10/14/lightspeed-3-0-beta-release/" target="_blank"&gt;LightSpeed 3.0 Beta Release&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://coolthingoftheday.blogspot.com/2009/10/microsoft-sharedview-10-rtmrtw.html" target="_blank"&gt;Microsoft SharedView finally RTM&lt;/a&gt;&lt;br /&gt;"Connect with up to 15 people in different locations and get your point across by showing them what's on your screen" &lt;br /&gt;It's free.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/Terminals" target="_blank"&gt;Terminals&lt;/a&gt;&lt;br /&gt;codeplex project: "secure, multi tab terminal services/remote desktop client"&lt;br /&gt;alternative application - &lt;a href="http://www.avianwaves.com/Tech/Tools/RDTabs/" target="_blank"&gt;RDTabs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.theregister.co.uk/2009/10/19/visual_studio_2010_second_beta_packaging/" target="_blank"&gt;Visual Studio 2010 dates and details&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://10gui.com/" target="_blank"&gt;Re-imagining the Desktop with 10/GUI&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-2110908545605888363?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/2110908545605888363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=2110908545605888363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/2110908545605888363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/2110908545605888363'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/10/daily-links-20102009.html' title='Daily Links 20/10/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-5657283564539074705</id><published>2009-10-07T20:13:00.002+02:00</published><updated>2009-10-07T20:16:00.770+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unit Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Entrepenuership'/><title type='text'>Daily Links 10/07/2009</title><content type='html'>&lt;a href="http://wildermuth.com/2009/10/04/My_Favorite_Silverlight_Extensions_APIs_-_Part_1" target="_blank"&gt;My Favorite Silverlight Extensions APIs - Part 1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silverlike.net/" target="_blank"&gt;Silverlike&lt;/a&gt;&lt;br /&gt;Blog on free silverlight controls and tutorials&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/silverlightws/archive/2009/09/30/having-a-pollingduplex-service-and-any-other-wcf-service-in-the-same-website-causes-silverlight-calls-to-be-slow.aspx " target="_blank"&gt;Having a PollingDuplex service and any other WCF service in the same website causes Silverlight calls to be slow&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetcurry.com/ShowArticle.aspx?ID=388" target="_blank"&gt;What's New in Windows Communication Foundation (WCF) 4.0 Part III - Service-Discovery Feature&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/jjameson/archive/2009/09/25/development-and-build-environments.aspx " target="_blank"&gt;Development and Build Environments&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.objectmentor.com/articles/2009/09/29/ruining-your-test-automation-strategy " target="_blank"&gt;Ruining your Test Automation Strategy.&lt;/a&gt;&lt;br /&gt;Some thoughts on test automation&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ayende.com/Blog/archive/2009/10/06/licensing-a-commercial-product.aspx" target="_blank"&gt;Licensing a commercial product&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Windows_7_editions" target="_blank"&gt;Comparing Windows 7 features&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-5657283564539074705?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/5657283564539074705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=5657283564539074705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/5657283564539074705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/5657283564539074705'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/10/daily-links-10072009.html' title='Daily Links 10/07/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-331327029297659084</id><published>2009-09-29T08:13:00.002+02:00</published><updated>2009-09-29T08:17:18.912+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><title type='text'>Daily Links 29/09/2009</title><content type='html'>&lt;a href="http://www.scottlogic.co.uk/blog/wpf/2009/09/helpful-extension-methods-for-show-hide-animations-in-silverlight/" target="_blank"&gt;Helpful extension methods for Show / Hide animations in Silverlight&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/hanuk/archive/2009/09/25/silverlight-ad-publishing-resources.aspx" target="_blank"&gt;Silverlight Ad Publishing Resources&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.andybeaulieu.com/Default.aspx?tabid=67&amp;EntryID=170" target="_blank"&gt;Creating the Glow Effect in Code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.nerdplusart.com/archives/texttrimming-textblock-for-silverlight" target="_blank"&gt;Dynamic TextBlock for Silverlight (TextTrimming property behaviour from WPF)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pendsevikram.blogspot.com/2009/09/silverlight-3-datagrid-beyond.html" target="_blank"&gt;Silverlight 3 DataGrid : Beyond Databinding &lt;/a&gt;&lt;br /&gt;Some handy code bits for silverlight datagrid&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/ee294456.aspx" target="_blank"&gt;Data Performance and Fault Strategies in Silverlight 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetcurry.com/ShowArticle.aspx?ID=383&amp;AspxAutoDetectCookieSupport=1" target="_blank"&gt;What's New In Windows Communication Foundation (WCF) 4.0 Part- I&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2009/09/15/auto-start-asp-net-applications-vs-2010-and-net-4-0-series.aspx" target="_blank"&gt;Auto-Start ASP.NET Applications (VS 2010 and .NET 4.0 Series) &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/ncloak/" target="_blank"&gt;NCloak&lt;/a&gt;&lt;br /&gt;NCloak is a tool to help protect your intellectual property inside your code. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=752CB725-969B-4732-A383-ED5740F02E93&amp;displaylang=en" target="_blank"&gt;Visual Studio 2010 and .NET Framework 4 Training Kit - May Preview&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/vsdteam/archive/2006/09/15/756400.aspx" target="_blank"&gt;Had some issues with VS hanging after build the solution - this solved it&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hanselman.com/blog/ProgrammingForAbsoluteBeginners.aspx" target="_blank"&gt;Programming for Absolute Beginners&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.smallworkarounds.net/2009/09/microsoft-supporting-web-startups-and.html" target="_blank"&gt;Microsoft supporting web startups and independent web developers by providing free software's for 3years&lt;/a&gt;&lt;br /&gt;see also &lt;a href="http://www.microsoft.com/bizspark/" target="_blank"&gt;BizSpark&lt;/a&gt; for startups &amp; &lt;a href="https://www.dreamspark.com/default.aspx" target="_blank"&gt;DreamSpark&lt;/a&gt; for students&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-331327029297659084?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/331327029297659084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=331327029297659084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/331327029297659084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/331327029297659084'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/09/daily-links-29092009.html' title='Daily Links 29/09/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-1173257752793552652</id><published>2009-09-11T08:44:00.002+02:00</published><updated>2009-09-11T08:49:09.216+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='System Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><title type='text'>Daily Links 11/09/2009</title><content type='html'>&lt;a href="http://wildermuth.com/2009/08/25/A_Plethora_of_Silverlight_Behaviors_Triggers" target="_blank"&gt;A Plethora of Silverlight Behaviors/Triggers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/devkeydet/archive/2009/08/25/get-up-to-speed-on-sketchflow-fast.aspx" target="_blank"&gt;Get up to speed on SketchFlow FAST&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/synergist/archive/2009/08/25/silverlight-and-web-analytics-the-next-generation.aspx" target="_blank"&gt;Silverlight and Web Analytics - the Next Generation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/08/26/silverlight-string-localization.aspx" target="_blank"&gt;Silverlight and localizing string data&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/silverlightws/archive/2009/06/07/improving-the-performance-of-web-services-in-sl3-beta.aspx" target="_blank"&gt;Improving the performance of web services in SL3 Beta&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://alpascual.com/blog/part-3-accessing-security-and-authentication-in-silverlight-using-net-ria-services/" target="_blank"&gt;Accessing Security and Authentication in Silverlight using .NET RIA Services&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://johnpapa.net/silverlight/5-minute-overview-of-mvvm-in-silverlight/" target="_blank"&gt;5 Minute Overview of MVVM in Silverlight&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addons/policy/0/7528/53265?src=addondetail" target="_blank"&gt;Export to pdf firefox extension&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bugshooting.com/web/" target="_blank"&gt;Bug Shooting&lt;/a&gt;&lt;br /&gt;"free screenshot utility that was developed for software tester" "Screenshots can also be sent to Skype or a default E-Mail application"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hanselman.com/blog/ScottHanselmans2009UltimateDeveloperAndPowerUsersToolListForWindows.aspx" target="_blank"&gt;Scott Hanselman's 2009 Ultimate Developer and Power Users Tool List for Windows&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://techrepublic.com.com/5208-6230-0.html?forumID=101&amp;threadID=227398&amp;messageID=2264217" target="_blank"&gt;Cleaning System volume information for Windows Vista&lt;/a&gt;&lt;br /&gt;You can also use windows disk cleanup utility, which will at least save your last restore point.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dotnet.dzone.com/news/telerik-offers-free-developer" target="_blank"&gt;Telerik Offers Free Developer Team Management Tools&lt;/a&gt;&lt;br /&gt;Invaluable if you're using TFS for your work item management. (Supports scrum template)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-1173257752793552652?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/1173257752793552652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=1173257752793552652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/1173257752793552652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/1173257752793552652'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/09/daily-links-11092009.html' title='Daily Links 11/09/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-4955260433982521461</id><published>2009-08-26T23:04:00.002+02:00</published><updated>2009-08-26T23:08:23.595+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Daily Links 26/8/2009</title><content type='html'>&lt;a href="http://davybrion.com/blog/2009/08/refactor-safe-implementation-of-inotifypropertychanged/ " target="_blank"&gt;Refactor Safe Implementation Of INotifyPropertyChanged&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pluralsight.com/community/blogs/aaron/archive/2009/08/12/my-latest-whitepaper-on-wcf-4-0.aspx "target="_blank"&gt;My latest whitepaper on WCF 4.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adamkinney.com/Blog/MediaPlayer-control-included-in-Silverlight-3"target="_blank"&gt;MediaPlayer control included in Silverlight 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tomasz.janczuk.org/2009/08/performance-of-http-polling-duplex.html"target="_blank"&gt;Performance of HTTP polling duplex server-side channel in Microsoft Silverlight 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/carlosfigueira/archive/2009/08/15/fault-support-in-silverlight-3.aspx "target="_blank"&gt;Fault support in Silverlight 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/delay/archive/2009/08/18/using-your-own-code-is-its-own-kind-of-encouragement-how-to-automatically-update-the-widths-of-listview-columns-updated.aspx "target="_blank"&gt;Automatically update the widths of ListView columns - updated!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silverlight.shinedraw.com/#/home"target="_blank"&gt;Silverlight resources&lt;/a&gt;&lt;br /&gt;some great sample code to be found here&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/davedev/archive/2009/08/21/how-to-install-cool-custom-fonts-like-pdc09-into-windows-and-use-it-in-your-silverlight-application-or-even-microsoft-word.aspx "target="_blank"&gt;How to install cool, custom fonts (like PDC09) into Windows and use it in your Silverlight application&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/03/18/silverlight-3-whats-new-a-guide.aspx"target="_blank"&gt;A guide to Silverlight 3 new features&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.mozillazine.org/Profile_folder_-_Firefox#Finding_the_profile_folder"target="_blank"&gt;iGoogle needs login everytime Firefox restarts? Delete cookies* files in your profile directory&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-4955260433982521461?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/4955260433982521461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=4955260433982521461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/4955260433982521461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/4955260433982521461'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/08/daily-links-2682009.html' title='Daily Links 26/8/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-3794461859744357921</id><published>2009-08-04T08:37:00.004+02:00</published><updated>2009-08-04T08:45:36.462+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Daily Links 04/08/2009</title><content type='html'>&lt;a href="http://www.aghausman.net/dotnet/Get-Countries-Name-in-Net.html" target="_blank"&gt;Get Countries Name in .Net&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.snowball.be/Printing+In+Silverlight+3+Yes+We+Can.aspx"target="_blank"&gt;Hack for printing silverlight content&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://karlshifflett.wordpress.com/2009/08/02/inotifypropertychanged-how-to-remove-the-property-name-string-code-smell/"target="_blank"&gt;INotifyPropertyChanged: How to remove the Property Name String Code Smell&lt;/a&gt;&lt;br /&gt;... or if you cannot settle for the performance hit, &lt;a href="http://classtester.codeplex.com/"target="_blank"&gt;use testing&lt;/a&gt; to ensure that the correct string is sent with OnPropertyChanged event&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/dashboarding"target="_blank"&gt;Silverlight and WPF Dashboards and gauges&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/hpreishuber/archive/2009/07/18/silverlight-3-visual-studio-2008-designer-preview.aspx"target="_blank"&gt;Showing the designer preview in VS2008 with SL3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2009/07/14/Creating-a-Silverlight-WCF-Binary-Encoding-Client-in-Code.aspx"target="_blank"&gt;Creating a Silverlight WCF Binary Encoding Client in Code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adamkinney.com/Blog/Using-a-Border-for-a-Glow-Effect-in-Silverlight-3"target="_blank"&gt;Using a Border for a Glow Effect in Silverlight 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/dwahlin/archive/2009/07/12/simplifying-the-process-of-calling-a-wcf-service-from-silverlight-or-any-net-application.aspx"target="_blank"&gt;Simplifying the Process of Calling a WCF Service from Silverlight (or any .NET Application) &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pluralsight.com/community/blogs/starr/archive/2009/07/13/handy-wcf-techniques.aspx"target="_blank"&gt;Handy WCF Techniques&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.sqlauthority.com/2009/07/29/sql-server-2008-copy-database-with-data-generate-t-sql-for-inserting-data-from-one-table-to-another-table/"target="_blank"&gt;SQL SERVER - 2008 - Copy Database With Data. &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/gunnarpeipman/archive/2009/07/11/entity-framework-4-0-how-to-use-pocos.aspx"target="_blank"&gt;Entity Framework 4.0: How to use POCOs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2009/07/13/managed-extensibility-framework-mef-preview-6-silverlight-support-and-much-more.aspx"target="_blank"&gt;Managed Extensibility Framework (MEF) Preview 6: V1 Feature Complete Silverlight Support and Much More!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-3794461859744357921?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/3794461859744357921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=3794461859744357921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/3794461859744357921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/3794461859744357921'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/08/daily-links-04082009.html' title='Daily Links 04/08/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-3562478970314398503</id><published>2008-07-29T22:37:00.009+02:00</published><updated>2009-07-16T09:14:07.510+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight Posting'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Silverlight 2: Sharing Code Between Client and Server</title><content type='html'>&lt;p&gt;One of the first things that came to mind when I heard that silverlight was going to be adding managed code support, was the potential to reuse code between the server and the client. I had been successfully following this methodology for my compact framework development, and now it was possible for silverlight web applications as well! [Insert happy dance here]&lt;/p&gt;  &lt;p&gt;One of the main areas I like to reuse code has to do with the object model, and the validation thereof. Just as a reference, when I say &amp;quot;object model&amp;quot;, I mean dumb data carriers for my entities. ie: Classes that contain only properties, not behavioural methods. Not that you can't add methods to your OM classes, I just prefer to keep them simple, and let other classes take care of behaviour / validation etc.&lt;/p&gt;  &lt;p&gt;Okay - enough blog waffle, let's get straight into sharing your code between server and client!&lt;/p&gt;  &lt;p&gt;Here's a picture of a typical basic silverlight architecture:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/InquisitorJax/SI9-ymVc_hI/AAAAAAAAAEU/AoHm7NF-5rI/SilverlightArchitecture%5B3%5D.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="246" alt="SilverlightArchitecture" src="http://lh4.ggpht.com/InquisitorJax/SI9-0whNAwI/AAAAAAAAAEY/8rwHJeqKTPY/SilverlightArchitecture_thumb%5B1%5D.png" width="210" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The idea is to share code between the .NET application layer and the silverlight client layer, and even allowing the classes for the shared code to be serialized over the wire.    &lt;br /&gt;&lt;strike&gt;NOTE: For the last bit (code sharing that involve &amp;quot;over-the-wire&amp;quot; serialization), you'll need to &lt;/strike&gt;&lt;a href="http://blogs.msdn.com/ashish/archive/2008/04/03/silverlight-roadmap-questions.aspx"&gt;&lt;strike&gt;wait for the release of Silverlight 2 RTW&lt;/strike&gt;&lt;/a&gt;&lt;strike&gt;. &lt;/strike&gt; I can confirm that RTW release does allow the re-use of types in referenced assemblies. :)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#f27900" size="3"&gt;Step 1: Define the code&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Typically, there are 2 strategies for defining the canonical source of the code: 1) Place it in a shared location, and link it to projects that need it, or 2) Define it in the project with least namespace dependencies, and link it up to other projects.    &lt;br /&gt;If you're sharing code across the compact framework, silverlight, and the full .NET framework, I recommend 1), but if you only plan on using the code for one of the subset frameworks, I recommend 2), which is the one I'll describe in detail here.&lt;/p&gt;  &lt;p&gt;The reason for defining the class in the silverlight class library is purely due to maintenance reasons. When modifying the source code, always modify it at it's source. That way you know you're not adding any code that depends on framework namespaces that do not exist.    &lt;br /&gt;eg: If I open the class where it is defined in the silverlight class library, and try and add a DataSet property, the designer will immediately tell me that this is not possible. If the class was defined in the server assembly, I would only find the dependency error at compile time when the client assembly compiles.&lt;/p&gt;  &lt;p&gt;One final note on the class definition: It may be helpful to mark your classes with the &amp;quot;partial&amp;quot; keyword, as you may wish to extend the defined class into server and client specific implementations. That, or you could define new client and server types which inherit from the shared base implementation - whichever makes more sense in the underlying design.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#f27900" size="3"&gt;Step 2: Link the Code to the Server Assembly&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The idea is that there is only one version of the code on disk, otherwise it's just code duplication, and not code sharing / reuse.    &lt;br /&gt;To reuse the code defined in Step 1 in your server class library, do the following:     &lt;br /&gt;From the server assembly project menu, select &amp;quot;Add Existing Item&amp;quot;, and navigate to the class file defined in Step 1. Instead of clicking the Add button (which would just duplicate the code) select the arrow next to the add button, and select &amp;quot;Add As Link&amp;quot;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/InquisitorJax/SI9-6ND_64I/AAAAAAAAAEc/gFybJH3-4OE/AddAsLink%5B2%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="187" alt="AddAsLink" src="http://lh3.ggpht.com/InquisitorJax/SI9_HDL71ZI/AAAAAAAAAEg/kXxAVjTzB4w/AddAsLink_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&amp;#160;&amp;#160; &lt;a href="http://lh3.ggpht.com/InquisitorJax/SI9_LG0PtDI/AAAAAAAAAEk/ipVw-8gFHz4/ShortCutIcon%5B6%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="181" alt="ShortCutIcon" src="http://lh6.ggpht.com/InquisitorJax/SI9_NqZMdsI/AAAAAAAAAEo/t0iYW4WL4Tc/ShortCutIcon_thumb%5B4%5D.jpg" width="282" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You will notice that there is a little shortcut mark on the class icon in the solution explorer. This indicates that the file is declared elsewhere (your silverlight assembly in this case).    &lt;br /&gt;ie: Whenever you make changes to the class definition, it will automatically be reflected in all the places where the source code file is linked.     &lt;br /&gt;NOTE: Be careful not to open the file from the shortcut, as Visual Studio will open it assuming you are in the current project, and you will have access to all the .NET namespaces. &lt;em&gt;ALWAYS edit the code by opening it from the canonical source.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#f27900" size="3"&gt;Step 3: Share the Code Over WCF Services&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If your code is going to be &amp;quot;traversing the wire&amp;quot;, then mark it with the usual [DataContract] and [DataMember] attributes. (NOTE: Since the release of SP1, you don't need to explicitly mark your data members - only do so if you want to explicitly exclude certain properties from serialization. ) Make sure that System.Runtime.Serialization is referenced in all projects making use of the shared code file.    &lt;br /&gt;From the Silverlight client project, right click and select &amp;quot;Add Service Reference&amp;quot;. Add a reference to the WCF service you would like to consume, making sure that the checkbox &amp;quot;reuse types in referenced assemblies&amp;quot; is checked in the advanced options (as displayed below).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh4.ggpht.com/InquisitorJax/SI9_QhfC2iI/AAAAAAAAAEs/z-4jY3XvmP4/AddServiceReference%5B2%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="197" alt="AddServiceReference" src="http://lh5.ggpht.com/InquisitorJax/SI9_TQRMvgI/AAAAAAAAAEw/BnWaQzIfvEw/AddServiceReference_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lh3.ggpht.com/InquisitorJax/SI9_YWv-i4I/AAAAAAAAAE0/EciUGKlgQgA/AddServiceReferenceAdvanced%5B3%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="198" alt="AddServiceReferenceAdvanced" src="http://lh4.ggpht.com/InquisitorJax/SI9_fafnmEI/AAAAAAAAAE4/sKtDzO5bmYo/AddServiceReferenceAdvanced_thumb%5B1%5D.jpg" width="213" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;When reusing types (which will only be available from silverlight 2 RTW), the svcutil, which is used to generate the client proxy class definitions for the DataContracts, will add references to the client versions of the code (the class created in Step 1)&amp;#160; instead of generating them in the Reference.cs file of the service.&lt;/p&gt;  &lt;p&gt;...And that's it - now you're sharing C# code between server and client.    &lt;br /&gt;I'm currently finding this very handy for executing common business rules on object classes on the client in order to prevent unnecessary round tripping to the server.     &lt;br /&gt;It's also become very handy for generic framework implementations using the common base classes. Also, If you have the same DataContract defined in two separate services, instead of them being defined twice (once for each service reference), both services reference the existing client-side class, allowing the generic code implementation mentioned above.&lt;/p&gt;  &lt;p&gt;I'm working on posting some (simple) sample source code - watch this space.&lt;/p&gt; &lt;p&gt;&lt;a href="http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2009/07/13/Sharing-Entities-between-WCF-and-Silverlight.aspx"&gt;Another handy post on the subject&lt;/a&gt;&lt;/p&gt; &lt;div class="wlWriterHeaderFooter" style="padding-right: 4px; padding-left: 4px; padding-bottom: 4px; margin: 0px; padding-top: 4px; text-align: left"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;iframe src="http://widgets.dzone.com/links/widgets/zoneit.html?t=1&amp;amp;url=http%3A%2F%2Finquisitorjax.blogspot.com%2F2008%2F07%2Fsilverlight-2-sharing-code-between.html&amp;amp;title=Silverlight%202%3A%20Sharing%20Code%20Between%20Client%20and%20Server&amp;amp;description=Share%20the%20same%20managed%20code%20across%20client%20and%20server%20parts%20of%20a%20silverlight%20application." frameborder="0" width="50" scrolling="no" height="70"&gt;&lt;/iframe&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://www.dotnetkicks.com/kick/?url=http://inquisitorjax.blogspot.com/2008/07/silverlight-2-sharing-code-between.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://inquisitorjax.blogspot.com/2008/07/silverlight-2-sharing-code-between.html&amp;amp;bgcolor=0080C0&amp;amp;fgcolor=FFFFFF&amp;amp;border=000000&amp;amp;cbgcolor=D4E1ED&amp;amp;cfgcolor=000000" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-3562478970314398503?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/3562478970314398503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=3562478970314398503' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/3562478970314398503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/3562478970314398503'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2008/07/silverlight-2-sharing-code-between.html' title='Silverlight 2: Sharing Code Between Client and Server'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-8872087032840545751</id><published>2009-07-13T20:31:00.002+02:00</published><updated>2009-07-13T20:35:03.884+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='System Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><title type='text'>Daily Links 13/07/2009</title><content type='html'>&lt;a href="http://www.shinedraw.com/technology-news/silverlight-3-rtw-released/" target="_blank"&gt;Silverlight 3&lt;/a&gt; &lt;a href="https://timheuer.com/blog/archive/2009/07/10/silverlight-3-released-what-is-new-and-changed.aspx#riaservices"target="_blank"&gt;RTW Released&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;displaylang=en"target="_blank"&gt;Silverlight RIA Services July Preview&lt;/a&gt;&lt;br /&gt;now with go-live licence&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24246"target="_blank"&gt;Silverlight Toolkit July Release&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silverlightforbusiness.net/2009/06/23/pushing-data-from-the-server-to-silverlight-3-using-a-duplex-wcf-service/"target="_blank"&gt;Pushing Data From the Server to Silverlight 3 using a Duplex Wcf Service&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ajaxline.com/20-most-interesting-silverlight-tutorials"target="_blank"&gt;20 Most Interesting Silverlight Tutorials&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eggheadcafe.com/tutorials/aspnet/002292a9-a5f1-4d0c-8842-eabcc4492bb7/silverlight-3-polling-dup.aspx"target="_blank"&gt;Silverlight 3 Polling Duplex Chat and Realtime Stock Updates&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/dwahlin/archive/2009/07/06/creating-an-combobox-style-autocompletebox-control-in-silverlight.aspx"target="_blank"&gt;Creating a ComboBox Style AutoCompleteBox Control in Silverlight &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.entityspaces.net/blog/2009/07/08/EntitySpaces+Silverlight+And+WCF+A+Fantastic+Combination.aspx"target="_blank"&gt;EntitySpaces, Silverlight, and WCF a Fantastic Combination&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.voidtools.com/"target="_blank"&gt;Everything search&lt;/a&gt;&lt;br /&gt;Search files and folders on your NTFS files instantly. It's not an indexing service, so it won't hog your resource like Google Desktop / Windows Search. From the forum: "When I read about it in PCWorld, I thought it might be worth a look. When I saw that it did wildcards (and was portable!), I figured it was definitely worth a try. When I read that it did REGULAR EXPRESSIONS I was certain I wanted it. And when it indexed all my huge volumes in a couple seconds, I nearly had a stroke"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-8872087032840545751?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/8872087032840545751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=8872087032840545751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/8872087032840545751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/8872087032840545751'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/07/daily-links-13072009.html' title='Daily Links 13/07/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-3150944594471125010</id><published>2009-06-25T21:57:00.005+02:00</published><updated>2009-06-30T17:06:23.036+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Event Extensions: Methods for firing events and managing event listeners</title><content type='html'>&lt;p&gt;In most modern C# applications, generous usage of events have become the norm. Gone are the days where we were afraid to use them because of the &amp;quot;black magic&amp;quot; code that they seemed to execute.&lt;/p&gt;  &lt;p&gt;Today, perhaps the opposite is true, and they are used too lightly, with disregard for the memory leeches they are (those small, black&amp;#160; slimly kind that you're never aware of what damage they're doing until it's too late).&lt;/p&gt;  &lt;p&gt;Here's some code to make usage of the leeches a little easier :).&lt;/p&gt;  &lt;p&gt;The typical firing of an event from C# code looks something like this:&lt;/p&gt;  &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&gt;   &lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;     &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (MyEvent1 != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;     MyEvent1(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;, EventArgs.Empty);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt; }&lt;/pre&gt; &lt;/div&gt;&lt;/div&gt;&lt;p&gt;There are 2 essential problems with this code:&lt;/p&gt;&lt;ol&gt;  &lt;li&gt;It's too many lines of code for something so mundane. &lt;/li&gt;  &lt;li&gt;What happens if there are more than 1 listeners listening to the event, and one of them throws an exception? Normal .NET behaviour dictates that the other listeners never get to hear about the event, but what if it's important that all listeners know about the event before application execution is halted? &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Solution to problem #1: wrap the logic in an extension method&lt;/p&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&gt;  &lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt; &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; MyEvent1.Raise(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;, EventArgs.Empty);&lt;/pre&gt; &lt;/div&gt;&lt;/div&gt;&lt;p&gt;there - isn't that better? Here's sample of the implementation:&lt;/p&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&gt;  &lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Raise(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt; EventHandler handler, &lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (handler != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;         handler(sender, e);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   7:&lt;/span&gt; }&lt;/pre&gt; &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Solution to problem #2: expand on the extension method (now that all the logic is conveniently in one place)&lt;/p&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&gt;  &lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;   &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; MyEvent1.Raise(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;, EventArgs.Empty, &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;);&lt;/pre&gt;  &lt;/div&gt;&lt;/div&gt;&lt;p&gt;...where the boolean parameter tells the extension method to make sure that all the event listeners get to hear about the event before throwing an exception. The exception that is then thrown, is an EventListenerException, which is just basically a wrapper for all exceptions that occurred on the event listener's event handling code. &lt;br /&gt;  &lt;br /&gt;sample implementation: (called from the event extension method)&lt;/p&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&gt; &lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; ManageEventListeners(IEnumerable&amp;lt;Delegate&amp;gt; delegates, &lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt;       {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;           EventListenerException eventListenerException = &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;           &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (Delegate listner &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; delegates)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;           {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt;               &lt;span style="color: #008000"&gt;//the listner could throw an unhandled exception in the handler method&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   7:&lt;/span&gt;               &lt;span style="color: #008000"&gt;//make sure that the other listners still handle event if this is the case&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   8:&lt;/span&gt;               &lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   9:&lt;/span&gt;               {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  10:&lt;/span&gt;                   listner.DynamicInvoke(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;[] {sender, e});&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  11:&lt;/span&gt;               }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  12:&lt;/span&gt;               &lt;span style="color: #0000ff"&gt;catch&lt;/span&gt; (TargetInvocationException ex)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  13:&lt;/span&gt;               {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  14:&lt;/span&gt;                   &lt;span style="color: #008000"&gt;//add a new event listner&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  15:&lt;/span&gt;                   EventListener eventListener = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; EventListener&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  16:&lt;/span&gt;                                                   {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  17:&lt;/span&gt;                                                       Listener = listner,&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  18:&lt;/span&gt;                                                       ListenerException = ex.InnerException&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  19:&lt;/span&gt;                                                   };&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  20:&lt;/span&gt;                   &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  21:&lt;/span&gt;                   &lt;span style="color: #008000"&gt;//NOTE: The exception which occurs is &amp;quot;TargetInvokationException&amp;quot;, but the &lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  22:&lt;/span&gt;                   &lt;span style="color: #008000"&gt;//actual exception which occurs in the listner is contained in the innerException&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  23:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  24:&lt;/span&gt;                   &lt;span style="color: #008000"&gt;//add listner to eventListnerException&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  25:&lt;/span&gt;                   &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (eventListenerException == &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  26:&lt;/span&gt;                   {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  27:&lt;/span&gt;                       eventListenerException = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; EventListenerException();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  28:&lt;/span&gt;                   }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  29:&lt;/span&gt;                   eventListenerException.EventListenerCol.Add(eventListener);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  30:&lt;/span&gt;               }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  31:&lt;/span&gt;           }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  32:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  33:&lt;/span&gt;           &lt;span style="color: #008000"&gt;//if an exception was thrown by one of the listner's event handlers&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  34:&lt;/span&gt;           &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (eventListenerException != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  35:&lt;/span&gt;           {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  36:&lt;/span&gt;               &lt;span style="color: #0000ff"&gt;throw&lt;/span&gt; eventListenerException;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  37:&lt;/span&gt;               &lt;span style="color: #008000"&gt;//then re-throw the exception that thrown in the handler &lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  38:&lt;/span&gt;           }&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;  39:&lt;/span&gt;       }&lt;/pre&gt;  &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Here's some sample code with unit tests included in case you need to play with the code (NUnit 2.4.7 &amp;amp; VS 2008)&lt;/p&gt;&lt;br /&gt;&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-5fadc16984914668.skydrive.live.com/embedrowdetail.aspx/BlogCode/EventExtensions.zip" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;br /&gt;PS: It's Silverlight compatible (of course :) )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-3150944594471125010?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/3150944594471125010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=3150944594471125010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/3150944594471125010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/3150944594471125010'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/06/event-extensions-methods-for-firing.html' title='Event Extensions: Methods for firing events and managing event listeners'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-340149943776101820</id><published>2009-02-21T08:18:00.003+02:00</published><updated>2009-06-25T22:45:32.770+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><title type='text'>Daily Links 21/02/2009</title><content type='html'>&lt;a href="http://goneale.wordpress.com/2009/02/17/15-helpful-net-extension-methods-to-increase-productivity/" target="_blank"&gt;15 Helpful .NET Extension Methods to Increase Productivity&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/jaredpar/archive/2009/02/16/a-more-usable-thread-safe-collection.aspx"target="_blank"&gt;A more usable API for a mutable thread safe collection &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/migratordotnet/wiki/GettingStarted"target="_blank"&gt;migratordotnet&lt;/a&gt;&lt;br /&gt;Migration Framework for .NET&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/SilverlightLinkLabel"target="_blank"&gt;Silverlight LinkLable Control&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/02/19/silverlight-2-gets-minor-update-gdr1.aspx"&gt;Silverlight gets minor update&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/erwinvandervalk/archive/2009/02/18/just-released-composite-application-guidance-for-wpf-and-silverlight-february-2008.aspx"target="_blank"&gt;just released: composite application guidance for wpf and silverlight - February 2008 &lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.telerik.com/VladimirMilev/Posts/09-02-05/Tracking_down_memory_leaks_in_WPF_and_Silverlight.aspx"target="_blank"&gt;Tracking down memory leaks in WPF and Silverlight &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hanselman.com/blog/PortingWPFApplicationsToTheMicrosoftSurface.aspx"target="_blank"&gt;Porting WPF Applications to the Microsoft Surface&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/webdevtools/archive/2009/02/17/iis7-load-balancing-routing-module-now-available.aspx"target="_blank"&gt;IIS7 Load Balancing &amp; Routing Module Now Available! &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2009/02/19/Makingextensionmethodsamenabletomocking.aspx"target="_blank"&gt;Making extension methods amenable to mocking &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.maximumpc.com/article/features/maximum_pcs_32_totally_essential_apps?page=0%2C0"target="_blank"&gt;The 32 Totally Essential (and Free) Apps for Every New PC&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/02/20/hp-mediasmart-home-server-ex487-backup-s3.aspx"&gt;Get yourself a Window's Home Server&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-340149943776101820?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/340149943776101820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=340149943776101820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/340149943776101820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/340149943776101820'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/02/15-helpful.html' title='Daily Links 21/02/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-4946888878668103926</id><published>2009-06-25T20:59:00.003+02:00</published><updated>2009-06-25T21:03:17.159+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile Development'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>Daily Links 25/06/2009</title><content type='html'>&lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/06/14/silverlight-product-maintenance-application-part-1-authentication-roles-and-logging-in.aspx" target="_blank"&gt;Silverlight: Product Maintenance Application ( Part 1 - Authentication, Roles and Logging In ) &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://leeontech.wordpress.com/2009/06/22/resizing-childwindow/"target="_blank"&gt;Silverlight - Resizing Childwindow&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/silverlight/SynchronousSilverlight.aspx"target="_blank"&gt;Synchronous Web Service Calls with Silverlight 2: Dispelling the async-only myth&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://developer.windowsmobile.com/marketplace.aspx"target="_blank"&gt;Distribute Mobile Applications On Windows Marketplace&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.devsource.com/devlife/content/data_access/visual_studios_database_publishing_wizard.html"target="_blank"&gt;Visual Studio's Database Publishing Wizard and the new 1-Click Web Deployment&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/gunnarpeipman/archive/2009/06/18/visual-studio-2010-web-application-packaging-and-publishing.aspx"target="_blank"&gt;Visual Studio 2010: Web application packaging and publishing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=7fd7164e-9e73-43f7-90ab-5b2bf2577ac9"target="_blank"&gt;Microsoft ADO.NET Entity Framework Feature Community Technology Preview 1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2009/06/22/feature-ctp-walkthrough-self-tracking-entities-for-entity-framework.aspx"target="_blank"&gt;Feature CTP Walkthrough: Self Tracking Entities for Entity Framework&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2009/06/22/feature-ctp-walkthrough-code-only-for-entity-framework.aspx"target="_blank"&gt;Feature CTP Walkthrough: Code Only for Entity Framework&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-4946888878668103926?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/4946888878668103926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=4946888878668103926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/4946888878668103926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/4946888878668103926'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/06/daily-links-25062009.html' title='Daily Links 25/06/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-2982169758071983611</id><published>2009-06-14T23:40:00.002+02:00</published><updated>2009-06-14T23:55:26.688+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='XAML'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><category scheme='http://www.blogger.com/atom/ns#' term='Continuous Integration'/><title type='text'>Daily Links 14/06/2009</title><content type='html'>&lt;a href="http://blogs.msdn.com/silverlightws/archive/2009/06/07/improving-the-performance-of-web-services-in-sl3-beta.aspx" target="_blank"&gt;Improving the performance of web services in SL3 Beta&lt;/a&gt;&lt;br /&gt;Uses new SL3 Binary encoding&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geekswithblogs.net/SunnyCoder/archive/2009/03/15/username-password-amp-ws-security-with-silverlight.aspx" target="_blank"&gt;Implementing UserName Password &amp; WS-Security with Silverlight&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.instantshift.com/2009/06/02/55-best-ways-to-track-your-website-daily-traffic/" target="_blank"&gt;55 Best Ways To Track Your Website Daily Traffic&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.primaryobjects.com/CMS/Article107.aspx" target="_blank"&gt;Sending Email From a Gmail Account with C# .NET and Web Services&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.byteblocks.com/post/2009/06/01/Convert-IP-To-Location-and-Address-To-Location.aspx" target="_blank"&gt;Convert IP Address To Location and Address to Geo Location Using C# VB.Net&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ferventcoder.com/category/uppercut.aspx" target="_blank"&gt;UppercuT build framework (for SVN SC) - tutorials&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ferventcoder.com/archive/2009/06/08/uppercut---teamcity-integration---part-1-create-a-teamcity.aspx" target="_blank"&gt;UppercuT TeamCity Integration Series&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.devx.com/dotnet/Article/42005" target="_blank"&gt;Best Practices for Handling Change in Your WCF Applications&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://inkscape.org/" target="_blank"&gt;Free Vector Graphics Program&lt;/a&gt;&lt;br /&gt;Can save output directly to xaml format&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.tiaan.com/link/2009/02/21/vectorize-bitmaps-to-xaml-using-potrace-inkscape" target="_blank"&gt;Vectorize Bitmaps to XAML using Potrace and Inkscape&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dzinepress.com/2009/06/10-stunning-websites-for-download-free-icon-sets/" target="_blank"&gt;10+ Stunning Websites for Download Free Icon Sets&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.freeiconsdownload.com/index.html" target="_blank"&gt;Royalty Free Icons&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-2982169758071983611?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/2982169758071983611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=2982169758071983611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/2982169758071983611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/2982169758071983611'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/06/daily-links-14062009.html' title='Daily Links 14/06/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-8916614382496224270</id><published>2009-06-03T08:37:00.002+02:00</published><updated>2009-06-03T08:40:18.393+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><category scheme='http://www.blogger.com/atom/ns#' term='Continuous Integration'/><title type='text'>Daily Links - 03/06/2009</title><content type='html'>&lt;a href="http://blogs.zdnet.com/microsoft/?p=2912" target="_blank"&gt;Silverlight 3 to launch July 10&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.tiaan.com/link/2009/02/03/stopwatch-silverlight"target="_blank"&gt;Silverlight Stopwatch class in C#&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ferventcoder.com/archive/2009/05/08/uppercut---the-insanely-easy-to-use-automated-build-framework.aspx"target="_blank"&gt;UppercuT - The Insanely Easy to Use Automated Build Framework&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.yoda.arachsys.com/csharp/singleton.html"target="_blank"&gt;Implementing the [ThreadSafe] Singleton Pattern in C# &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://t4-editor.tangible-engineering.com/T4-Editor-Visual-T4-Editing.html"target="_blank"&gt;T4 Editor plus UML-Style modeling tools for Visual Studio 2008/2010 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/mvpawardprogram/archive/2009/05/26/indian-mvp-inspired-by-silverlight-3.aspx"target="_blank"&gt;Indian MVP Inspired by Silverlight 3!&lt;/a&gt;&lt;br /&gt;some handy tutorial links&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eggheadcafe.com/tutorials/aspnet/d566463d-83bd-486a-8633-53aa54f405bf/silverlight-2-beta-2-doi.aspx"target="_blank"&gt;using SharpZipLib compression in conjunction with isoloated storage&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2009/05/26/net-ria-services-get-your-metadata-from-anywhere.aspx"target="_blank"&gt;.NET RIA Services: Get your metadata from anywhere!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dotnet.dzone.com/news/wcf-binary-bindings"target="_blank"&gt;WCF Binary Encoding with SL3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/rosherove/archive/2009/05/27/a-simpler-conventions-based-dependencyproperty-structure-for-silverlight-using-customcontrolbase.aspx"target="_blank"&gt;A simpler, conventions based DependencyProperty structure for silverlight using CustomControlBase&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-8916614382496224270?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/8916614382496224270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=8916614382496224270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/8916614382496224270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/8916614382496224270'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/06/daily-links-03062009.html' title='Daily Links - 03/06/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-8523034265991885591</id><published>2009-05-25T23:37:00.003+02:00</published><updated>2009-05-25T23:47:26.743+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='Entity Framework'/><title type='text'>Daily Links 25/05/2009</title><content type='html'>&lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx" target="_blank"&gt;Visual Studio 2010 and .NET Framework 4 Beta 1 - Downloads&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/05/20/silverlight-and-visual-studio-2010-beta.aspx"target="_blank"&gt;Silverlight and Visual Studio 2010 Beta 1&lt;/a&gt;&lt;br /&gt;Some Silverlight 3 bits don't play nice with VS 2010, so you have to pick one :|&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.silverlightshow.net/items/Silverlight-3-with-Ria-Authentication-service.aspx"target="_blank"&gt;Silverlight 3 with Ria Authentication service&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/silverlight/SilverlightLogging.aspx?df=100&amp;forumid=907929&amp;exp=0"target="_blank"&gt;CLOG: Client logging solution for silverlight&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/silverlight/STextBox.aspx"target="_blank"&gt;silverlight super textbox&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/delay/archive/2009/05/19/chart-tweaking-made-easy-how-to-make-four-simple-color-tooltip-changes-with-silverlight-wpf-charting.aspx"target="_blank"&gt;Silverlight Toolkit Chart tweaking made easy &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Silverlight Splash Screen links:&lt;br /&gt;&lt;a href="http://www.codeplex.com/SilverlightLoader"target="_blank"&gt;Silverlight Loader:&lt;/a&gt;&lt;br /&gt;splash screens in managed code - &lt;a href="http://www.apijunkie.com/APIJunkie/blog/page/Silverlight-Loader-Getting-Started-Guide.aspx"target="_blank"&gt;getting started&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc903962(VS.95).aspx"&gt;How to: Define a Simple Silverlight Splash Screen&lt;/a&gt;&lt;br /&gt;an &lt;a href="http://blog.buttonchrome.co.uk/post/Silverlight-Loadinge-Spin-Icon-in-XAML.aspx"target="_blank"&gt;example&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pagebrooks.com/archive/2009/02/19/custom-loading-screens-in-silverlight.aspx"target="_blank"&gt;Silverlight loading animation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/danielfe/archive/2009/05/20/visual-studio-2010-beta-1-cheat-sheet.aspx"target="_blank"&gt;Visual Studio 2010 Beta 1 Cheat Sheet&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2009/05/21/poco-in-the-entity-framework-part-1-the-experience.aspx"target="_blank"&gt;POCO in the Entity Framework: Part 1 - The Experience&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/gilf/archive/2009/05/23/model-first-in-entity-framework-4.aspx"target="_blank"&gt;Model First in Entity Framework 4&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-8523034265991885591?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/8523034265991885591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=8523034265991885591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/8523034265991885591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/8523034265991885591'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/05/daily-links-25052009.html' title='Daily Links 25/05/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-5335132366383784237</id><published>2009-05-19T22:54:00.000+02:00</published><updated>2009-05-19T23:00:32.653+02:00</updated><title type='text'>Daily Links 19/05/2009</title><content type='html'>&lt;a href="http://blogs.msdn.com/brada/archive/2009/05/11/net-ria-services-may-2009-preview.aspx"&gt;.NET RIA Services May 2009 Preview&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/silverlight/SilverlightModule.aspx"&gt;Building Modular Silverlight Applications&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/dd569758.aspx"&gt;Using Silverlight 2 With ADO.NET Data Services&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some very encouraging links from the Entity Framework team...&lt;br /&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2009/05/11/sneak-preview-persistence-ignorance-and-poco-in-entity-framework-4-0.aspx"&gt;Sneak Preview: Persistence Ignorance and POCO in Entity Framework 4.0&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2009/05/12/sneak-preview-model-first-in-the-entity-framework-4-0.aspx"&gt;Sneak Preview: Model First in the Entity Framework 4.0&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2009/05/12/sneak-preview-deferred-loading-in-entity-framework-4-0.aspx"&gt;Sneak Preview: Deferred Loading in Entity Framework 4.0&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2009/05/14/sneak-preview-n-tier-development-with-entity-framework-4-0.aspx"&gt;Sneak Preview: N-Tier development with Entity Framework 4.0&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2009/05/18/sneak-preview-entity-framework-4-0-testability-improvements.aspx"&gt;Sneak Preview: Entity Framework 4.0 Testability Improvements&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998347.aspx"&gt;How To: Use Membership in ASP.NET 2.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.krisvandermast.com/CreateMembershipTablesInAnotherDatabaseThanTheStandardAspnetdbmdf.aspx"&gt;Create Membership tables in another database than the standard aspnetdb.mdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://help.maximumasp.com/SmarterTicket/Customer/KBArticle.aspx?articleid=878"&gt;How to Configure Your ASP.NET 2.0 Account's Membership Database&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-5335132366383784237?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/5335132366383784237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=5335132366383784237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/5335132366383784237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/5335132366383784237'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/05/daily-links-19052009.html' title='Daily Links 19/05/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-3011825297420234997</id><published>2009-05-12T20:43:00.002+02:00</published><updated>2009-05-12T21:05:19.797+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><title type='text'>Daily Links 12/05/2009</title><content type='html'>&lt;a href="http://www.nikhilk.net/Entry.aspx?id=230" target="_blank"&gt;Locate Me and Virtual Earth Sample for Silverlight&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jonathan-oliver.blogspot.com/2009/04/move-over-aspnet-webforms-and-mvc.html"target="_blank"&gt;Move Over ASP.NET WebForms and MVC!&lt;/a&gt;&lt;br /&gt;:)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.silverlightshow.net/items/Creating-Rich-Data-Forms-in-Silverlight-3-Customization.aspx"target="_blank"&gt;Creating Rich Data Forms in Silverlight 3 - Customization&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wintellect.com/CS/blogs/jprosise/archive/2009/05/04/radial-layout-in-silverlight.aspx"target="_blank"&gt;Radial Layout in Silverlight &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/gduthie/archive/2009/04/28/gotchas-for-web-services-in-silverlight.aspx"target="_blank"&gt;Gotchas for Web Services in Silverlight&lt;/a&gt;&lt;br /&gt;Covers some issue with https comms and clientaccess policy files.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/05/08/expression-blend-3-more-on-actions-triggers-behaviors.aspx"target="_blank"&gt;Expression Blend 3: More on Actions, Triggers, Behaviors &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/manishdalal/archive/2008/09/24/prevention-the-first-line-of-defense-with-attach-property-pixie-dust.aspx"target="_blank"&gt;Prevention : The first line of defense, with Attach Property Pixie dust! &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://michaelsync.net/2008/05/25/tiptrick-sending-email-in-silverlight-2-beta1 http://www.redmondpie.com/developing-an-email-application-using-silverlight-2-beta-2/"target="_blank"&gt;Sending email using silverlight&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silverlight.net/learn/whitepapers.aspx"target="_blank"&gt;Silverlight whitepapers&lt;/a&gt;&lt;br /&gt;quite a few handy whitepapers on silverlight&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silverlight.net/learn/learnvideo.aspx?video=216916"target="_blank"&gt;Silverlight Toolkit: Animated Transition Control&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wildermuth.com/2009/05/10/Supporting_ScreenReaders_in_Silverlight"target="_blank"&gt;Supporting ScreenReaders in Silverlight&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.silverlightshow.net/items/Animating-ListBox-items-the-VisualStateManager.aspx"target="_blank"&gt;Animating ListBox items - the VisualStateManager&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.asp.net/astopford/archive/2009/05/05/nunit-2-5-rtm.aspx"target="_blank"&gt;NUnit 2.5 RTM&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://faler.wordpress.com/2009/05/08/best-practices-for-scalable-high-performance-systems/"target="_blank"&gt;Best practices for scalable, high performance systems &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dbazine.com/ofinterest/oi-articles/celko4"target="_blank"&gt;Database Calculated Columns&lt;/a&gt;&lt;br /&gt;when they should and should not be used.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-3011825297420234997?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/3011825297420234997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=3011825297420234997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/3011825297420234997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/3011825297420234997'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/05/daily-links-12052009.html' title='Daily Links 12/05/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-2702849321871777107</id><published>2009-04-30T08:39:00.002+02:00</published><updated>2009-04-30T08:44:55.308+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='SVN'/><title type='text'>Daily Links - 30/04/2009</title><content type='html'>&lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/04/27/silverlight-3-simple-flip-control-built-on-planeprojection.aspx" target="_blank"&gt;Silverlight 3 - Simple "Flip Control" built on PlaneProjection &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/04/27/silverlight-3-simple-control-for-online-offline.aspx"target="_blank"&gt;Silverlight 3 - Simple Control for Online/Offline &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geekswithblogs.net/SilverBlog/archive/2009/04/27/silverlightcountdowncontrol.aspx"target="_blank"&gt;Silverlight Count Down Control - Your days are counted&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nerddawg.blogspot.com/2009/04/silverlight-out-of-browser-apps-local.html"target="_blank"&gt;Silverlight out-of-browser apps: Local Data Store &lt;/a&gt;&lt;br /&gt;Comprehensive article on storing data to the client file system&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.silverlightshow.net/items/Creating-Rich-Data-Forms-in-Silverlight-3-Introduction.aspx"target="_blank"&gt;Creating Rich Data Forms in Silverlight 3 - Introduction&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mindscape.co.nz/products/lightspeed/features/designer.aspx"target="_blank"&gt;Construct domain models faster than ever before!&lt;/a&gt;&lt;br /&gt;ORM I am seriously considering for my home project. A little birdy told me there is some sweet silverlight support coming in their next release which is due shortly.&lt;br /&gt;The big win for me is the Domain Driven Design which they follow in the article highlighted above, added to this Mindscape's "convention over configuration" development approach, and excellent price entry point (which is esp important for developers like me working at home on a tight budget)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dimecasts.net/Casts/CastDetails/105"target="_blank"&gt;Getting your Func along with your Action on&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jonathan-oliver.blogspot.com/2009/04/all-your-repository-are-belong-to-us.html"target="_blank"&gt;All Your Repositories Are Belong To Us&lt;/a&gt;&lt;br /&gt;Discussion on Repository vs Command Query Seperation (CQS) Patterns&lt;br /&gt;&lt;br /&gt;&lt;a href="http://refcardz.dzone.com/refcardz/scrum?oid=hom9677"target="_blank"&gt;RefCard for Scrum&lt;/a&gt;&lt;br /&gt;Handy summary of the scrum process&lt;br /&gt;&lt;br /&gt;&lt;a href="http://refcardz.dzone.com/refcardz/agile-adoption-decreasing-time"target="_blank"&gt;Agile Adoption - decreasing time to market&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.statsvn.org/(X(1)S(l42weq55bfferi45mw1ssy45))/Default.aspx?AspxAutoDetectCookieSupport=1"target="_blank"&gt;StatSVN&lt;/a&gt;&lt;br /&gt;"generates various tables and charts describing the project development"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mikemason.ca/blog/?p=11"target="_blank"&gt;Shelving Subversion&lt;/a&gt;&lt;br /&gt;Would be nice if this mechanism was more actively supported by the SVN toolsets. I want my "Shelve" and "Preserve Pending Changes" button and checkbox in Ankh!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://codezest.com/archive/2009/04/26/getting-up-and-running-quickly-with-screwturn-wiki-amp-sql.aspx"target="_blank"&gt;Getting up and Running Quickly with ScrewTurn Wiki &amp; SQL Server&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-2702849321871777107?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/2702849321871777107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=2702849321871777107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/2702849321871777107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/2702849321871777107'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/04/daily-links-30042009.html' title='Daily Links - 30/04/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-247088950893706043</id><published>2009-04-22T15:47:00.002+02:00</published><updated>2009-04-22T15:51:37.708+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='SVN'/><title type='text'>Daily Links - 22/04/2009</title><content type='html'>&lt;a href="http://www.nikhilk.net/Entry.aspx?id=228" target="_blank"&gt;MouseWheel Behavior for Silverlight&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/04/10/silverlight-installation-experience-guidance-available-whitepaper-code.aspx"target="_blank"&gt;Silverlight installation experience guidance posted&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.silverlightshow.net/items/Creating-application-with-.NET-RIA-Services-Part-5-Sorting-and-Filtering-data.aspx"target="_blank"&gt;Creating application with .NET RIA Services Part 5 - Sorting and Filtering data&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ingebrigtsen.info/post/2009/01/12/Silverlight-Unit-Test-Runner-for-Resharper-January-2009-Update.aspx"target="_blank"&gt;Silverlight Unit Test Runner for Resharper - January 2009 Update&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://smehrozalam.wordpress.com/2009/02/10/saving-data-objects-to-isolated-storage-in-silverlight/"target="_blank"&gt;Saving data-objects to Isolated Storage in Silverlight&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cynergysystems.com/blogs/page/josefajardo?entry=it_took_me_under_5"target="_blank"&gt;It took me under 5 minutes to realize the power of behaviors!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/04/05/silverlight-3-experimenting-with-wcf-s-binary-xml-encoder.aspx"target="_blank"&gt;Silverlight 3 - Experimenting with WCF’s Binary XML Encoder &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silverzine.com/tutorials/animation-easing-and-the-quot-bounce-quot-effect/"target="_blank"&gt;Animation easing and the "bounce" effect&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cameronalbert.com/post/2009/04/21/Silverlight-Drag-and-Drop-Manager.aspx"target="_blank"&gt;Silverlight drag-and-drop helper classes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silverzine.com/tutorials/flicker-effect-opacity-masks-in-blend/"target="_blank"&gt;Flicker Effect - Opacity Masks in Blend&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/nbuilder/"target="_blank"&gt;NBuilder&lt;/a&gt;&lt;br /&gt;"rapidly create test data, automatically assigning values to properties and public fields that are of type of the built in .NET data types"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geekswithblogs.net/btudor/archive/2009/04/12/130919.aspx"target="_blank"&gt;Setting up Subversion 1.6 Server&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx"target="_blank"&gt;Configuring Visual Studio to Debug .NET Framework Source Code&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-247088950893706043?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/247088950893706043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=247088950893706043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/247088950893706043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/247088950893706043'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/04/daily-links-22042009.html' title='Daily Links - 22/04/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-1232788281807639587</id><published>2009-04-09T22:45:00.002+02:00</published><updated>2009-04-09T22:52:55.964+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Daily Links 09/04/2009</title><content type='html'>&lt;a href="http://blogs.msdn.com/keithkin/archive/2009/03/28/getting-started-with-the-virtual-earth-silverlight-map-control-ctp-building-a-hello-world-sample-from-scratch.aspx" target="_blank"&gt;Virtual Earth Silverlight Map Control CTP - Building a "Hello World!" Sample From Scratch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.85turns.com/2009/04/09/looking-at-virtual-earth-silverlight-control/"target="_blank"&gt;Looking at Virtual Earth Silverlight Control&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geekswithblogs.net/HenkOberholzer/archive/2009/03/31/database-versioning-and-documentation-for-microsoft-sql-server---free.aspx"target="_blank"&gt;Database Versioning and Documentation Tool for Microsoft SQL Server&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silverlight.net/blogs/msnow/archive/2009/04/01/silverlight-tip-of-the-day-103-cool-silverlight-tutorial-blogs.aspx"target="_blank"&gt;Cool Silverlight Tutorial Blogs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adamkinney.com/blog/420/default.aspx"target="_blank"&gt;Silverlight Advertising Creation Kit is now available&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hatim.indexdev.net/2009/04/08/5-most-common-asked-questions-when-using-net-ria-services/"target="_blank"&gt;5 Most Common Asked Questions When Using .Net RIA Services&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetcurry.com/ShowArticle.aspx?ID=296"target="_blank"&gt;Silverlight 3 - Experiencing ‘Out Of Browser’ Silverlight Application and Connecting it to a WebService&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/delay/archive/2009/04/08/nobody-likes-seeing-the-hourglass-keep-your-application-responsive-with-backgroundtaskmanager-on-wpf-and-silverlight.aspx"target="_blank"&gt;Keep your application responsive with BackgroundTaskManager on WPF and Silverlight&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/expression/archive/2009/04/08/creating-and-editing-gradients-in-expression-blend-3-preview.aspx"target="_blank"&gt;Creating and Editing Gradients in Expression Blend 3 Preview &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wintellect.com/CS/blogs/jprosise/archive/2009/04/08/silverlight-3-s-new-style-enhancements.aspx"target="_blank"&gt;Silverlight 3's New Style Enhancements &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd550721(VS.96).aspx"target="_blank"&gt;Out-of-Browser Support - Silverlight 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://safedevelop.com/Products/RGreatEx/"target="_blank"&gt;.NET Localization Tool for Visual Studio&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/04/06/silverlight-3-navigation-behavior-customization.aspx"target="_blank"&gt;Managing Silverlight 3 navigation behavior&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silverlight.net/blogs/msnow/archive/2009/04/06/silverlight-tip-of-the-day-105-setting-default-browser-from-within-vs.aspx"target="_blank"&gt;Setting Default Browser from within VS&lt;/a&gt;&lt;br /&gt;I keep forgetting how to do this :|&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.noop.nl/2009/04/the-big-list-of-agile-practices.html"target="_blank"&gt;The Big List of Agile Practices&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/WCFSecurity"target="_blank"&gt;patterns &amp; practices: WCF Security Guidance Project &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/04/08/silverlight-startups-get-access-to-bizspark.aspx"target="_blank"&gt;Startups welcome here - get a jumpstart with software you need&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/robertbruckner/archive/2009/04/07/sql-server-2008-sp1-and-report-builder-update.aspx"target="_blank"&gt;SQL Server 2008 SP1 and Report Builder Update &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.maximumpc.com/article/features/maximum_pc_builds_a_multitouch_surface_computer"target="_blank"&gt;Build Your Own Multitouch Surface Computer&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-1232788281807639587?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/1232788281807639587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=1232788281807639587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/1232788281807639587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/1232788281807639587'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/04/daily-links-09042009.html' title='Daily Links 09/04/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-1484743847876278687</id><published>2009-04-01T21:15:00.004+02:00</published><updated>2009-04-01T21:26:58.210+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><title type='text'>Daily Links 01/04/2009</title><content type='html'>&lt;a href="http://silverlightcontrib.org/" target="_blank"&gt;Silverlight Contrib new release&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pietschsoft.com/post/2009/03/Virtual-Earth-Silverlight-Using-MouseClick-Event-To-Add-Pushpins.aspx"target="_blank"&gt;Virtual Earth Silverlight: Using MouseClick Event To Add "Pushpins"&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dotneteers.net/blogs/vbandi/archive/2009/03/26/discovering-silverlight-3-poor-man-s-visualbrush-behavior.aspx"target="_blank"&gt;Discovering Silverlight 3: Poor Man’s Visualbrush Behavior&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/03/28/silverlight-for-wordpress-plugin.aspx"target="_blank"&gt;Silverlight WordPress plugin&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silverlighthack.com/post/2009/03/29/Silverlight-3-Where-is-Silverlight-Mobile.aspx"target="_blank"&gt;Silverlight 3 - Where is Silverlight Mobile?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2009/03/30/Silverlight-3-Quick-Tip-_3A00_-Lambda-Expressions-for-Async-Web-Service-Calls.aspx"target="_blank"&gt;Silverlight 3 Quick Tip : Lambda Expressions for Async Web Service Calls &lt;/a&gt;&lt;br /&gt;General tip for in-line event handling, applied in the silverlight domain.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hatim.indexdev.net/2009/03/31/net-ria-service-hello-world/"target="_blank"&gt;.Net RIA Service: Hello World&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.silverlightshow.net/items/Creating-applications-with-.NET-RIA-Service-Part-1-Introduction.aspx"target="_blank"&gt;Creating applications with .NET RIA Service Part 1: Introdiction&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.silverlightshow.net/items/Creating-applications-with-.NET-RIA-Service-Part-2-Creating-the-project.aspx"target="_blank"&gt;Part 2 - Creating the project&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.silverlightshow.net/items/Creating-applications-with-.NET-RIA-Service-Part-3-Adding-DomainService-class.aspx"target="_blank"&gt;Part 3 - Adding DomainService class&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.silverlightshow.net/items/Creating-applications-with-.NET-RIA-Services-Part-4-Adding-a-DomainDataSource.aspx" target="_blank"&gt;Part 4 - Adding a DomainDataSource&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.silverlightshow.net/items/Data-Validation-in-Silverlight-3.aspx"target="_blank"&gt;Data Validation in Silverlight 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/amyd/archive/2009/03/18/switching-from-silverlight-3-tools-to-silverlight-2-tools.aspx"target="_blank"&gt;Running Silverlight 2 and 3 on the same machine (made easy)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/gray_knowlton/archive/2009/03/23/textglow-silverlight-open-xml-viewer-source-code-available.aspx"target="_blank"&gt;TextGlow Silverlight Open XML Viewer Source Code available&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://csharp-snippets.blogspot.com/2009/03/html-host-control-in-silverlight.html"target="_blank"&gt;Html Host control in Silverlight&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://community.devexpress.com/blogs/theonewith/archive/2009/03/22/iphone-like-touch-interface-with-silverlight-grid.aspx"target="_blank"&gt;iPhone like Touch Interface with Silverlight Grid &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2009/03/23/Using-Blur-to-make-Dialogs-Pop-in-Silverlight-3.aspx"target="_blank"&gt;Using Blur to make Dialogs Pop in Silverlight 3 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2009/03/30/Silverlight-Tip-_3A00_-Nest-Another-Grid-Inside-LayoutRoot-for-Flexibility.aspx"target="_blank"&gt;Silverlight Tip : Nest Another Grid Inside LayoutRoot for Flexibility &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/dd569750.aspx"target="_blank"&gt;Microsoft Translator Service&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ajdotnet.wordpress.com/2009/03/29/visual-studio-2010-architecture-edition/"target="_blank"&gt;Visual Studio 2010 Architecture Edition&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codingthearchitecture.com/2009/03/30/pitfalls_for_software_architects.html"target="_blank"&gt;Pitfalls for software architects&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-1484743847876278687?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/1484743847876278687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=1484743847876278687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/1484743847876278687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/1484743847876278687'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/04/daily-links-01042009.html' title='Daily Links 01/04/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-269779592278926433.post-679485310091198481</id><published>2009-03-24T23:28:00.002+02:00</published><updated>2009-03-24T23:33:02.651+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='SilverLight'/><category scheme='http://www.blogger.com/atom/ns#' term='DailyLinks'/><title type='text'>Daily Links 24/03/2009</title><content type='html'>&lt;a href="http://www.nikhilk.net/Entry.aspx?id=227" target="_blank"&gt;.NET RIA Services: From Vision to Architecture&lt;/a&gt;&lt;br /&gt;A deep drilldown into the thinking behind .NET RIA Services, the concepts and architecture behind the bits... &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.davidpoll.com/?p=4"target="_blank"&gt;Silverlight Activity Control&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pietschsoft.com/post/2009/03/Getting-Started-Virtual-Earth-Silverlight-Map-Control-SDK-CTP.aspx"target="_blank"&gt;Getting Started with Virtual Earth Silverlight Map Control SDK CTP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pietschsoft.com/post/2009/03/Virtual-Earth-Silverlight-Adding-Media-(Images2c-Video2c-etc)-to-the-Map.aspx"target="_blank"&gt;Virtual Earth Silverlight: Adding Media (Images, Video, etc.) to the Map&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pietschsoft.com/post/2009/03/Virtual-Earth-Silverlight-Using-Tile-Layers-to-Overlay-Custom-Map-Imagery.aspx"target="_blank"&gt;Virtual Earth Silverlight: Using Tile Layers to Overlay Custom Map Imagery&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pietschsoft.com/post/2009/03/Virtual-Earth-Silverlight-Overlay-OpenStreetMap2c-OpenAerialMap-and-Yahoo-Map-Imagery-using-Custom-Tile-Layers!.aspx"target="_blank"&gt;Virtual Earth Silverlight: Overlay OpenStreetMap, OpenAerialMap and Yahoo Map Imagery using Custom Tile Layers!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jeff.wilcox.name/2009/03/sxs-sl2-sl3-building/"target="_blank"&gt;Building Silverlight 2 and Silverlight 3 Beta applications on the same machine&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silverlighthack.com/post/2009/03/22/Silverlight-3-Release-Date.aspx"target="_blank"&gt;Silverlight 3 Release Date (RTW) Surprise&lt;/a&gt;&lt;br /&gt;Best guess as to when SL3 is being released&lt;br /&gt;&lt;br /&gt;&lt;a href="http://michaelsync.net/2009/03/22/silverlight-3-array-helper"target="_blank"&gt;Silverlight 3: Array Helper&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=4257c275-be72-4af8-b2f0-1e01c67fb8bf#tm"target="_blank"&gt;Live Framework Tools for Microsoft Visual Studio April 2009 CTP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=25047"target="_blank"&gt;WPF Toolkit - March 2009 Release&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.jagregory.com/2009/03/19/introducing-docu-simple-doc-gen-for-net/"target="_blank"&gt;Introducing Docu - Simple doc gen for .Net&lt;/a&gt;&lt;br /&gt;For those who find SandCastle too complex&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/locale/resxtranslator.aspx"target="_blank"&gt;RESX Translation Tool&lt;/a&gt;&lt;br /&gt;First pass translation of resx files using google's translation tools&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/269779592278926433-679485310091198481?l=inquisitorjax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://inquisitorjax.blogspot.com/feeds/679485310091198481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=269779592278926433&amp;postID=679485310091198481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/679485310091198481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/269779592278926433/posts/default/679485310091198481'/><link rel='alternate' type='text/html' href='http://inquisitorjax.blogspot.com/2009/03/daily-links-24032009.html' title='Daily Links 24/03/2009'/><author><name>Jax</name><uri>http://www.blogger.com/profile/15007175879502154384</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14336014256633155483'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>