<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Ian Blackburn</title>
        <link>http://bbits.co.uk/blog/Default.aspx</link>
        <description>I've got blisters on my fingers...</description>
        <language>en-GB</language>
        <copyright>Ian Blackburn</copyright>
        <managingEditor>Ian@bbits.co.uk</managingEditor>
        <generator>Subtext Version 1.9.5.177</generator>
        <image>
            <title>Ian Blackburn</title>
            <url>http://bbits.co.uk/blog/images/RSS2Image.gif</url>
            <link>http://bbits.co.uk/blog/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Bill Gates - school for the gifted</title>
            <link>http://bbits.co.uk/blog/archive/2008/06/27/bill-gates---school-for-the-gifted.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://backofabeermat.co.uk/post/40052358/bill-gates-is-a-remarkable-man-but-he-is-still-a" target="_blank"&gt;This is funny&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Ian&lt;/p&gt;&lt;img src="http://bbits.co.uk/blog/aggbug/16849.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ian Blackburn</dc:creator>
            <guid>http://bbits.co.uk/blog/archive/2008/06/27/bill-gates---school-for-the-gifted.aspx</guid>
            <pubDate>Fri, 27 Jun 2008 21:14:55 GMT</pubDate>
            <wfw:comment>http://bbits.co.uk/blog/comments/16849.aspx</wfw:comment>
            <comments>http://bbits.co.uk/blog/archive/2008/06/27/bill-gates---school-for-the-gifted.aspx#feedback</comments>
            <wfw:commentRss>http://bbits.co.uk/blog/comments/commentRss/16849.aspx</wfw:commentRss>
            <trackback:ping>http://bbits.co.uk/blog/services/trackbacks/16849.aspx</trackback:ping>
        </item>
        <item>
            <title>Silverlight Transparency - use PluginBackground not Background!</title>
            <link>http://bbits.co.uk/blog/archive/2008/06/27/silverlight-transparency---use-pluginbackground-not-background.aspx</link>
            <description>&lt;p&gt;If you want to have your Silverlight control to have a transparent background, then it is simply a question of setting the properties that &lt;a href="http://silverlight.net/blogs/msnow/archive/2008/06/26/tip-of-the-day-1-transparency-how-to-make-your-silverlight-control-transparent.aspx" target="_blank"&gt;Mike Snows describes in his tip post&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;What had caught me out previously and the reason for this post is that I had used the B&lt;strong&gt;ackground&lt;/strong&gt; property of the Silverlight control, rather then the correct PluginBackground property.  Confusingly this works for the Html control but not the Aspx one.  I had in fact filed it as a bug, and perhaps it is because I am not sure we need both of those properties?&lt;/p&gt; &lt;p&gt;Cheers&lt;/p&gt; &lt;p&gt;Ian&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5900063d-f79f-4cea-8d8b-6c5c45937f7f" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;&lt;/div&gt;&lt;img src="http://bbits.co.uk/blog/aggbug/16848.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ian Blackburn</dc:creator>
            <guid>http://bbits.co.uk/blog/archive/2008/06/27/silverlight-transparency---use-pluginbackground-not-background.aspx</guid>
            <pubDate>Fri, 27 Jun 2008 07:05:07 GMT</pubDate>
            <wfw:comment>http://bbits.co.uk/blog/comments/16848.aspx</wfw:comment>
            <comments>http://bbits.co.uk/blog/archive/2008/06/27/silverlight-transparency---use-pluginbackground-not-background.aspx#feedback</comments>
            <wfw:commentRss>http://bbits.co.uk/blog/comments/commentRss/16848.aspx</wfw:commentRss>
            <trackback:ping>http://bbits.co.uk/blog/services/trackbacks/16848.aspx</trackback:ping>
        </item>
        <item>
            <title>Apple's Mobile Me == Windows Me (well the logo at least)</title>
            <category>Mobile </category>
            <category>Web </category>
            <category>Windows </category>
            <link>http://bbits.co.uk/blog/archive/2008/06/09/apples-mobile-me--windows-me-well-the-logo-at.aspx</link>
            <description>&lt;p&gt;Apple just announce MobileMe for push email, contacts and calendars for data in the cloud.  Interesting stuff - but the logo?  Hmmm.....&lt;/p&gt; &lt;p&gt;&lt;img height="161" alt="image" src="http://www.bbits.co.uk/blog/images/uploadblog/ApplesMobileMeWindowsMewellthelogoatleas_A331/image.png" width="245" border="0" /&gt;  == &lt;img height="168" alt="image" src="http://www.bbits.co.uk/blog/images/uploadblog/ApplesMobileMeWindowsMewellthelogoatleas_A331/image_3.png" width="205" border="0" /&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Cheers&lt;/p&gt; &lt;p&gt;Ian&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:62fd3093-0a41-4fc9-a3b5-2404697ff472" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MobileMe" rel="tag"&gt;MobileMe&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows%20Me" rel="tag"&gt;Windows Me&lt;/a&gt;&lt;/div&gt;&lt;img src="http://bbits.co.uk/blog/aggbug/16847.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ian Blackburn</dc:creator>
            <guid>http://bbits.co.uk/blog/archive/2008/06/09/apples-mobile-me--windows-me-well-the-logo-at.aspx</guid>
            <pubDate>Mon, 09 Jun 2008 19:01:31 GMT</pubDate>
            <wfw:comment>http://bbits.co.uk/blog/comments/16847.aspx</wfw:comment>
            <comments>http://bbits.co.uk/blog/archive/2008/06/09/apples-mobile-me--windows-me-well-the-logo-at.aspx#feedback</comments>
            <wfw:commentRss>http://bbits.co.uk/blog/comments/commentRss/16847.aspx</wfw:commentRss>
            <trackback:ping>http://bbits.co.uk/blog/services/trackbacks/16847.aspx</trackback:ping>
        </item>
        <item>
            <title>Bridging Web Service Calls in Silverlight</title>
            <category>Silverlight</category>
            <category>Web </category>
            <link>http://bbits.co.uk/blog/archive/2008/06/06/bridging-web-service-calls-in-silverlight.aspx</link>
            <description>&lt;p&gt;For security reasons, the Silverlight version 2 runtime restricts access to certain classes of URLs from the WebClient and HTTP classes in the System.Net namespace.  &lt;/p&gt;&lt;p&gt;The main requirement is that the services you want to use should implement &lt;a href="http://msdn2.microsoft.com/en-us/library/cc197955(VS.95).aspx" target="_blank"&gt;either crossdomain.xml (which is the Flash policy file) or clientaccesspolicy.xml&lt;/a&gt; (which is the Silverlight one).  If the service &lt;a href="http://bbits.co.uk/blog/archive/2008/03/29/silverlight-and-friendfeed.aspx" target="_blank"&gt;you want to use does not implement one&lt;/a&gt; of these then you can't use Silverlight to access it. &lt;/p&gt;&lt;p&gt;However such restrictions are not present when using WebClient on the server, so you can easily create a bridge service that your Silverlight client can use. &lt;/p&gt;&lt;p&gt;For example you could create a very simple WCF Service in the same web site that will host your Silverlight app as follows: &lt;/p&gt;&lt;div&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;
&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.ServiceModel;

[ServiceContract]
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;interface&lt;/span&gt; IFeeds
{
    [OperationContract]
    &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; GetFeed(Uri uri);
}
&lt;/pre&gt;&lt;/div&gt;
&lt;div&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;
&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Net;

&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Feeds : IFeeds
{
 

    &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; IFeeds Members

    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; GetFeed(Uri uri)
    {
        WebClient client = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; WebClient();
        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; client.DownloadString(uri);
    }

    &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;
}
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Note:  You need to change the Wcf service binding in web.config so that you use a basicHttpBinding rather than the wsHttpBinding (which is not supported by Silverlight)&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&amp;lt;system.serviceModel&amp;gt;
 &amp;lt;behaviors&amp;gt;
  &amp;lt;serviceBehaviors&amp;gt;
   &amp;lt;behavior name=&lt;span style="color: #006080"&gt;"FeedsBehavior"&lt;/span&gt;&amp;gt;
    &amp;lt;serviceMetadata httpGetEnabled=&lt;span style="color: #006080"&gt;"true"&lt;/span&gt; /&amp;gt;
    &amp;lt;serviceDebug includeExceptionDetailInFaults=&lt;span style="color: #006080"&gt;"false"&lt;/span&gt; /&amp;gt;
   &amp;lt;/behavior&amp;gt;
  &amp;lt;/serviceBehaviors&amp;gt;
 &amp;lt;/behaviors&amp;gt;
 &amp;lt;services&amp;gt;
  &amp;lt;service behaviorConfiguration=&lt;span style="color: #006080"&gt;"FeedsBehavior"&lt;/span&gt; name=&lt;span style="color: #006080"&gt;"Feeds"&lt;/span&gt;&amp;gt;
   &amp;lt;endpoint address=&lt;span style="color: #006080"&gt;""&lt;/span&gt; binding=&lt;span style="color: #006080"&gt;"basicHttpBinding"&lt;/span&gt; contract=&lt;span style="color: #006080"&gt;"IFeeds"&lt;/span&gt;&amp;gt;
    &amp;lt;identity&amp;gt;
     &amp;lt;dns &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;=&lt;span style="color: #006080"&gt;"localhost"&lt;/span&gt; /&amp;gt;
    &amp;lt;/identity&amp;gt;
   &amp;lt;/endpoint&amp;gt;
   &amp;lt;endpoint address=&lt;span style="color: #006080"&gt;"mex"&lt;/span&gt; binding=&lt;span style="color: #006080"&gt;"mexHttpBinding"&lt;/span&gt; contract=&lt;span style="color: #006080"&gt;"IMetadataExchange"&lt;/span&gt; /&amp;gt;
  &amp;lt;/service&amp;gt;
 &amp;lt;/services&amp;gt;
&amp;lt;/system.serviceModel&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Now you can add a service reference from your Silverlight application to this Wcf service and use it something like as follows:&lt;/p&gt;
&lt;div&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Button_Click(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)
  {
      ServiceReference1.FeedsClient client = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ServiceReference1.FeedsClient();
      client.GetFeedCompleted += client_GetFeedCompleted;
      client.GetFeedAsync(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Uri(&lt;span style="color: #006080"&gt;"http://timesonline.typepad.com/sports_commentary/atom.xml"&lt;/span&gt;));
  }

  &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; client_GetFeedCompleted(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, ServiceReference1.GetFeedCompletedEventArgs e)
  {
      TextBlock1.Text = e.Result;
  }&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Cheers&lt;/p&gt;
&lt;p&gt;Ian&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:65da92af-d16d-4b54-aac4-4a617c32784c" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Wcf" rel="tag"&gt;Wcf&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Crossdomain" rel="tag"&gt;Crossdomain&lt;/a&gt;&lt;/div&gt;&lt;img src="http://bbits.co.uk/blog/aggbug/16846.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ian Blackburn</dc:creator>
            <guid>http://bbits.co.uk/blog/archive/2008/06/06/bridging-web-service-calls-in-silverlight.aspx</guid>
            <pubDate>Fri, 06 Jun 2008 11:57:41 GMT</pubDate>
            <wfw:comment>http://bbits.co.uk/blog/comments/16846.aspx</wfw:comment>
            <comments>http://bbits.co.uk/blog/archive/2008/06/06/bridging-web-service-calls-in-silverlight.aspx#feedback</comments>
            <wfw:commentRss>http://bbits.co.uk/blog/comments/commentRss/16846.aspx</wfw:commentRss>
            <trackback:ping>http://bbits.co.uk/blog/services/trackbacks/16846.aspx</trackback:ping>
        </item>
        <item>
            <title>Simple FriendFeed C# User Control</title>
            <category>Web </category>
            <link>http://bbits.co.uk/blog/archive/2008/06/06/simple-friendfeed-c-user-control.aspx</link>
            <description>&lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 0px 0px 20px; border-right-width: 0px" height="480" alt="image" src="http://www.bbits.co.uk/blog/images/uploadblog/SimpleFriendFeedCUserControl_9520/image.png" width="213" align="right" border="0" /&gt; We use a simple Friend Feed user control on our home page.  We have found this a great way to share "filtered" information that is relevant to our customers.  &lt;/p&gt; &lt;p&gt;What we have done is created a FriendFeed account called bbits, which we share things into (via google reader and other feeds).  &lt;/p&gt; &lt;p&gt;The user control then picks the friendfeed up and displays this in a gridview.&lt;/p&gt; &lt;p&gt;When we did this FriendFeed didn't have any widgets, which they &lt;a href="http://friendfeed.com/embed" target="_blank"&gt;do have now&lt;/a&gt;, (&lt;a href="http://www.bwana.org/2008/05/28/4-ways-to-enhance-your-blog-with-friendfeed/" target="_blank"&gt;and here&lt;/a&gt;) so if you prefer to use those rather than a c# user control go visit those pages now.&lt;/p&gt; &lt;p&gt;Our c# user control can be found below or from &lt;a href="http://cid-fb8b852ef1ab0b35.skydrive.live.com/self.aspx/Public%20Files%20on%20SkyDrive/FriendFeed.zip" target="_blank"&gt;here&lt;/a&gt; (this also includes a modified version of the c# library produced by friendfeed, that solves a few small issues and bugs)&lt;/p&gt; &lt;p&gt;  &lt;/p&gt; &lt;p&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-fb8b852ef1ab0b35.skydrive.live.com/embedrowdetail.aspx/Public%20Files%20on%20SkyDrive/FriendFeed.zip" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt; &lt;p&gt;Cheers&lt;/p&gt; &lt;p&gt;Ian Blackburn&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:574e5627-f936-4f74-a881-30a6de6607da" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/FriendFeed" rel="tag"&gt;FriendFeed&lt;/a&gt;,&lt;a href="http://technorati.com/tags/User%20Control" rel="tag"&gt;User Control&lt;/a&gt;,&lt;a href="http://technorati.com/tags/c#" rel="tag"&gt;c#&lt;/a&gt;&lt;/div&gt;&lt;img src="http://bbits.co.uk/blog/aggbug/16845.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ian Blackburn</dc:creator>
            <guid>http://bbits.co.uk/blog/archive/2008/06/06/simple-friendfeed-c-user-control.aspx</guid>
            <pubDate>Fri, 06 Jun 2008 10:00:15 GMT</pubDate>
            <wfw:comment>http://bbits.co.uk/blog/comments/16845.aspx</wfw:comment>
            <comments>http://bbits.co.uk/blog/archive/2008/06/06/simple-friendfeed-c-user-control.aspx#feedback</comments>
            <wfw:commentRss>http://bbits.co.uk/blog/comments/commentRss/16845.aspx</wfw:commentRss>
            <trackback:ping>http://bbits.co.uk/blog/services/trackbacks/16845.aspx</trackback:ping>
        </item>
        <item>
            <title>WCF: &amp;quot;a non-empty contract name must be specified&amp;quot;</title>
            <category>Silverlight</category>
            <category>Web </category>
            <link>http://bbits.co.uk/blog/archive/2008/06/03/wcf-quota-non-empty-contract-name-must-be-specifiedquot.aspx</link>
            <description>&lt;p&gt;This error had me baffled today, and I could find little reference to it from Google or Live Search.&lt;/p&gt; &lt;p&gt;It was the result of creating a simple WCF Service with two methods as follows and then trying to add a reference to it from Silverlight 2:&lt;/p&gt; &lt;div&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;[ServiceContract]
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;interface&lt;/span&gt; IWcfService
{
    [OperationContract]
    &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; HelloWorld(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; name);
    [OperationContract]
    List&amp;lt;Person&amp;gt; GetPeople();
}
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; WcfService : IWcfService
{
    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; HelloWorld(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; name)
    {
        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;"Hello World "&lt;/span&gt; + name;
    }


    &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; IWcfService Members


    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; List&amp;lt;Person&amp;gt; GetPeople()
    {
        List&amp;lt;Person&amp;gt; people = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;Person&amp;gt;();
        people.Add(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Person() { FirstName = &lt;span style="color: #006080"&gt;"Fred"&lt;/span&gt;, LastName = &lt;span style="color: #006080"&gt;"Bloggs"&lt;/span&gt;, Age = 23 });
        people.Add(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Person() { FirstName = &lt;span style="color: #006080"&gt;"Fred"&lt;/span&gt;, LastName = &lt;span style="color: #006080"&gt;"Smith"&lt;/span&gt;, Age = 24 });
        people.Add(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Person() { FirstName = &lt;span style="color: #006080"&gt;"John"&lt;/span&gt;, LastName = &lt;span style="color: #006080"&gt;"Bloggs"&lt;/span&gt;, Age = 29 });
        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; people;
    }

    &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;
}&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;The service config looked good (having changed to a basicHttpBinding - which is the what Silverlight 2 supports:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&amp;lt;system.serviceModel&amp;gt;
  &amp;lt;behaviors&amp;gt;
   &amp;lt;serviceBehaviors&amp;gt;
    &amp;lt;behavior name=&lt;span style="color: #006080"&gt;"WcfServiceBehavior"&lt;/span&gt;&amp;gt;
     &amp;lt;serviceMetadata httpGetEnabled=&lt;span style="color: #006080"&gt;"true"&lt;/span&gt; /&amp;gt;
     &amp;lt;serviceDebug includeExceptionDetailInFaults=&lt;span style="color: #006080"&gt;"true"&lt;/span&gt; /&amp;gt;
    &amp;lt;/behavior&amp;gt;
    
   &amp;lt;/serviceBehaviors&amp;gt;
  &amp;lt;/behaviors&amp;gt;
  &amp;lt;services&amp;gt;
   &amp;lt;service behaviorConfiguration=&lt;span style="color: #006080"&gt;"WcfServiceBehavior"&lt;/span&gt; name=&lt;span style="color: #006080"&gt;"WcfService"&lt;/span&gt;&amp;gt;
    &amp;lt;endpoint address=&lt;span style="color: #006080"&gt;""&lt;/span&gt; binding=&lt;span style="color: #006080"&gt;"basicHttpBinding"&lt;/span&gt; bindingConfiguration=&lt;span style="color: #006080"&gt;""&lt;/span&gt;
     contract=&lt;span style="color: #006080"&gt;"IWcfService"&lt;/span&gt;&amp;gt;
     &amp;lt;identity&amp;gt;
      &amp;lt;dns &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;=&lt;span style="color: #006080"&gt;"localhost"&lt;/span&gt; /&amp;gt;
     &amp;lt;/identity&amp;gt;
    &amp;lt;/endpoint&amp;gt;
   &amp;lt;/service&amp;gt;
   
  &amp;lt;/services&amp;gt;
 &amp;lt;/system.serviceModel&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;But I kept getting this error.  And the other 6 delegates on the course I was delivering were getting exactly the same problem!  I kept thinking that this was something to do with Silverlight, but I was barking up the wrong tree.  It wasn't until I got on the train home, that it suddenly hit me, I had not marked the Person class with the DataContract and DataMember attributes!  This was what was needed to sort it out:&lt;/p&gt;
&lt;div&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, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;[DataContract]
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Person
{
    [DataMember]
    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; FirstName { get; set; }
    [DataMember]
    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; LastName { get; set; }
    [DataMember]
    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; Age { get; set; }
}&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Still, in my defence, I think the cause of the error message wasn't that obvious.&lt;/p&gt;
&lt;p&gt;Hope this helps someone!&lt;/p&gt;
&lt;p&gt;Cheers&lt;/p&gt;
&lt;p&gt;Ian&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6eb2b81e-50f6-4060-9cd9-fa8d88f69c5d" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WCF" rel="tag"&gt;WCF&lt;/a&gt;&lt;/div&gt;&lt;img src="http://bbits.co.uk/blog/aggbug/16844.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ian Blackburn</dc:creator>
            <guid>http://bbits.co.uk/blog/archive/2008/06/03/wcf-quota-non-empty-contract-name-must-be-specifiedquot.aspx</guid>
            <pubDate>Tue, 03 Jun 2008 19:53:00 GMT</pubDate>
            <wfw:comment>http://bbits.co.uk/blog/comments/16844.aspx</wfw:comment>
            <comments>http://bbits.co.uk/blog/archive/2008/06/03/wcf-quota-non-empty-contract-name-must-be-specifiedquot.aspx#feedback</comments>
            <wfw:commentRss>http://bbits.co.uk/blog/comments/commentRss/16844.aspx</wfw:commentRss>
            <trackback:ping>http://bbits.co.uk/blog/services/trackbacks/16844.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows Mobile - where is it heading?</title>
            <category>Mobile </category>
            <category>Silverlight</category>
            <link>http://bbits.co.uk/blog/archive/2008/05/29/windows-mobile---where-is-it-heading.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://weblogs.asp.net/toddanglin/archive/2008/05/27/silverlight-mobile-road-map-refresher.aspx" target="_blank"&gt;Todd helpfully re-published&lt;/a&gt; the Windows Mobile Silverlight roadmap recently.  It does not make exciting reading.  In amongst news of &lt;a href="http://code.google.com/android/images/adc1r1_deck.pdf" target="_blank"&gt;Impressive Google Android Apps&lt;/a&gt;, (&lt;a href="http://androidcommunity.com/first-live-images-of-fullscreen-android-demo-20080528/" target="_blank"&gt;and here&lt;/a&gt;) a &lt;a href="http://www.engadget.com/2008/04/23/t-mobile-confirms-itll-have-an-android-device-sometime-this-yea" target="_blank"&gt;T-Mobile Android phone this year&lt;/a&gt; (from &lt;a href="http://www.intomobile.com/2008/05/28/video-htc-dream-live-and-in-the-flesh-at-google-conference.html" target="_blank"&gt;HTC&lt;/a&gt;) and endless twitter about iPhone and 3G, the road map is hardly going to light any fires.  Here's my take on the Windows Mobile roadmap in general, followed by my hope of a glimmer of light for all us WM developers and users...&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="https://www.microsoft.com/windowsmobile/6-1/default.mspx" target="_blank"&gt;Windows Mobile 6.1&lt;/a&gt; was just released - really nothing to write home about - threaded SMS is nice but there is &lt;a href="http://cid-fb8b852ef1ab0b35.skydrive.live.com/self.aspx/Public/080515|_WM6.1|_PPC|_NewFeaturesGuide|_Generic|_English.pdf" target="_blank"&gt;not much else here&lt;/a&gt; - in particular the Getting Started Application is very lame - just a list of items, that when clicked show some text and links to the real apps.  The worst is the "Make a Call" option shown below - really does this add anything? Couldn't a few more images or even a little animation have helped?  Why have the icon shown for step 1 but not step 3?  My mum was just baffled by this, and my 12 year old daughter just could not understand why anyone would find this useful.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://www.bbits.co.uk/blog/images/uploadblog/WindowsMobile_8F4E/image_4.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="Getting Started" src="http://www.bbits.co.uk/blog/images/uploadblog/WindowsMobile_8F4E/image.png" width="184" border="0" /&gt;&lt;/a&gt;  &lt;a href="http://www.bbits.co.uk/blog/images/uploadblog/WindowsMobile_8F4E/image_5.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="Make a call" src="http://www.bbits.co.uk/blog/images/uploadblog/WindowsMobile_8F4E/image_3.png" width="184" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;We are still waiting for Silverlight 1.0 support on Windows Mobile.  At Mix08 I attended various mobile talks (&lt;a href="http://sessions.visitmix.com/?selectedSearch=T12" target="_blank"&gt;Amit Chopra: "The wait is finally over, we have Silverlight for Windows Mobile"&lt;/a&gt; - from one of the less impressive sessions), where Silverlight 1.0 was promised shortly after Mix.  According to Todd a CTP should be available soon - a CTP? of Silverlight 1?  Come on guys, Silverlight 1 should be done and dusted by now, it was announced at Mix07, we need Silverlight 2 and a WPF-like UI.&lt;/li&gt; &lt;li&gt;Todd says: "We'll get the first "official" Silverlight for Mobile (1.0) towards the end of this year, sometime after Silverlight 2.0 officially ships for the desktop.  Around the same time we &lt;em&gt;&lt;strong&gt;should&lt;/strong&gt;&lt;/em&gt; get a CTP of Silverlight 2.0 for Mobile." - That isn't very positive language, "should" sounds a little shaky to me. (Todd isn't employed by Microsoft though, so perhaps we shouldn't read too much into that)&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Location Services&lt;/strong&gt; - this is a high growth area - sales of &lt;a href="http://www.canalys.com/pr/2007/r2007083.htm" target="_blank"&gt;Mobile Navigation devices has doubled&lt;/a&gt; and location based services are an important aspect of mobile development.  &lt;a href="http://uk.techcrunch.com/2008/05/28/is-google-about-to-release-an-api-for-location/" target="_blank"&gt;Google look like they may make their Geolocation API public&lt;/a&gt; - this lets you get your location on devices that haven't got a built in GPS - using the &lt;a href="http://en.wikipedia.org/wiki/Skyhook_Wireless" target="_blank"&gt;Skyhook service, and is seen in Google Maps Mobile&lt;/a&gt; currently.  Windows Mobile has the &lt;a href="http://msdn.microsoft.com/en-us/library/bb202086.aspx" target="_blank"&gt;Intermediate GPS Driver&lt;/a&gt; and some &lt;a href="http://msdn.microsoft.com/en-us/library/bb202027.aspx" target="_blank"&gt;sample code&lt;/a&gt; to get you started.  However in our experience this sample is buggy and the Intermediate driver is implemented differently across different hardware manufacturers (&lt;a href="mailto:ian@bbits.co.uk" target="_blank"&gt;ask me&lt;/a&gt; for details), making it hard for developers to take advantage of.  &lt;a href="http://blogoscoped.com/archive/2007-11-19-n27.html" target="_blank"&gt;Look how easy it is on Android&lt;/a&gt; - this is how it should be on Windows Mobile too.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;UI - &lt;/strong&gt;We all know there is &lt;a href="http://gizmodo.com/gadgets/what.s-wrong-with-windows-mobile/whats-wrong-with-windows-mobile-and-how-wm7-and-wm8-are-going-to-fix-it-333536.php" target="_blank"&gt;plenty wrong with Windows Mobile UI&lt;/a&gt; - and that &lt;a href="http://www.windowsfordevices.com/news/NS8948844785.html" target="_blank"&gt;IPhone sales are beating WM&lt;/a&gt; in the US (though both are behind RIM and Symbian) and the Android will do the same IMHO.  Microsoft will be acutely aware of this too, so why the delay for Silverlight on Windows Mobile?&lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;The glimmer of light&lt;/h2&gt; &lt;p&gt;OK so Windows Mobile is not in a great way compared to the competition at the moment, but is there any hope that Microsoft is actually keeping their rapid development of Windows Mobile 7 behind closed doors, and that they may actually get a device to the market this year, together with Silverlight and a UI that can compete with IPhone and Android?  Well there may be.  Some clues:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.microsoft.com/presspass/press/2008/feb08/02-11acquisition.mspx" target="_blank"&gt;Microsoft bought Danger Inc&lt;/a&gt; - could this mean they are developing their own hardware for WM7 and beyond?&lt;/li&gt; &lt;li&gt;&lt;a href="http://gizmodo.com/389368/rumor-mwg-to-launch-windows-mobile-7-device-this-year" target="_blank"&gt;Rumour that MWg are launching a WM7 device this year&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.microsoftpdc.com/Agenda/Sessions.aspx" target="_blank"&gt;PDC Sessions&lt;/a&gt; 08: Windows Mobile: Location, Location, Location, Silverlight: Developing for Mobile Devices&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;I really hope Microsoft are planning to surprise us with Windows Mobile this year.  Android is starting to &lt;a href="http://qik.com/video/89008" target="_blank"&gt;get developers excited&lt;/a&gt;, and if they can get it out on more than the T-Mobile device, I think it offers real competition - we will certainly consider it for future mobile development, based on the look of the &lt;a href="http://code.google.com/android/" target="_blank"&gt;Api&lt;/a&gt;, but I would prefer to stay with Windows Mobile if it can improve it's api and UI support.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Cheers&lt;/p&gt; &lt;p&gt;Ian&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9cdb530d-ae66-4000-9cc8-a950648b2526" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows%20Mobile" rel="tag"&gt;Windows Mobile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Android" rel="tag"&gt;Android&lt;/a&gt;,&lt;a href="http://technorati.com/tags/iPhone" rel="tag"&gt;iPhone&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;&lt;/div&gt;&lt;img src="http://bbits.co.uk/blog/aggbug/16843.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ian Blackburn</dc:creator>
            <guid>http://bbits.co.uk/blog/archive/2008/05/29/windows-mobile---where-is-it-heading.aspx</guid>
            <pubDate>Thu, 29 May 2008 10:19:58 GMT</pubDate>
            <wfw:comment>http://bbits.co.uk/blog/comments/16843.aspx</wfw:comment>
            <comments>http://bbits.co.uk/blog/archive/2008/05/29/windows-mobile---where-is-it-heading.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://bbits.co.uk/blog/comments/commentRss/16843.aspx</wfw:commentRss>
            <trackback:ping>http://bbits.co.uk/blog/services/trackbacks/16843.aspx</trackback:ping>
        </item>
        <item>
            <title>Silverlight Course Materials (Helsinki 8/9 May)</title>
            <link>http://bbits.co.uk/blog/archive/2008/05/22/silverlight-course-materials-helsinki-89-may.aspx</link>
            <description>&lt;p&gt;For those delegates who attended this course in Helsinki, and have not received copies of the sample applications we used, but would like them, please email me at &lt;a href="mailto:Ian@bbits.co.uk"&gt;Ian@bbits.co.uk&lt;/a&gt; and I will forward them on.&lt;/p&gt; &lt;p&gt;Cheers&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Ian&lt;/p&gt;&lt;img src="http://bbits.co.uk/blog/aggbug/16842.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ian Blackburn</dc:creator>
            <guid>http://bbits.co.uk/blog/archive/2008/05/22/silverlight-course-materials-helsinki-89-may.aspx</guid>
            <pubDate>Thu, 22 May 2008 19:13:56 GMT</pubDate>
            <wfw:comment>http://bbits.co.uk/blog/comments/16842.aspx</wfw:comment>
            <comments>http://bbits.co.uk/blog/archive/2008/05/22/silverlight-course-materials-helsinki-89-may.aspx#feedback</comments>
            <wfw:commentRss>http://bbits.co.uk/blog/comments/commentRss/16842.aspx</wfw:commentRss>
            <trackback:ping>http://bbits.co.uk/blog/services/trackbacks/16842.aspx</trackback:ping>
        </item>
        <item>
            <title>Using ASP.NET Routing Independent of MVC - passing parameters to the page</title>
            <category>Web </category>
            <link>http://bbits.co.uk/blog/archive/2008/05/19/using-asp.net-routing-independent-of-mvc---passing-parameters-to.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/mikeormond/archive/2008/05/14/using-asp-net-routing-independent-of-mvc.aspx"&gt;Mike Ormond has a nice post&lt;/a&gt; about how to use the Asp.Net routing capabilities of Asp.Net MVC, in your standard webforms sites.&lt;/p&gt;
&lt;p&gt;In his example Mike goes through the essentials of how to set this up in Application_start and how to create and register your own IRouteHandler.  Mike's example explains this really well with a simple example of routing a single parameter to a matching aspx page as follows:&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" width="650" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="200"&gt;URL&lt;/td&gt;
            &lt;td valign="top" width="448"&gt;Mapped to:&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="199"&gt;&lt;a href="http://mysite/home"&gt;http://mysite/home&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="448"&gt;&lt;a href="http://mysite/RoutingDemoPages/default.aspx"&gt;http://mysite/RoutingDemoPages/default.aspx&lt;/a&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="199"&gt;&lt;a href="http://mysite/default"&gt;http://mysite/default&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="448"&gt;&lt;a href="http://mysite/RoutingDemoPages/default.aspx"&gt;http://mysite/RoutingDemoPages/default.aspx&lt;/a&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="199"&gt;&lt;a href="http://mysite/page1"&gt;http://mysite/page1&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="448"&gt;&lt;a href="http://mysite/RoutingDemoPages/page1.aspx"&gt;http://mysite/RoutingDemoPages/page1.aspx&lt;/a&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="199"&gt;&lt;a href="http://mysite/page2"&gt;http://mysite/page2&lt;/a&gt; &lt;/td&gt;
            &lt;td valign="top" width="448"&gt;&lt;a href="http://mysite/RoutingDemoPages/page2.aspx"&gt;http://mysite/RoutingDemoPages/page2.aspx&lt;/a&gt; &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I wanted to see how you can map multiple parameters to a single page and pass that parameter data to the page.  So that the following mappings were made:&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" width="652" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="201"&gt;URL&lt;/td&gt;
            &lt;td valign="top" width="449"&gt;Mapped to:&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="203"&gt;&lt;a href="http://mysite/fred"&gt;http://mysite/fred&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="449"&gt;&lt;a href="http://mysite/default.aspx"&gt;http://mysite/default.aspx&lt;/a&gt; with info on Fred &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="204"&gt;&lt;a href="http://mysite/fred/london"&gt;http://mysite/fred/london&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="449"&gt;&lt;a href="http://mysite/default.aspx"&gt;http://mysite/default.aspx&lt;/a&gt; with info on Fred in London&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="205"&gt;&lt;a href="http://mysite/Mike/Glasgow"&gt;http://mysite/Mike/Glasgow&lt;/a&gt;&lt;/td&gt;
            &lt;td valign="top" width="449"&gt;&lt;a href="http://mysite/RoutingDemoPages/page1.aspx"&gt;http://mysite/&lt;/a&gt;&lt;a href="http://mysite/default.aspx"&gt;default.aspx&lt;/a&gt; with Mike in Glasgow&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;The first thing to do is to change the routes registered in global.asax, so that we have routes that expect our two parameters for username and area:&lt;/p&gt;
&lt;div&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, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;span style="COLOR: #0000ff"&gt;void&lt;/span&gt; Application_Start(&lt;span style="COLOR: #0000ff"&gt;object&lt;/span&gt; sender, EventArgs e) 
{
    RegisterRoutes(RouteTable.Routes);
}

&lt;span style="COLOR: #0000ff"&gt;private&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;void&lt;/span&gt; RegisterRoutes(RouteCollection Routes)
{
    Route r = &lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt; Route(&lt;span style="COLOR: #006080"&gt;"{username}/{area}"&lt;/span&gt; ,&lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt; SimpleRouteHandler());
    Route r2 = &lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt; Route(&lt;span style="COLOR: #006080"&gt;"{username}"&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt; SimpleRouteHandler());
    Routes.Add(r);
    Routes.Add(r2);
}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Next we need to modify the SimpleRouteHandler to deal with these routes.  At first I expected an overload on the CreateInstanceFromVirtualPath method that let me pass some parameters, but that was not available.  Instead I simple added the RouteData (which contains the username and area parameters) to the Context Items collection:&lt;/p&gt;
&lt;div&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, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; IHttpHandler GetHttpHandler(RequestContext requestContext)
  {
      &lt;span style="COLOR: #0000ff"&gt;string&lt;/span&gt; virtualPath = &lt;span style="COLOR: #0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="COLOR: #006080"&gt;"~/default.aspx"&lt;/span&gt;);
      &lt;span style="COLOR: #0000ff"&gt;foreach&lt;/span&gt; (var &lt;span style="COLOR: #0000ff"&gt;value&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;in&lt;/span&gt; requestContext.RouteData.Values)
      {
          requestContext.HttpContext.Items[&lt;span style="COLOR: #0000ff"&gt;value&lt;/span&gt;.Key] = &lt;span style="COLOR: #0000ff"&gt;value&lt;/span&gt;.Value;
      }
      &lt;span style="COLOR: #0000ff"&gt;return&lt;/span&gt; (Page)BuildManager.CreateInstanceFromVirtualPath(virtualPath, &lt;span style="COLOR: #0000ff"&gt;typeof&lt;/span&gt;(Page));

  }&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Now I can work with those values on default.aspx (and in this case just display them):&lt;/p&gt;
&lt;div&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, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;span style="COLOR: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;void&lt;/span&gt; Page_Load(&lt;span style="COLOR: #0000ff"&gt;object&lt;/span&gt; sender, EventArgs e)
{
    Label1.Text = &lt;span style="COLOR: #0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="COLOR: #006080"&gt;"username:{0} area:{1}"&lt;/span&gt;, Context.Items[&lt;span style="COLOR: #006080"&gt;"username"&lt;/span&gt;], Context.Items[&lt;span style="COLOR: #006080"&gt;"area"&lt;/span&gt;]);
}
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Cheers&lt;/p&gt;
&lt;p&gt;Ian&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5355f1d6-6d64-4703-889e-f57664f08f1d" style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/MVC"&gt;MVC&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Url%20Routing"&gt;Url Routing&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Asp.Net"&gt;Asp.Net&lt;/a&gt;&lt;/div&gt;&lt;img src="http://bbits.co.uk/blog/aggbug/16841.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ian Blackburn</dc:creator>
            <guid>http://bbits.co.uk/blog/archive/2008/05/19/using-asp.net-routing-independent-of-mvc---passing-parameters-to.aspx</guid>
            <pubDate>Mon, 19 May 2008 17:39:28 GMT</pubDate>
            <wfw:comment>http://bbits.co.uk/blog/comments/16841.aspx</wfw:comment>
            <comments>http://bbits.co.uk/blog/archive/2008/05/19/using-asp.net-routing-independent-of-mvc---passing-parameters-to.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://bbits.co.uk/blog/comments/commentRss/16841.aspx</wfw:commentRss>
            <trackback:ping>http://bbits.co.uk/blog/services/trackbacks/16841.aspx</trackback:ping>
        </item>
        <item>
            <title>Virtual Earth 3d in the UK</title>
            <category>Silverlight</category>
            <category>Web </category>
            <link>http://bbits.co.uk/blog/archive/2008/05/11/virtual-earth-3d-in-the-uk.aspx</link>
            <description>&lt;p&gt;I have noticed that more and more places in the UK are getting the 3D treatment in Virtual Earth, but there doesn't seem to be a list of all of them (at least I couldn't find one).  The UK models do not yet support the recent enhancements that some of the US cities have (such as Denver or Las Vegas) where vegetation is modelled as well as the buildings, but I expect that it is just a matter of time.&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="63" alt="image" width="167" align="right" border="0" src="http://www.bbits.co.uk/blog/images/uploadblog/Virtualearth3dModelsintheUK_EBDD/image.png" /&gt;&lt;/p&gt;
&lt;p&gt;So anyway I have &lt;a href="http://maps.live.com/?v=2&amp;amp;encType=1&amp;amp;cid=FB8B852EF1AB0B35!683 "&gt;created a collection&lt;/a&gt; of places in the UK where I have spotted 3D models - bear in mind you need to switch to 3D view (doh) and that it takes a while for the models to fully load (keep your eye on the globe in the bottom left corner of the map - if it has not filled with colour then the map and models are not yet fully loaded in all their glory (my son : "that doesn't look very good dad it's just a load of colours - oh hang on, wow!"&lt;/p&gt;
&lt;p&gt;&lt;a href="http://maps.live.com/?v=2&amp;amp;encType=1&amp;amp;cid=FB8B852EF1AB0B35!683 "&gt;The collection is here&lt;/a&gt; - I'll add to it as I spot any others, or if you see or know of any others, please let me know.  Some examples below:&lt;/p&gt;
&lt;p&gt; UPDATE:  Found this collection of worldwide 3D cities: &lt;font face="Arial"&gt;&lt;a href="http://maps.live.com/?v=2&amp;amp;cid=320432CACC287CB4!101&amp;amp;encType=1"&gt;http://maps.live.com/?v=2&amp;amp;cid=320432CACC287CB4!101&amp;amp;encType=1&lt;/a&gt;# &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://maps.live.com/default.aspx?v=2&amp;amp;FORM=LMLTCC&amp;amp;cp=51.477098~-3.182318&amp;amp;style=h&amp;amp;lvl=19&amp;amp;tilt=-26.6276858000942&amp;amp;dir=0&amp;amp;alt=270.059407191351&amp;amp;cam=51.474102~-3.183863&amp;amp;scene=-1&amp;amp;phx=0&amp;amp;phy=0&amp;amp;phscl=1&amp;amp;cid=FB8B852EF1AB0B35!683&amp;amp;encType=1"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="151" alt="Cardiff Millenium Stadium" width="244" border="0" src="http://www.bbits.co.uk/blog/images/uploadblog/Virtualearth3dModelsintheUK_EBDD/image_3.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cardiff Millennium Stadium&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://maps.live.com/default.aspx?v=2&amp;amp;FORM=LMLTCC&amp;amp;cp=51.453666~-2.591441&amp;amp;style=h&amp;amp;lvl=19&amp;amp;tilt=-26.6276858000942&amp;amp;dir=0&amp;amp;alt=270.059407114983&amp;amp;cam=51.450043~-2.591441&amp;amp;scene=-1&amp;amp;phx=0&amp;amp;phy=0&amp;amp;phscl=1&amp;amp;cid=FB8B852EF1AB0B35!683&amp;amp;encType=1"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="158" alt="Bristol Cathedral " width="244" border="0" src="http://www.bbits.co.uk/blog/images/uploadblog/Virtualearth3dModelsintheUK_EBDD/image_4.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bristol Cathedral&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://maps.live.com/default.aspx?v=2&amp;amp;FORM=LMLTCC&amp;amp;cp=50.81913~-0.139456&amp;amp;style=h&amp;amp;lvl=18&amp;amp;tilt=-26.6333150792993&amp;amp;dir=0&amp;amp;alt=584.089336419478&amp;amp;cam=50.810445~-0.139456&amp;amp;scene=-1&amp;amp;phx=0&amp;amp;phy=0&amp;amp;phscl=1&amp;amp;cid=FB8B852EF1AB0B35!683&amp;amp;encType=1"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="157" alt="Royal Pavilion in Brighton " width="244" border="0" src="http://www.bbits.co.uk/blog/images/uploadblog/Virtualearth3dModelsintheUK_EBDD/image_5.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Royal Pavilion in Brighton&lt;/strong&gt; &lt;/p&gt;
&lt;h2&gt;Some tips for the 3D view&lt;/h2&gt;
&lt;h3&gt;Enable "Continue Earth motion after dragging"&lt;/h3&gt;
&lt;p&gt;This is buried in the options &amp;gt; 3d settings dialog &amp;gt; preferences section, but really adds a nice effect when dragging the map - and if you zoom out to the entire globe, you can spin it round like a football!&lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="484" alt="image" width="343" border="0" src="http://www.bbits.co.uk/blog/images/uploadblog/Virtualearth3dModelsintheUK_EBDD/image_6.png" /&gt; &lt;/p&gt;
&lt;h3&gt;Try the 3D tour &lt;/h3&gt;
&lt;p&gt;You can open any collection and tour it in 3D - just click the link above the collection:&lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="484" alt="image" width="398" border="0" src="http://www.bbits.co.uk/blog/images/uploadblog/Virtualearth3dModelsintheUK_EBDD/image_7.png" /&gt; &lt;/p&gt;
&lt;h3&gt;Create your own 3D tours&lt;/h3&gt;
&lt;p&gt;You can control how your 3D tours are viewed by recording the best viewpoints, and adding info and images.  &lt;/p&gt;
&lt;p&gt;When you create a collection in 3D the properties for any pushpin has specific 3D options (shown below) such as capturing the current viewpoint, adding animations, waiting for the scene to load, and waiting before moving to the next pushpin.  &lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="484" alt="image" width="294" border="0" src="http://www.bbits.co.uk/blog/images/uploadblog/Virtualearth3dModelsintheUK_EBDD/image_8.png" /&gt; &lt;/p&gt;
&lt;p&gt;In the collections editor you can then select Actions &amp;gt; Tour and make videos in 3D.  &lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="484" alt="image" width="312" border="0" src="http://www.bbits.co.uk/blog/images/uploadblog/Virtualearth3dModelsintheUK_EBDD/image_9.png" /&gt; &lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Turn your 3D tour into a video&lt;/h3&gt;
&lt;p&gt;It's really easy to turn a 3D tour into a video: In 3D tour window, just click the Record button, select some display options and click continue.  It can take quite a while though, so you'll probably want to kick it off and go and make a cup of tea!  Note that it does not seem to be too processor intensive for your machine, perhaps most of the work is being done on the server, so you could do some work rather than have a cup of tea, if you are that way inclined.&lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="54" alt="image" width="244" border="0" src="http://www.bbits.co.uk/blog/images/uploadblog/Virtualearth3dModelsintheUK_EBDD/image_10.png" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="205" alt="image" width="244" border="0" src="http://www.bbits.co.uk/blog/images/uploadblog/Virtualearth3dModelsintheUK_EBDD/image_11.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="74" alt="image" width="244" border="0" src="http://www.bbits.co.uk/blog/images/uploadblog/Virtualearth3dModelsintheUK_EBDD/image_12.png" /&gt; &lt;/p&gt;
&lt;p&gt;NOTE: The quality of the video can be set right up to HD quality,  You need to do this before you click the record button in the options screen for VE (Click the options icon top right of the screen &lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="29" alt="image" width="28" border="0" src="http://www.bbits.co.uk/blog/images/uploadblog/Virtualearth3dModelsintheUK_EBDD/image_13.png" /&gt; ).  However my laptop (Lenovo T61p with 4GB Ram and Vista x64) fell over with an out of memory error when I tried to create a video at the highest 1920x1080 setting.&lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="484" alt="image" width="346" border="0" src="http://www.bbits.co.uk/blog/images/uploadblog/Virtualearth3dModelsintheUK_EBDD/image_14.png" /&gt; &lt;/p&gt;
&lt;h3&gt;Host the video with Silverlight Streaming&lt;/h3&gt;
&lt;p&gt;if you create a video it is really very easy to host it for free at &lt;a href="http://silverlight.live.com"&gt;http://silverlight.live.com&lt;/a&gt; and embed it on any page you want (using Microsoft's bandwidth and infrastructure).  This is free at the moment, and will remain so when the service goes live, provided you are happy for ads to appear on your videos.  If you don't want ads then there will be a paid for service, or you can host the video yourself.  Here's one I created earlier of a tour of the River Thames:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;iframe style="WIDTH: 320px; HEIGHT: 240px" src="http://silverlight.services.live.com/invoke/173/ThamesTour/iframe.html" frameborder="0" width="320" scrolling="no" height="240"&gt;&lt;/iframe&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:886045ae-bc83-487a-940d-0aef101b6a7c" style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/Virtual%20Earth"&gt;Virtual Earth&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/video"&gt;video&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/silverlight%20streaming"&gt;silverlight streaming&lt;/a&gt;&lt;/div&gt;&lt;img src="http://bbits.co.uk/blog/aggbug/16840.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ian Blackburn</dc:creator>
            <guid>http://bbits.co.uk/blog/archive/2008/05/11/virtual-earth-3d-in-the-uk.aspx</guid>
            <pubDate>Sun, 11 May 2008 18:11:31 GMT</pubDate>
            <wfw:comment>http://bbits.co.uk/blog/comments/16840.aspx</wfw:comment>
            <comments>http://bbits.co.uk/blog/archive/2008/05/11/virtual-earth-3d-in-the-uk.aspx#feedback</comments>
            <wfw:commentRss>http://bbits.co.uk/blog/comments/commentRss/16840.aspx</wfw:commentRss>
            <trackback:ping>http://bbits.co.uk/blog/services/trackbacks/16840.aspx</trackback:ping>
        </item>
    </channel>
</rss>