MEF in Silverlight Screencasts

MEF is a framework that simplifies the design of extensible applications and components. It can flexibly and dynamically discover a set of loosely coupled components and analyse their dependencies in order to compose them together at run time.

Mike Taulty has recently put up a six part series of screencasts covering the use of MEF in Silverlight 4.

Part 1, Introduction

Part 2, Imports & Exports

Part 3, Catalogs

Part 4, Recomposition

Part 5, the PackageCatalog

In Silverlight 4, PackageCatalog has been replaced with DeploymentCatalog. Mike has this screencast showing how to use it. Also check out his blog post here.

Part 6, Locating Defaults & ExportProviders

Another screencast showing how to create a singleton plug-in service shared by a 2 instances of non-shared plug-in.


ASP.NET 4 SEO Improvements

Page.MetaKeywords and Page.MetaDescription properties

One simple recommendation to improve the search relevancy of pages is to make sure you always output relevant “keywords” and “description” <meta> tags within the <head> section of your HTML.  For example:


One of the nice improvements with ASP.NET 4 Web Forms is the addition of two new properties to the Page class: MetaKeywords and MetaDescription that make programmatically setting these values within your code-behind classes much easier and cleaner. 

Response.RedirectPermanent() Method

It is pretty common within web applications to move pages and other content around over time, which can lead to an accumulation of stale links in search engines.

In ASP.NET, developers have often handled requests to old URLs by using the Response.Redirect() method to programmatically forward a request to the new URL.  However, what many developers don’t realize is that the Response.Redirect() method issues an HTTP 302 Found (temporary redirect) response, which results in an extra HTTP round trip when users attempt to access the old URLs.  Search engines typically will not follow across multiple redirection hops – which means using a temporary redirect can negatively impact your page ranking.  You can use the SEO Toolkit to identify places within a site where you might have this issue.

ASP.NET 4 introduces a new Response.RedirectPermanent(string url) helper method that can be used to perform a redirect using an HTTP 301 (moved permanently) response.  This will cause search engines and other user agents that recognize permanent redirects to store and use the new URL that is associated with the content.  This will enable your content to be indexed and your search engine page ranking to improve. ASP.NET 4 also introduces new Response.RedirectToRoute(string routeName) and Response.RedirectToRoutePermanent(string routeName) helper methods that can be used to redirect users using either a temporary or permanent redirect using the URL routing engine.

For more goto –> ASP.NET 4 SEO Improvements (VS 2010 and .NET 4.0 Series) – ScottGu’s Blog

Using WCF RIA Services to include multi table master-detail data


When you see demonstrations of technologies most of the time the data samples show single table solutions.  When was the last time you’ve developed a single-table system? :-)  Thought so.

Chinook Entity Model

In RIA Services demonstrations, most of them have been single-table samples as well.  So how do you go about retrieving relational data (master/details type) with RIA Services?  Here’s an option. Modify the Visual Studio generated MetaData class to add an [include] attribute on top of your chosen EntityCollection<T> and then add a method to our Domain Service class to get the additonal data. e.g.

public EntityCollection<Album> Albums;

public IQueryable<Artist> GetArtistsWithAlbums()
   return this.ObjectContext.Artists.Include("Albums");

Via RIA Services and relational data

The Next Big Thing: Predictions for 2010 and the new decade


  • The future of computing – Your cell phone will become your primary computer, communicator, camera, and entertainment device, all in one. The exciting new applications are running in the browser, with application code and data in the cloud, and the cell phone as a major platform.  I think in the near future there will be docking stations everywhere with a screen and a keyboard. You simply pull out your phone, plug it into the docking station, and instantly all your applications and data are available to you. You can connect to the Internet via your cell phone service, WiFi hotspot, or wired connection.  Your phone will have enough storage so you can decide which applications and data are stored on your phone, and which will be in the cloud. Replication will work seamlessly in the background so that you always have a backup copy of your data in the cloud.
  • Cloud Computing – Mainframe to PC to mobile phone – Mobile phones are clearly the next computing platform. Mainframes (IBM) dominated the 60’s, 70’s and 80’s. PCs displaced mainframes in the mid 80’s, and with it Microsoft became the new king of the hill (1985 – 2000). The Internet in 2000 enabled web applications, web commerce, and the notion of cloud based computing. The iPhone took mobile computing to the next level. It delivered a beautiful user interface on a cell phone screen, with hundreds of applications, and all the computation and data storage in the cloud. Android will accelerate this trend in 2010.
  • Mary Meeker of Morgan Stanley says Mobile Internet usage is bigger than most people think, and it is exploding. Every platform shift has 10X the number of devices and users. There were about 1M mainframes, 10M mini-computers, 100M PCs, and 1 Billion cell phones. The next wave of mobile devices will be over 10B.

    10x platform shifts

  • Browser as Web OS
  • Android will disrupt the mobile business
  • Mobile bandwidth will explode
  • Games on your cell phone
  • Cell phone as payment device
  • Software companies become Application companies
  • Gmail and Google Apps go enterprise

for more details –> Don Dodge on The Next Big Thing: Predictions for 2010 and the new decade