<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>object(ive) undefined!</title>
        <link>http://geekswithblogs.net/ranganh/Default.aspx</link>
        <description>var myExperiments = ['ASP.NET', 'Windows 8', 'Windows Azure', 'Windows Phone', 'HTML5'];</description>
        <language>en-US</language>
        <copyright>Harish Ranganathan</copyright>
        <managingEditor>ranganh@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>object(ive) undefined!</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/ranganh/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>TechEd India Data: Exposing Azure Mobile Services through Web API</title>
            <category>Windows Azure</category>
            <category>ASP.NET</category>
            <link>http://geekswithblogs.net/ranganh/archive/2013/04/07/teched-india-data-exposing-azure-mobile-services-through-web-api.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2013/04/07/teched-india-data-exposing-azure-mobile-services-through-web-api.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2013/04/07/teched-india-data-exposing-azure-mobile-services-through-web-api.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;For those who attended my session at &lt;/font&gt;&lt;a href="https://india.msteched.com/" target="_blank"&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;TechEd India 2013&lt;/font&gt;&lt;/a&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;, one of the topics I presented was, on Azure Mobile Services.  I also presented on new enhancements to ASP.NET with the Visual Studio 2012 Fall Update.  &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;As a mixture of both the sessions, I mentioned about building a Web API feed for Tech Ed Data that could be consumed through Azure Mobile Services.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;If you are new to Azure Mobile Services, you can read up about from &lt;a href="http://www.windowsazure.com/en-us/develop/mobile/"&gt;http://www.windowsazure.com/en-us/develop/mobile/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;Azure Mobile Services is best consumed through client apps such as Windows 8, iOS and Android Apps.  Recently, we also launched the HTML5 Apps template for Azure Mobile Services and CORS Support.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;However, if you would like to use this in a ASP.NET Application, particularly, Web API, there are a few hops to make.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;I decided to expose TechEd India data (Speakers, Schedule, Sessions, Tracks and Sponsors data) as an Azure Mobile Services.  That was good for me to build a Windows 8 App.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;When I wanted to expose this in Web API, I had to do couple of things&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;1. Create Client Classes for each of the Mobile Service Tables.  &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;2. Create a Web API Controller for each of these classes which would make a HTTPClient request to the Azure Mobile Services.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;I found this article handy &lt;/font&gt;&lt;a title="http://www.strathweb.com/2012/09/using-azure-mobile-services-in-your-web-apps-through-asp-net-web-api/" href="http://www.strathweb.com/2012/09/using-azure-mobile-services-in-your-web-apps-through-asp-net-web-api/"&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;http://www.strathweb.com/2012/09/using-azure-mobile-services-in-your-web-apps-through-asp-net-web-api/&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;I pretty much created an API Controller each for Speakers, Tracks, Sessions, SessionsBySpeaker etc.,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;Note that, in Azure Mobile Services, these are dummy tables that build upon the original tables to query a JOIN between related tables.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;Finally, once you create the API Controllers for each of these classes, I hosted the app on Azure so that it can be consumed as JSon Data.  Note that, if you enable “Read” access for Everyone in the Permissions tab for Azure Mobile Service Table, you can achieve the same functionality.  However, Web API allows you to, a. add a logical layer between Mobile Service and Client Apps.  b. It also allows you to expose OData Queries on top of the Data.  I have provided the currently available URLs. Requesting them should provide you jSon Data.  Hope you find it useful.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;Events: &lt;/font&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;&lt;a href="http://techedindia2013.cloudapp.net/api/events"&gt;http://techedindia2013.cloudapp.net/api/events&lt;/a&gt; &lt;/font&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;Speakers: &lt;/font&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;&lt;a href="http://techedindia2013.cloudapp.net/api/speakers"&gt;http://techedindia2013.cloudapp.net/api/speakers&lt;/a&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;Sponsors: &lt;/font&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;&lt;a href="http://techedindia2013.cloudapp.net/api/sponsors"&gt;http://techedindia2013.cloudapp.net/api/sponsors&lt;/a&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;Track Sessions: &lt;/font&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;&lt;a href="http://techedindia2013.cloudapp.net/api/tracksessions"&gt;http://techedindia2013.cloudapp.net/api/tracksessions&lt;/a&gt;  &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;You could do a OData Query on this, for example, &lt;/font&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;&lt;a href="http://techedindia2013.cloudapp.net/api/speakers?$top=1"&gt;http://techedindia2013.cloudapp.net/api/speakers?$top=1&lt;/a&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;As of now I have only exposed the GET Methods.  In future, I would refine it to allow all operations.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;I don’t know how long I would be able to host this service.  Till then, enjoy!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Tahoma" size="2"&gt;Cheers!!!&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/152639.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2013/04/07/teched-india-data-exposing-azure-mobile-services-through-web-api.aspx</guid>
            <pubDate>Sun, 07 Apr 2013 15:28:27 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/152639.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2013/04/07/teched-india-data-exposing-azure-mobile-services-through-web-api.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/152639.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/152639.aspx</trackback:ping>
        </item>
        <item>
            <title>Updated Windows Blog Reader Sample with Background Task</title>
            <link>http://geekswithblogs.net/ranganh/archive/2013/04/01/updated-windows-blog-reader-sample-with-background-task.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2013/04/01/updated-windows-blog-reader-sample-with-background-task.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2013/04/01/updated-windows-blog-reader-sample-with-background-task.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;I had earlier posted the &lt;a href="http://geekswithblogs.net/ranganh/archive/2012/12/07/implementing-search-for-blogreader-windows-8-sample.aspx" target="_blank"&gt;Blog Reader Sample&lt;/a&gt; with Search Implementation.  The Blog Reader is an excellent place to start to build XAML Windows 8 Apps. I had customized it to include Search and a few other things.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;As much as we would love to open the Blog Reader and have it running all the time to check new feeds, it would be nice if we can get those as a part of the Live Tiles.  Live Tiles in Windows 8 allows people to get a peek of what’s happening new and thereafter pre-empts the users to click the Live Tile and get into the application to read the rest of the stuff.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/Updated-Windows-Blog-Reader-Sample-with-_74AA/image_2.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/Updated-Windows-Blog-Reader-Sample-with-_74AA/image_thumb.png" width="573" height="324" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Above is my Start screen in which you can see there are Live Tiles for most of the apps including Travel App which has an exciting location picture which induces me to click and find more about the place.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Now, for our Blog Reader sample, we can implement Live Tile such that it keeps checking for new feeds and presents it within our Tile.  Once I find something interesting, I can click and launch the Blog Reader to read about the same.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;This obviously involves a service running in the background and keep poling the feeds.  That would make it an ideal candidate for background task.  Background Tasks in Windows 8 allows a process to run in the background while the app may/may not be active.  They are very handy in a variety of scenarios, particularly for the fact that Apps in Windows 8 gets pushed to suspended state in 2 seconds and there is really no way to keep them running infinitely and keep checking for new stuff.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Tahoma"&gt;&lt;font color="#004080"&gt;In our case, I have added a Background Task Project and a class which implements the Run method to keep checking for the feeds.  This is based on the&lt;/font&gt; &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj991805.aspx" target="_blank"&gt;&lt;font size="2" face="Tahoma"&gt;Background Task Sample QuickStart&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;The actual implementation is 3 methods in the Background Task and a method in the ItemsPage.xaml in the main project.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;In principle with DRY (Do not Repeat), I am going to again point to the link &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj991805.aspx" target="_blank"&gt;&lt;font size="2" face="Tahoma"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;The only change I have made is to make the feed check the ASP.NET Main Page RSS Feed.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;You can download the completed project from &lt;a href="http://sdrv.ms/14HqESy" target="_blank"&gt;here&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Cheers !!!&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/152562.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2013/04/01/updated-windows-blog-reader-sample-with-background-task.aspx</guid>
            <pubDate>Mon, 01 Apr 2013 03:14:28 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/152562.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2013/04/01/updated-windows-blog-reader-sample-with-background-task.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/152562.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/152562.aspx</trackback:ping>
        </item>
        <item>
            <title>Charting in Windows 8 Store Apps</title>
            <category>Windows 8</category>
            <link>http://geekswithblogs.net/ranganh/archive/2013/03/06/charting-in-windows-8-store-apps.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2013/03/06/charting-in-windows-8-store-apps.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2013/03/06/charting-in-windows-8-store-apps.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;One of the queries I received from a partner was to have charting implemented in their Windows 8 Application.  While by default there are no chart controls, there are a lot of third party controls such as Telerik, Component One, providing charting for Windows 8.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;However, there is also the WINRTXamlToolkit, available in CodePlex.  It provides a bunch of useful controls that are not available, by default, in XAML for use in Windows 8 Store Applications.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://winrtxamltoolkit.codeplex.com/releases/view/99868" href="http://winrtxamltoolkit.codeplex.com/releases/view/99868"&gt;&lt;font size="2" face="Tahoma"&gt;http://winrtxamltoolkit.codeplex.com/releases/view/99868&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Also, specifically for Chart, you can install it from the Package Manager Console.  &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;Visual Studio 2012 –&amp;gt; View –&amp;gt; Other Windows –&amp;gt; Packager Manager Console&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;It opens up the Package Manager Console.  In the prompt, type&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;Install-Package WinRTXamlToolkit&lt;/strong&gt; and then&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;Install-Package WinRTXamlToolkit.Controls.DataVisualization&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Once you install this, you can start referencing the Chart Controls in your XAML Page.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;The complete sample can be downloaded from the above codeplex link which also includes a sample project with all the controls.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;But, for our simple demonstration purposes, I created a Blank Windows Store Application.  &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;Visual Studio 2012 – File – New Project – Visual C# – Windows Store – Blank App (XAML)&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;I then opened the Package Manager Console and ran the above PowerShell commands.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Just to verify the assemblies are ordered open “References” to see the WinRTXamlToolkit and WinRTXamlToolkit.Controls.DataVisualization&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Open up MainPage.Xaml and add the following lines to the Page Declarations in top&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;xmlns:datavis="using:WinRTXamlToolkit.Controls.DataVisualization"    xmlns:charting="using:WinRTXamlToolkit.Controls.DataVisualization.Charting"       &lt;br /&gt;    xmlns:Series="using:WinRTXamlToolkit.Controls.DataVisualization.Charting&lt;/strong&gt;"&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Then, within the Grid, add the following snippet&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;&amp;lt;charting:Chart       &lt;br /&gt;                x:Name="PieChart"        &lt;br /&gt;                Title="Pie Chart"        &lt;br /&gt;                Margin="70,0"&amp;gt;        &lt;br /&gt;            &amp;lt;charting:Chart.Series&amp;gt;        &lt;br /&gt;                &amp;lt;Series:PieSeries        &lt;br /&gt;                        Title="Population"        &lt;br /&gt;                        ItemsSource="{Binding Items}"        &lt;br /&gt;                        IndependentValueBinding="{Binding Name}"        &lt;br /&gt;                        DependentValueBinding="{Binding Value}"        &lt;br /&gt;                        IsSelectionEnabled="True" /&amp;gt;        &lt;br /&gt;            &amp;lt;/charting:Chart.Series&amp;gt;        &lt;br /&gt;        &amp;lt;/charting:Chart&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;In the codebehind of MainPage.xaml, add the following&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;public class NameValueItem       &lt;br /&gt;       {        &lt;br /&gt;           public string Name { get; set; }        &lt;br /&gt;           public int Value { get; set; }        &lt;br /&gt;       }        &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;We are simulating X,Y axis using a generic Text and Random Number.  Hence we need&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;private Random _random = new Random();&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;private void UpdateCharts()       &lt;br /&gt;       {        &lt;br /&gt;           List&amp;lt;NameValueItem&amp;gt; items = new List&amp;lt;NameValueItem&amp;gt;();        &lt;br /&gt;           items.Add(new NameValueItem { Name = "Test1", Value = _random.Next(10, 100) });        &lt;br /&gt;           items.Add(new NameValueItem { Name = "Test2", Value = _random.Next(10, 100) });        &lt;br /&gt;           items.Add(new NameValueItem { Name = "Test3", Value = _random.Next(10, 100) });        &lt;br /&gt;           items.Add(new NameValueItem { Name = "Test4", Value = _random.Next(10, 100) });        &lt;br /&gt;           items.Add(new NameValueItem { Name = "Test5", Value = _random.Next(10, 100) });        &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;((PieSeries)this.PieChart.Series[0]).ItemsSource = items;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Modify the Constructor to include the UpdateCharts method&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;public MainPage()         &lt;br /&gt;        {          &lt;br /&gt;            this.InitializeComponent();          &lt;br /&gt;            UpdateCharts();          &lt;br /&gt;        }&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;That’s it, you are set to run the Project and when you run it, you will see the output below&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/Charting-in-Windows-8-Store-Apps_D19D/image_2.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/Charting-in-Windows-8-Store-Apps_D19D/image_thumb.png" width="244" height="139" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;There are Bar Charts, Bar Series Charts, Line Charts, Scatter Charts and many other types.   &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;I have extract the above sample code from the large sample repository at &lt;/font&gt;&lt;a href="http://winrtxamltoolkit.codeplex.com/SourceControl/list/changesets"&gt;&lt;font size="2" face="Tahoma"&gt;http://winrtxamltoolkit.codeplex.com/SourceControl/list/changesets&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Tahoma"&gt;&lt;font color="#004080"&gt;You can download this sample from&lt;/font&gt; &lt;/font&gt;&lt;a title="http://sdrv.ms/13G8Si0" href="http://sdrv.ms/13G8Si0"&gt;&lt;font size="2" face="Tahoma"&gt;http://sdrv.ms/13G8Si0&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Cheers!!&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Tahoma"&gt;       &lt;br /&gt;&lt;font color="#004080" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt; &lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/152334.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2013/03/06/charting-in-windows-8-store-apps.aspx</guid>
            <pubDate>Wed, 06 Mar 2013 11:01:22 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/152334.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2013/03/06/charting-in-windows-8-store-apps.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/152334.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/152334.aspx</trackback:ping>
        </item>
        <item>
            <title>ASP.NET SignalR &amp;ldquo;SCRIPT5007: Unable to get property 'client' of undefined or null reference&amp;rdquo; error</title>
            <link>http://geekswithblogs.net/ranganh/archive/2013/02/17/asp.net-signalr-ldquoscript5007-unable-to-get-property-client-of-undefined.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2013/02/17/asp.net-signalr-ldquoscript5007-unable-to-get-property-client-of-undefined.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2013/02/17/asp.net-signalr-ldquoscript5007-unable-to-get-property-client-of-undefined.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;I was playing around with ASP.NET SignalR and while trying to use Hubs, stumbled upon this error.  Much as I would know that I was doing all the wrong things, I could recognize it has something to do with the line I had to embed in script&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;&lt;em&gt;&amp;lt;script src="/signalr/hubs"&amp;gt;&amp;lt;/script&amp;gt;&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;When I added the above line, I was wondering where does this reference come from.  I assumed this must be one of the script bundling techniques of ASP.NET that would be resolved in the runtime from server. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;However, found that the error occurred since I had not mapped the MapHubs in the Global.asax.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;so, all I had to do was open up the Global.asax (create one if you don’t have it yet in the project) and in the Application_Start Method, add the following line.&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt; &lt;strong&gt;&lt;em&gt;RouteTable.Routes.MapHubs();&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;With that, this error resolved.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Quick learning thought worth sharing.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Cheers!!!&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/152147.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2013/02/17/asp.net-signalr-ldquoscript5007-unable-to-get-property-client-of-undefined.aspx</guid>
            <pubDate>Sun, 17 Feb 2013 11:19:52 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/152147.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2013/02/17/asp.net-signalr-ldquoscript5007-unable-to-get-property-client-of-undefined.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/152147.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/152147.aspx</trackback:ping>
        </item>
        <item>
            <title>Implementing Search for BlogReader Windows 8 Sample</title>
            <category>Windows 8</category>
            <link>http://geekswithblogs.net/ranganh/archive/2012/12/07/implementing-search-for-blogreader-windows-8-sample.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2012/12/07/implementing-search-for-blogreader-windows-8-sample.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2012/12/07/implementing-search-for-blogreader-windows-8-sample.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;The BlogReader sample is an excellent place to start speeding up your Windows 8 development skills.  The tutorial is available &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/br211380.aspx" target="_blank"&gt;here&lt;/a&gt; and the complete source code is available &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/jj676792.aspx" target="_blank"&gt;here&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Create a project called WindowsBlogReader and create pages for ItemsPage.xaml, SplitPage.xaml and DetailPage.xaml and copy the corresponding code blocks from the sample listed above.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Created a class file FeedData.cs and copy the code.  Finally, create a class DateConverter.cs and copy the code associated with it.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;With that you should be able to build and run the project.  There seems to be one issue in the sample feeds listed that the first week (feed1) doesn’t seem to expose it.  So you can skip that and use the second feed as first feed.  You will end up with one feed less but it works.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;I had demonstrated this in the recent TechDays at Chennai.  How we can use the Search Contract and implement Search for within the Blog Titles.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;First off, we need to declare that the App will be using Search Contract, in the Package.appmanifest file&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/Implementing-Search-for-BlogReader-Windo_142A1/image_2.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/Implementing-Search-for-BlogReader-Windo_142A1/image_thumb.png" width="588" height="274" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt; Next, we would need a handle of the Search Contract when user types on the search window in Charms Menu.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;If you had completed the code sample from the link above, you would have ItemsPage.xaml and ItemsPage.xaml.cs.  Open the ItemsPage.xaml.cs.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Import the namespaces using System.Collections.ObjectModel and System.Linq.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;in the ItemsPage() constructor, right after this.InitializeComponent(); add the following code&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;&lt;em&gt;Windows.ApplicationModel.Search.SearchPane.GetForCurrentView().QuerySubmitted += ItemsPage_QuerySubmitted;&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;This event is fired when users open up the Search Panel from Charms Menu, type something and hit enter.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;We need to handle this event declared in the delegate.  For that we need to pull the FeedDataSource instantiation to the root of the class to make it global.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;So, add the following as the first line within the partial class&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;&lt;em&gt;FeedDataSource feedDataSource; &lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Also, modify the LoadState method, as follows:-&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;&lt;em&gt;protected override void LoadState(Object navigationParameter, Dictionary&amp;lt;String, Object&amp;gt; pageState)         &lt;br /&gt;       {          &lt;br /&gt;           feedDataSource = (FeedDataSource)App.Current.Resources["feedDataSource"];&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;&lt;em&gt;           if (feedDataSource != null)         &lt;br /&gt;           {          &lt;br /&gt;               this.DefaultViewModel["Items"] = feedDataSource.Feeds;          &lt;br /&gt;           }          &lt;br /&gt;       }&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Next is to implement the ItemsPage_QuerySubmitted method&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;&lt;em&gt;void ItemsPage_QuerySubmitted(Windows.ApplicationModel.Search.SearchPane sender, Windows.ApplicationModel.Search.SearchPaneQuerySubmittedEventArgs args)         &lt;br /&gt;        {          &lt;br /&gt;            this.DefaultViewModel["Items"] = from dynamic item in feedDataSource.Feeds          &lt;br /&gt;                                             where          &lt;br /&gt;                                             item.Title.Contains(args.QueryText)          &lt;br /&gt;                                             select item;          &lt;br /&gt;        }&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;As you can see we are almost using the same defaultviewmodel with the change that we are using a linq query to do a search on feeds which has the Title that matches QueryText.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;With this we are ready to run the app.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Run the App.  Hit the Charms Menu with Windows + C key combination and type a text to search within the blog. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;You can see that it filters the Blogs which has the matching text.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;We can modify the above Linq query to do a search for the Text in other attributes like description, actual blog content etc.,&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;I have uploaded the complete code since the original WindowsBlogReader Code is not available for download.  You can download it from &lt;a href="http://sdrv.ms/Ur3pna" target="_blank"&gt;here&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;font color="#ff0000"&gt;note:  this code is provided as-is without any warranties.  &lt;/font&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Cheers!!!&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/151462.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2012/12/07/implementing-search-for-blogreader-windows-8-sample.aspx</guid>
            <pubDate>Fri, 07 Dec 2012 07:50:11 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/151462.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2012/12/07/implementing-search-for-blogreader-windows-8-sample.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/151462.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/151462.aspx</trackback:ping>
        </item>
        <item>
            <title>FTP Publishing with the new Windows Azure Release</title>
            <category>ASP.NET</category>
            <category>Windows Azure</category>
            <link>http://geekswithblogs.net/ranganh/archive/2012/06/25/ftp-publishing-with-the-new-windows-azure-release.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2012/06/25/ftp-publishing-with-the-new-windows-azure-release.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2012/06/25/ftp-publishing-with-the-new-windows-azure-release.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#004080"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;There is a good chance you might have stumbled upon the new Windows Azure Release that we made on June 6th.  &lt;/font&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2012/06/07/meet-the-new-windows-azure.aspx"&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Scott Guthrie’s Post&lt;/font&gt;&lt;/a&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt; quite summarizes the overall new features.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;One of my favorite features is the Windows Azure Websites and the ability to do publish files to Azure using your FTP Client.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Windows Azure Websites offers low cost (free upto 10 websites) web hosting where you can deploy any website that can run on IIS 7.0, quickly.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;The earlier releases of Azure SDKs and the Azure platform support .NET 3.5 &amp;amp; above for running your applications.  This was a constraint for many since there are/were a lot of ASP.NET 2.0 applications built over time and simply to put it on Azure, many of you were skeptical to migrate it to .NET 4.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Windows Azure Websites offer the flexibility of running IIS 7.0 supported .NET Versions which means you can run .NET 1.1, 2.0, 3.5 and .NET 4.  Not just that! You can also run classic ASP Applications.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Windows Azure Websites don’t need you to go through the complexity of adding the Cloud Project Template and then publishing the Configuration Files.  Lets take a step by step understanding of Websites and publishing using FTP.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Tahoma"&gt;&lt;font color="#004080"&gt;I downloaded the Club Website Starter Kit from &lt;/font&gt;&lt;a title="http://www.asp.net/downloads/starter-kits/club" href="http://www.asp.net/downloads/starter-kits/club"&gt;&lt;font color="#004080"&gt;http://www.asp.net/downloads/starter-kits/club&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;It also requires a database and I downloaded the SQL Scripts and created a SQL Server Database called Club.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;This installs a Web Site Project Template.  Note that I am running Windows 8 Release Preview and Visual Studio 2012 RC.  After installing the template, select File – New – Website and don’t forget to choose the Framework version as .NET 2.0&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/FTP-Publishing-with-the-new-Windows-Azur_115EE/image_2.png"&gt;&lt;font color="#004080"&gt;&lt;img title="image" style="BORDER-TOP: 0px; BORDER-RIGHT: 0px; BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; BORDER-LEFT: 0px; DISPLAY: inline; PADDING-RIGHT: 0px" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/FTP-Publishing-with-the-new-Windows-Azur_115EE/image_thumb.png" width="515" height="206" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;You can see the “Club Website Starter Kit” .  Once you select the Website gets created.  You would encounter a warning indicating that the Club Website Starter Kit uses SQL Express and the recommended database is LocalDB Express.  Click ok to continue.  Once the Website is created open up the Web.config and locate the “ClubSiteDB” connection string.  By default, it points to a SQL Express Database.  Instead configure it to use your local SQL Server.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Also, open up Global.asax and comment out the following line&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;em&gt;if (!Roles.RoleExists("Administrators")) Roles.CreateRole("Administrators");&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;There seems to be an issue in the code that doesn’t create the role.  &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Post that, hit CTRL+F5 and you should be able to see the Website Running, as below&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/FTP-Publishing-with-the-new-Windows-Azur_115EE/image_4.png"&gt;&lt;font color="#004080"&gt;&lt;img title="image" style="BORDER-TOP: 0px; BORDER-RIGHT: 0px; BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; BORDER-LEFT: 0px; DISPLAY: inline; PADDING-RIGHT: 0px" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/FTP-Publishing-with-the-new-Windows-Azur_115EE/image_thumb_1.png" width="520" height="277" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;So, now we have the Club Starter Kit site up running locally.  &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;Moving to Azure&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Tahoma"&gt;&lt;font color="#004080"&gt;Visit &lt;/font&gt;&lt;a title="http://manage.windowsazure.com/" href="http://manage.windowsazure.com/"&gt;&lt;font color="#004080"&gt;http://manage.windowsazure.com/&lt;/font&gt;&lt;/a&gt;&lt;font color="#004080"&gt; and sign up for a trial account.  This allows you to host up to 10 websites for free and a host of other benefits.  The free Websites can be extended to an year without any charge.  Once you have signed up, sign in to the portal using the Live ID used for sign up.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;After signing in, you would be presented with the “All Items” listing page which lists, Websites, Cloud Services, Databases etc.,  If this is the first time, you wouldn’t find anything.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Click on the “Websites” link from the left menu.  Click on “New” in the bottom and it should show up a dialog.  In the same, select Website and click on “Quick Create” and in the URL Textbox, specify “MyFirstDemo” and click the “Create Web Site” link below.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/FTP-Publishing-with-the-new-Windows-Azur_115EE/image_6.png"&gt;&lt;font color="#004080"&gt;&lt;img title="image" style="BORDER-TOP: 0px; BORDER-RIGHT: 0px; BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; BORDER-LEFT: 0px; DISPLAY: inline; PADDING-RIGHT: 0px" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/FTP-Publishing-with-the-new-Windows-Azur_115EE/image_thumb_2.png" width="548" height="317" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;It should take a few seconds to create the Website.  Once the Website is created, click on the listing and it should open up the Dashboard.  Since we haven’t done anything yet, there shouldn’t be any statistics&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/FTP-Publishing-with-the-new-Windows-Azur_115EE/image_8.png"&gt;&lt;font color="#004080"&gt;&lt;img title="image" style="BORDER-TOP: 0px; BORDER-RIGHT: 0px; BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; BORDER-LEFT: 0px; DISPLAY: inline; PADDING-RIGHT: 0px" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/FTP-Publishing-with-the-new-Windows-Azur_115EE/image_thumb_3.png" width="548" height="308" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Click on the “Download publish profile” link in the right bottom.  This file has the FTP publishing settings.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Tahoma"&gt;&lt;font color="#004080"&gt;Also, if you scroll down you can see the FTP URL for this site.  It should typically start &lt;/font&gt;&lt;a href="ftp://waws-xxxx-xxx-xxxx"&gt;&lt;font color="#004080"&gt;ftp://waws-xxxx-xxx-xxxx&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;In the downloaded publish profile file, you can also find the ftp URL.  Pick the following from this file&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;publishUrl (the 2nd one, the one that features after publishMethod =”FTP”) and the userName and userPWD that follows.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Note that we have everything required to publish the files.  But since the Club Starter Kit uses Databases, we need to have the Database running on SQL Azure.  &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Go back to the Main Menu and click on “New” in the bottom but this time select “SQL Database” and provide “Club” as Database name for “Quick Create”&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/FTP-Publishing-with-the-new-Windows-Azur_115EE/image_12.png"&gt;&lt;font color="#004080"&gt;&lt;img title="image" style="BORDER-TOP: 0px; BORDER-RIGHT: 0px; BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; BORDER-LEFT: 0px; DISPLAY: inline; PADDING-RIGHT: 0px" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/FTP-Publishing-with-the-new-Windows-Azur_115EE/image_thumb_5.png" width="587" height="167" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;If this is the first time a Server would be created.  Otherwise, it would pickup the existing server name.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Tahoma"&gt;&lt;font color="#004080"&gt;Once the database is created, you can use the SQL Azure Migration Wizard &lt;/font&gt;&lt;a title="http://sqlazuremw.codeplex.com/" href="http://sqlazuremw.codeplex.com/"&gt;&lt;font color="#004080"&gt;http://sqlazuremw.codeplex.com/&lt;/font&gt;&lt;/a&gt;&lt;font color="#004080"&gt; and provide the credentials to connect to local database and then the SQL Azure database for migrating the “Club” database.  The migration wizard UI hasn’t changed much and is the same as explained by me in one my posts earlier &lt;/font&gt;&lt;a title="http://geekswithblogs.net/ranganh/archive/2009/09/29/taking-your-northwind-database-to-sql-azure-and-binding-it.aspx" href="http://geekswithblogs.net/ranganh/archive/2009/09/29/taking-your-northwind-database-to-sql-azure-and-binding-it.aspx"&gt;&lt;font color="#004080"&gt;http://geekswithblogs.net/ranganh/archive/2009/09/29/taking-your-northwind-database-to-sql-azure-and-binding-it.aspx&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Once the database is migrated, come back to the main screen and click on the Database base in the Azure Management Portal.  It opens up the dashboard of the database.  Click on “Show connection Strings” and it would popup a list of connection string formats.  Choose the ADO.NET connection string and after editing the password with the password that you provided when creating the database server in the Azure Portal, paste it into the config file of the Club Starter Kit Website.  Just to reiterate, the connection string key is ClubSiteDB.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Try running the Website once to ensure that the application though running locally could connect to the SQL Database running on Azure.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Once you are able to run the website successfully, we are all set to do the FTP Publishing.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Tahoma"&gt;&lt;font color="#004080"&gt;Download your favorite FTP tool.  I use &lt;/font&gt;&lt;a title="http://filezilla-project.org/" href="http://filezilla-project.org/"&gt;&lt;font color="#004080"&gt;http://filezilla-project.org/&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;In the Host Textbox, paste the FTP URL that you picked up from the publish profile file and also paste the username and password.  Click on “QuickConnect”.  If everything is fine, you should be able to connect to the remote server.  If it is successfully connected, you can see the wwwroot folder of the Website, running in Azure&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/FTP-Publishing-with-the-new-Windows-Azur_115EE/image_14.png"&gt;&lt;font color="#004080"&gt;&lt;img title="image" style="BORDER-TOP: 0px; BORDER-RIGHT: 0px; BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; BORDER-LEFT: 0px; DISPLAY: inline; PADDING-RIGHT: 0px" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/FTP-Publishing-with-the-new-Windows-Azur_115EE/image_thumb_6.png" width="576" height="317" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Make sure on the “Local Site” in the left, you choose the path to the folder of your Website.  Open up the Website folder on the left such that it lists all the files and folders inside.  Select all of them and click select “Upload” or simply drag and drop all the files to the root folder that is listed above.  &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Tahoma"&gt;&lt;font color="#004080"&gt;Once the publishing is done, you should be able to hit the SiteURL that you can find the dashboard page of the website.  In our case, it would be &lt;/font&gt;&lt;a href="http://MyFirstDemo.azurewebsites.net"&gt;&lt;font color="#004080"&gt;http://MyFirstDemo.azurewebsites.net&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;That’s it, we have now done FTP publishing in Azure and that too we are running a .NET 2.0 Website on Azure.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Cheers !!!&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/150046.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2012/06/25/ftp-publishing-with-the-new-windows-azure-release.aspx</guid>
            <pubDate>Mon, 25 Jun 2012 16:39:45 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/150046.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2012/06/25/ftp-publishing-with-the-new-windows-azure-release.aspx#feedback</comments>
            <slash:comments>52</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/150046.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/150046.aspx</trackback:ping>
        </item>
        <item>
            <title>Multi-monitor support in Windows 8</title>
            <link>http://geekswithblogs.net/ranganh/archive/2012/06/15/multi-monitor-support-in-windows-8.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2012/06/15/multi-monitor-support-in-windows-8.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2012/06/15/multi-monitor-support-in-windows-8.aspx&lt;/a&gt;&lt;/p&gt;&lt;div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:dc00a3c2-542d-4cc1-bc64-bc7ed1ddf8de" class="wlWriterEditableSmartContent" style="FLOAT: none; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; MARGIN: 0px; DISPLAY: inline; PADDING-RIGHT: 0px"&gt;&lt;br /&gt;&lt;embed type="application/x-shockwave-flash" height="252" width="448" src="http://www.youtube.com/v/GPuZEEQA6TQ?hd=1" wmode="transparent"&gt;&lt;/embed&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/149950.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2012/06/15/multi-monitor-support-in-windows-8.aspx</guid>
            <pubDate>Fri, 15 Jun 2012 06:03:39 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/149950.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2012/06/15/multi-monitor-support-in-windows-8.aspx#feedback</comments>
            <slash:comments>23</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/149950.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/149950.aspx</trackback:ping>
        </item>
        <item>
            <title>JsonValueProviderFactory in MVC 2</title>
            <link>http://geekswithblogs.net/ranganh/archive/2012/04/21/jsonvalueproviderfactory-in-mvc-2.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2012/04/21/jsonvalueproviderfactory-in-mvc-2.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2012/04/21/jsonvalueproviderfactory-in-mvc-2.aspx&lt;/a&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;/blockquote&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Today we were rebuilding an old project which used MVC 2.  There were a bunch of build errors, which I quickly figured was because of the reference to Microsoft.Web.MVC assembly which was a part of the Futures Preview for MVC 2 before MVC 3 came.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;I removed the reference and secondly, I installed MVC 3 on the machine.  After that I removed all references to MVC 2 assemblies and added reference to the System.Web.Mvc dll version present in C:\Program Files(x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;With that, some of the errors went off.  But upon further building the project, I ran into quite a few issues with respect to Razor Views and existing MVC 2 codebase.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;My colleague, as paranoid as always wanted to revert back to MVC 2 given that, there would be more work in changing all of them to suit MVC 3 assemblies and it wasn’t required at this time for a project which was working fine.  Typical customer style.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Then, I went ahead and removed the reference to MVC 3 and added back the MVC 2 assembly.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Bang came back the error on JsonValueProviderFactory references in Global.asax.  After scratching around for sometime, I figured that this assembly is now part of the System.Web.Mvc in MVC 3 whereas if we have to use it in MVC 2, we need to explicitly download and add the MVC 2 Futures Preview available at &lt;a title="http://aspnet.codeplex.com/releases/view/41742" href="http://aspnet.codeplex.com/releases/view/41742"&gt;http://aspnet.codeplex.com/releases/view/41742&lt;/a&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Since the code was ported from another machine, this wasn’t copied and just MVC and required assemblies were installed.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;I went ahead and installed the MVC 2 features which had the DLL Microsoft.Web.Mvc and after adding a reference to that DLL in the project and then putting up a using Microsoft.Web.Mvc, the error on line JsonValueProviderFactory vanished.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Please note, this is only required if you stick to use MVC 2 and with MVC 3 and above, this is not required.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Also, the MVC 2 futures was an experimental release, so I would assume it wouldn’t be supported and one has to use at one’s own risk.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Cheers !!!&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/149384.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2012/04/21/jsonvalueproviderfactory-in-mvc-2.aspx</guid>
            <pubDate>Sat, 21 Apr 2012 16:27:28 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/149384.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2012/04/21/jsonvalueproviderfactory-in-mvc-2.aspx#feedback</comments>
            <slash:comments>10</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/149384.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/149384.aspx</trackback:ping>
        </item>
        <item>
            <title>Single Page Application and why is it becoming more and more popular</title>
            <category>ASP.NET</category>
            <link>http://geekswithblogs.net/ranganh/archive/2012/04/20/single-page-application-and-why-is-it-becoming-more-and.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2012/04/20/single-page-application-and-why-is-it-becoming-more-and.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2012/04/20/single-page-application-and-why-is-it-becoming-more-and.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;One of the key trends becoming more and more popular is the Single Page Application Framework and building applications that behave as native applications running on the machine.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;SPA’s have been tried and tested for a while now and with libraries like Knockout.js, Backbone.js becoming more and more capable, it becomes feasible to create SPA’s.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;What is an SPA?&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;I can describe in length but falling in line with DRY principle, here is the Wiki Link &lt;/font&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;a href="http://en.wikipedia.org/wiki/Single-page_application"&gt;http://en.wikipedia.org/wiki/Single-page_application&lt;/a&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;But in short, it is a framework that builds highly responsive web applications that don’t infuse post backs and page reload.  &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;I can almost hear you say. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;“Wait!! Isn’t that what AJAX and XMLHttpRequest promised?”&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;“Can’t I do it with Iframe?”&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;Hence this post, “Why SPA” now&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Traditional web developers have tried using a variety of means to do this Single Page Application using Iframes, XMLHttpRequest, AJAX, jQuery and a variety of libraries.  There are caveats to each of these approaches.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Tahoma"&gt;&lt;font color="#004080"&gt;First major issue with Iframes is the ability to communicate between the parent and the iframe.  80% of questions about Iframe in various forums (&lt;a href="http://geekswithblogs.net/ranganh/archive/2005/04/25/37635.aspx" target="_blank"&gt;including my most popular blogpost on iframe&lt;/a&gt;&lt;/font&gt;&lt;font color="#004080"&gt;) are about communication between the page in iframe and the parent.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;The next with respect to asynchronous call backs is that, the URL doesn’t get updated and this causes 2 issues&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;1. There aren’t much URLs and hence the website isn’t search engine friendly&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;2. Users press the “Back” button and get an unexpected behaviour since the browser history is not updated and hence takes them to different locations instead of the previous stage.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;strong&gt;How Single Page Application solves these issues?&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Single Page Applications use a parameterized URL which defines various operations that you do.  For example, it may append an action to the base URL as below&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;&lt;a href="http://localhost:2015/Task/?editItem=added5"&gt;http://localhost:2015/Task/?editItem=added5&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Secondly, SPAs use history.js library (native.history.js) for maintaining the state of the page, so even though all the operations happen quickly and on the client side, the browser’s back button behaves normally and the page state is saved.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;In addition to solving the above problems, SPA’s use a combination of template binding scripts, Data Model Scripts, Services and Data Templates making it all the more richer in functionality, to build.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Finally, SPAs integrate well with the new HTML5 features such as LocalStorage and Application Cache for building Offline Web Applications and make it easy to build apps that behave the same when not connected.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;What does Microsoft have for developers?&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;In MVC4 Beta, there is Single Page Application Template that allows you to build SPAs with minimal effort.  The default template comes with all the required libraries wired up and a sample ToDoItem.cs file which is the model for data.  Upon building the solution and creating a TasksController which is based on the ToDoItem Model, one can navigate to the base URL + Tasks to experience creating /editing Tasks all of it in a Single Page Experience, both quick and elegant.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;And since this post has been all talk and no technical tip, here below is one.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;The Default SPA Template that comes up when you create a “File – New – ASP.NET MVC 4 Web Application – Single Page Application” Project which was released along with VS11 Beta is a bit out dated now.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Once the SPA Template Project is created, we need to run the NuGet command line utility (Tools – Package Manager Console) and type &lt;strong&gt;Install-Package SinglePageApplication.CSharp&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;This gives a much improved SPA Template to work with as outlined by Steve Sanderon himself, &lt;a href="http://blog.stevensanderson.com/" target="_blank"&gt;in his blog post&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Cheers !!!&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/149373.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2012/04/20/single-page-application-and-why-is-it-becoming-more-and.aspx</guid>
            <pubDate>Thu, 19 Apr 2012 18:44:50 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/149373.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2012/04/20/single-page-application-and-why-is-it-becoming-more-and.aspx#feedback</comments>
            <slash:comments>31</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/149373.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/149373.aspx</trackback:ping>
        </item>
        <item>
            <title>Building a Northwind Single Page Application using ASP.NET MVC 4 Beta - Part 2</title>
            <category>ASP.NET</category>
            <link>http://geekswithblogs.net/ranganh/archive/2012/02/25/building-a-northwind-single-page-application-using-asp.net-mvc-4-again.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2012/02/25/building-a-northwind-single-page-application-using-asp.net-mvc-4-again.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2012/02/25/building-a-northwind-single-page-application-using-asp.net-mvc-4-again.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;This post is in continuation with &lt;/font&gt;&lt;a href="http://geekswithblogs.net/ranganh/archive/2012/02/25/building-a-northwind-single-page-application-using-asp.net-mvc-4.aspx" target="_blank"&gt;&lt;font color="#0000ff" size="2" face="Tahoma"&gt;my earlier post&lt;/font&gt;&lt;/a&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;, so you may want to read that first before continuing.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Once I removed all the TasksController files and the TodoItem, I chose the Models folder, right click and “Add New Item” and searched for “ADO.NET Entity Model” and added it to the folder. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/d2913691dc79_10994/image_2.png"&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/d2913691dc79_10994/image_thumb.png" width="495" height="297" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;It allowed me to connect to the Northwind database through “Generate from database” and I selected just three tables “Products”, “Categories” and “Suppliers” table for simplicity.  At the end of the wizard, we get a EDMX design file with the 3 tables.  On this screen I right clicked and choose “Add Code Generation Item” as below&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/d2913691dc79_10994/image_4.png"&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/d2913691dc79_10994/image_thumb_1.png" width="496" height="291" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;and then in the dialog that came up, chose the “ADO.NET DbContext Generator” and Added (note, if you don’t see this template, you probably don’t have &lt;/font&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=8363" target="_blank"&gt;&lt;font color="#0000ff" size="2" face="Tahoma"&gt;Entity Framework 4.1 installed&lt;/font&gt;&lt;/a&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;This step created the Model1.Context (not required for us though &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/d2913691dc79_10994/wlEmoticon-smile_2.png" /&gt;) and the Model1.tt template which groups the individual class files for each of the tables above (these are required &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/d2913691dc79_10994/wlEmoticon-smile_2.png" /&gt;)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;The next thing I did, was to remove the NorthwindEntities connectionstring that got automatically added when we followed the ADO.NET Entity Model wizard.  We don’t need this connection string.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Also, I deleted the Model1.Context file and also the Model1.cs files which are not required (we will be generating a new context to suit our database name)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/d2913691dc79_10994/image_6.png"&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/d2913691dc79_10994/image_thumb_2.png" width="498" height="385" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;&lt;font color="#00376f"&gt;&lt;em&gt;Note that these files are not required only for our SPA approach here and they are required when working with EF CodeFirst normally as they do the DbSet Tracking and whole bunch of things            &lt;br /&gt;&lt;/em&gt;&lt;em&gt;&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;So, we now have the basic model classes required for wiring up our Controller required to create the SPA Pages.   One important thing I learnt in this process was that, I had to edit the Model classes as follows:-&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;In Supplier.cs added the “private” keyword to the ICollection&amp;lt;Products&amp;gt; property.  Same is the case with Category.cs.  Otherwise you would run into an &lt;/font&gt;&lt;a href="http://forums.asp.net/t/1773164.aspx/1?DbContext+Object+graph+for+type+contains+cycles+and+cannot+be+serialized+if+reference+tracking+is+disabled" target="_blank"&gt;&lt;font color="#0000ff" size="2" face="Tahoma"&gt;error explained here&lt;/font&gt;&lt;/a&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/d2913691dc79_10994/image_8.png"&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/d2913691dc79_10994/image_thumb_3.png" width="486" height="243" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;After this, I added Controller for Products as per the settings below (Right Click Controller – Add –Controller)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/d2913691dc79_10994/image_10.png"&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/d2913691dc79_10994/image_thumb_4.png" width="491" height="326" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Note several important things.  I have chosen the “Single Page Application with read/write actions and views, using Entity Framework” template under Scaffolding options.  Also, I have edited the Data context class and made it simply MvcApplication126.Models.Northwind.  This would be referenced in the web.config connection string as well so that SPA picks up our existing Northwind database instead of creating a new one.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Once you click “Add” the following files are generated.  &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Under Controllers&lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;NorthwindController.cs&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;NorthwindController.Product.cs&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;ProductsController.cs&lt;/font&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Under Scripts&lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;ProductsviewModel.js&lt;/font&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Under Views&lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Products folder and the Views and Partial Views required&lt;/font&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Repeat the steps for adding Controllers for “Categories” and “Suppliers” and the only change would be the respective Model Classes.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;One important thing to do is to add the following connectionstring to the web.config file&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&amp;lt;add name="Northwind" connectionString="Data Source=SERVERNAME;Initial Catalog=Northwind;User Id=YOUR USER NAME;Password=YOUR PASSWORD" providerName="System.Data.SqlClient" /&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Then, when you run the project, it opens up the default Home Page.  &lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Navigate to /Products and it should load the list of Products from Northwind database. &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Click on each product and edit and note that everything happens in a single page inline.  &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Just notice the URLs change in pattern with hash tags.  &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Notice that the Categories and Suppliers are wired up as dropdownlists since these are foreign key references.&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Notice that all the items load asynchronously &lt;/font&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;I went ahead and edited the Shared –&amp;gt; Layout.cshtml under Views folder to add Menu Items for Products, Categories and Suppliers, as below:-&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&amp;lt;ul id="menu"&amp;gt;      &lt;br /&gt;         &amp;lt;li&amp;gt;@Html.ActionLink("Home", "Index", "Home")&amp;lt;/li&amp;gt;       &lt;br /&gt;         &amp;lt;li&amp;gt;@Html.ActionLink("Products", "Index", "Products")&amp;lt;/li&amp;gt;       &lt;br /&gt;         &amp;lt;li&amp;gt;@Html.ActionLink("Categories", "Index", "Categories")&amp;lt;/li&amp;gt;       &lt;br /&gt;         &amp;lt;li&amp;gt;@Html.ActionLink("Suppliers", "Index", "Suppliers")&amp;lt;/li&amp;gt;       &lt;br /&gt;         &amp;lt;li&amp;gt;@Html.ActionLink("About", "About", "Home")&amp;lt;/li&amp;gt;       &lt;br /&gt;         &amp;lt;li&amp;gt;@Html.ActionLink("Contact", "Contact", "Home")&amp;lt;/li&amp;gt;       &lt;br /&gt;&amp;lt;/ul&amp;gt;       &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Now, we have our full blown Northwind Traders Application running as a SPA.  &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;You can download the sample from &lt;/font&gt;&lt;a title="https://skydrive.live.com/redir.aspx?cid=069f94a102eff49a&amp;amp;resid=69F94A102EFF49A!919&amp;amp;parid=root" href="https://skydrive.live.com/redir.aspx?cid=069f94a102eff49a&amp;amp;resid=69F94A102EFF49A!919&amp;amp;parid=root"&gt;&lt;font color="#0000ff" size="2" face="Tahoma"&gt;https://skydrive.live.com/redir.aspx?cid=069f94a102eff49a&amp;amp;resid=69F94A102EFF49A!919&amp;amp;parid=root&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;I have also hosted the sample online at &lt;/font&gt;&lt;a title="http://northwindspa.cloudapp.net/" href="http://northwindspa.cloudapp.net/"&gt;&lt;font color="#0000ff" size="2" face="Tahoma"&gt;http://northwindspa.cloudapp.net/&lt;/font&gt;&lt;/a&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Cheers !!!&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/148807.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2012/02/25/building-a-northwind-single-page-application-using-asp.net-mvc-4-again.aspx</guid>
            <pubDate>Sat, 25 Feb 2012 13:23:40 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/148807.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2012/02/25/building-a-northwind-single-page-application-using-asp.net-mvc-4-again.aspx#feedback</comments>
            <slash:comments>18</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/148807.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/148807.aspx</trackback:ping>
        </item>
        <item>
            <title>Building a Northwind Single Page Application using ASP.NET MVC 4 Beta - Part 1</title>
            <category>ASP.NET</category>
            <link>http://geekswithblogs.net/ranganh/archive/2012/02/25/building-a-northwind-single-page-application-using-asp.net-mvc-4.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2012/02/25/building-a-northwind-single-page-application-using-asp.net-mvc-4.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2012/02/25/building-a-northwind-single-page-application-using-asp.net-mvc-4.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Single Page Application Frameworks are gaining popularity in the ever evolving web community with lot of libraries such as JavaScriptMVC, Backbonejs and many other libraries.  ASP.NET MVC 4 introduces experimental support for building single page application (SPA) through a template.  Much of the plumbing work of wiring up the client side scripts, javascript modelviews and the controllers is automated, making it a quick start to develop SPAs relatively easier.  Lets examine a scenario where we are building a Northwind Store using SPA.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;I installed the &lt;/font&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?id=28942" target="_blank"&gt;&lt;font color="#0000ff" size="2" face="Tahoma"&gt;ASP.NET MVC 4 Beta for Visual Studio 2010&lt;/font&gt;&lt;/a&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt; and the &lt;/font&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=23654" target="_blank"&gt;&lt;font color="#0000ff" size="2" face="Tahoma"&gt;Northwind Sample Database for SQL Server&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Post that I did a “File – New Project – ASP.NET MVC 4 Web Application”&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/885aafa552ff_6BAE/image_2.png"&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" title="image" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/885aafa552ff_6BAE/image_thumb.png" width="479" height="289" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;In MVC 3 we are used to see a screen with 3 options i.e. Intranet, Internet and Empty templates.  In MVC 4 we have additional templates as you can see below and I chose the “Single Page Application” template and created the project template.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/885aafa552ff_6BAE/image_4.png"&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" title="image" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/885aafa552ff_6BAE/image_thumb_1.png" width="478" height="387" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;The default template creates the scaffolding templates for Models, Views and Controllers as it would do for any regular ASP.NET MVC Project.  The differences with SPA template is that, it adds a Model class “ToDoItem.cs” and opens it up by default.  The next step as outlined here in the &lt;/font&gt;&lt;a href="http://www.asp.net/single-page-application/getting-started-with-spa/spa-walkthroughs/walkthrough-getting-started-with-spa" target="_blank"&gt;&lt;font color="#0000ff" size="2" face="Tahoma"&gt;ASP.NET Site Getting Started with SPA Page&lt;/font&gt;&lt;/a&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt; is to build the solution as this Model gets registered into the Models dictionary and then adding a Controller named “TasksController” which would use this “ToDoItem” as Model class and creating a new DataContext class and then running the solution.  When you run the solution and navigate to /Tasks, you get to see nice javascript based Tasks Page where one can create Tasks, Edit Tasks etc.,  I went little into examining the kind of files created and found that it creates a ContextNameController and ContextNameController.Model.cs file inside the Controllers in addition to the actual Controller we created which in our case is TasksController.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/885aafa552ff_6BAE/image_6.png"&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" title="image" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/885aafa552ff_6BAE/image_thumb_2.png" width="480" height="197" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Next, the important folder &lt;img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/885aafa552ff_6BAE/wlEmoticon-smile_2.png" /&gt; is the Scripts folder and there I found that it creates a &amp;lt;Modelname&amp;gt;ViewModel.js file that holds all the observer pattern script required.  In addition, this folder contains a truckload of JavaScript files including jQuery, Knockout, upshot and modernizr.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/885aafa552ff_6BAE/image_8.png"&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" title="image" border="0" alt="image" src="http://gwb.blob.core.windows.net/ranganh/Windows-Live-Writer/885aafa552ff_6BAE/image_thumb_3.png" width="480" height="406" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Finally, inside the “Views” folder, it creates the necessary Partial Views and Index View for Tasks.   Once you build and run, you can experience all of this SPA for your TodoItem Model without having written a single line of JavaScript code yet.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;Now, things I learnt      &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;1. The ContextName that you select when creating the TasksConroller (inour case it is MVCApplication126Context)is important for you to work with other Databases.  By default when you run this solution, Visual Studio would create a SQL Express Database in C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA folder with the name MVCApplication126Context.  &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;The way I see the SPA framework identifies is, if you don’t have a connectionstring by the name of the Context, it defaults to creating a database in SQL Express with the ContextName in the above mentioned path.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;If you have a connectionstring mentioned with the same contextname, it tries and uses that Database (SQL Express, SQL Server). However, when you are running for the first time, if you create a Database and point it in the connectionstring, it would expect that the Table (mapped to the model i.e. TodoItems) need to exist.  Otherwise, it throws an exception.  So best, is to either use a Model for which there is a Table that already exists in the Database or provide a new Database name in which case, VS would create the Database with the TodoItems Table as well.   There must be someplace to configure all of these, but for the lack of time I didn’t delve deep into these things for now.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;So, coming to our Northwind Sample.  Northwind has been Developers’ best friend to experiment new things and the saga continues here.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;I had to do a couple of things though.  First I removed the TodoItem.cs class and also removed the TasksController, Views since we don’t need them.  So, for all practical purposes, it is now a plain MVC 4 Application with the default Home &amp;amp; Account Controllers and their respective Views.   I also removed the Contextfiles created inside the Controllers Folder.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;A bit of analogy on how I built this Northwind App before I explain the actual steps.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;The TodoItem is a simple class file and can be hand wired.  However, in real world, or for that matter, a simple Northwind database table has a lot of columns and hence properties to be wired up.  Also, it requires to map foreign relationships and other things.  So, I decided to use the ADO.NET Entity Data Model first to create a model class for the Northwind Database.    This would help me in generating DbContext classes using EF CodeFirst Template, which are much simpler than the complex EDMX file that is created by the ADO.NET Entity Model.  Thereafter, I can use the class files generated to create the Controller, View and JS ViewModels.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#00376f" size="2" face="Tahoma"&gt;More on these in &lt;a href="http://geekswithblogs.net/ranganh/archive/2012/02/25/building-a-northwind-single-page-application-using-asp.net-mvc-4-again.aspx" target="_blank"&gt;&lt;font color="#0000ff"&gt;the next part&lt;/font&gt;&lt;/a&gt;!!!&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/148806.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2012/02/25/building-a-northwind-single-page-application-using-asp.net-mvc-4.aspx</guid>
            <pubDate>Sat, 25 Feb 2012 13:21:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/148806.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2012/02/25/building-a-northwind-single-page-application-using-asp.net-mvc-4.aspx#feedback</comments>
            <slash:comments>19</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/148806.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/148806.aspx</trackback:ping>
        </item>
        <item>
            <title>Diving Deep: ASP.NET Membership and the new Universal Providers</title>
            <category>Video</category>
            <category>ASP.NET</category>
            <link>http://geekswithblogs.net/ranganh/archive/2012/01/16/diving-deep-asp.net-membership-and-the-new-universal-providers.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2012/01/16/diving-deep-asp.net-membership-and-the-new-universal-providers.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2012/01/16/diving-deep-asp.net-membership-and-the-new-universal-providers.aspx&lt;/a&gt;&lt;/p&gt;                                    &lt;div style="width: 640px; height: 360px;"&gt;&lt;br /&gt;&lt;object data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAAAlQgAANSUAABQAAAAjAEYARgAwADAAMAAwADAAMAAAAAAAAAAAAAAAAAAAAI4AAABoAHQAdABwADoALwAvAHcAdwB3AC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGcAbABvAGIAYQBsAC8AZQBuAC0AaQBuAC8AcwBoAG8AdwBjAGEAcwBlAC8AUgBpAGMAaABNAGUAZABpAGEALwBwAGwAYQB5AGUAcgAtAGUAbgAuAHgAYQBwAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKICAABDAHUAbAB0AHUAcgBlAD0AZQBuAC0ASQBOACwAVQB1AGkAZAA9AGIAZAA0ADcAOQBkADQANwAtADIAYwA3AGQALQA0AGUAMQA2AC0AYQBiAGQANAAtAGIAYQBiAGMAOAA1ADgAZABjAGQANgA5ACwAQQB1AHQAbwBwAGwAYQB5AD0AZgBhAGwAcwBlACwATQBhAHIAawBlAHQAaQBuAGcATwB2AGUAcgBsAGEAeQBUAGUAeAB0AD0AVgBpAHMAaQB0ACAAdABoAGkAcwAgAHYAaQBkAGUAbwAnAHMAIAB3AGUAYgAgAHMAaQB0AGUALABTAGgAbwB3AE0AYQByAGsAZQB0AGkAbgBnAE8AdgBlAHIAbABhAHkAPQB0AHIAdQBlACwATQBpAHMAYwBDAG8AbgB0AHIAbwBsAHMAPQBGAHUAbABsAFMAYwByAGUAZQBuADsARABlAHQAYQBjAGgAZQBkACwAUwBoAG8AdwBNAGUAbgB1AD0AVAByAHUAZQAsAFQAYQBiAHMAPQBFAG0AYgBlAGQAOwBFAG0AYQBpAGwAOwBTAGgAYQByAGUAOwBJAG4AZgBvACwAVgBpAGQAZQBvAFUAcgBsAD0AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBlAG4ALQBpAG4ALwBzAGgAbwB3AGMAYQBzAGUALwBkAGUAdABhAGkAbABzAC4AYQBzAHAAeAA/AHUAdQBpAGQAPQBiAGQANAA3ADkAZAA0ADcALQAyAGMANwBkAC0ANABlADEANgAtAGEAYgBkADQALQBiAGEAYgBjADgANQA4AGQAYwBkADYAOQAsAE0AbwBkAGUAPQBQAGwAYQB5AGUAcgAAAAAAAAAAAAAA//8AAP//AAAAAAAAAAAAAAAAAAAYAAAANAAuADAALgA1ADAANAAwADEALgAwAAAACgAAAHQAcgB1AGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" width="640" type="application/x-silverlight-2" height="360"&gt;                                        &lt;param name="source" value="http://www.microsoft.com/global/en-in/showcase/RichMedia/player-en.xap" /&gt;                                        &lt;param name="enableHtmlAccess" value="true" /&gt;                                            &lt;param name="background" value="#FF000000" /&gt;                                        &lt;param name="allowHtmlPopupwindow" value="true" /&gt;                                        &lt;param name="minRuntimeVersion" value="4.0.50401.0" /&gt;                                        &lt;param name="autoUpgrade" value="true" /&gt;                                        &lt;param name="initParams" value="Culture=en-IN,Uuid=bd479d47-2c7d-4e16-abd4-babc858dcd69,Autoplay=false,MarketingOverlayText=Visit this video's web site,ShowMarketingOverlay=true,MiscControls=FullScreen;Detached,ShowMenu=True,Tabs=Embed;Email;Share;Info,VideoUrl=http://www.microsoft.com/en-in/showcase/details.aspx?uuid=bd479d47-2c7d-4e16-abd4-babc858dcd69,Mode=Player" /&gt;                                      &lt;iframe height="100%" border="0" src="http://www.microsoft.com/showcase/video.aspx?uuid=bd479d47-2c7d-4e16-abd4-babc858dcd69&amp;amp;locale=en-IN" width="100%"&gt;                                        &amp;lt;/object&amp;gt;                                        &amp;lt;script type="text/javascript"&amp;gt;                                            document.write("&amp;lt;script type='text/javascript' src='" + (window.location.protocol) + "//c.microsoft.com/ms.js'" + "&amp;gt;&amp;lt;\/script&amp;gt;");&amp;lt;/script&amp;gt;                                        &amp;lt;/div&amp;gt;&amp;lt;/body&amp;gt;&lt;/iframe&gt;&lt;/object&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/148365.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2012/01/16/diving-deep-asp.net-membership-and-the-new-universal-providers.aspx</guid>
            <pubDate>Mon, 16 Jan 2012 10:53:47 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/148365.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2012/01/16/diving-deep-asp.net-membership-and-the-new-universal-providers.aspx#feedback</comments>
            <slash:comments>21</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/148365.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/148365.aspx</trackback:ping>
        </item>
        <item>
            <title>'Microsoft.ServiceBus.TransportClientCredentialType' is obsolete</title>
            <category>Windows Azure</category>
            <link>http://geekswithblogs.net/ranganh/archive/2012/01/10/microsoft.servicebus.transportclientcredentialtype-is-obsolete.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2012/01/10/microsoft.servicebus.transportclientcredentialtype-is-obsolete.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2012/01/10/microsoft.servicebus.transportclientcredentialtype-is-obsolete.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Once you upgrade to the &lt;/font&gt;&lt;a href="http://www.microsoft.com/web/gallery/install.aspx?appid=WindowsAzureToolsVS2010" target="_blank"&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Windows Azure SDK 1.6&lt;/font&gt;&lt;/a&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt; you also get the updated Microsoft Service Bus assemblies (version 1.6.0.0) that you can use for working with Windows Azure Service Bus (yeah, no longer AppFabric Service Bus)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;One of the standard implementations of Service Bus is  to use the CredentialType, Credentials (the service bus namespace and the issuer key and issuer name) to create the service bus namespace URI.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Once you upgrade to Windows Azure Service Bus (Microsoft.ServiceBus) version 1.6.0.0, the following are the errors you might encounter.  These are rather warnings.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;'Microsoft.ServiceBus.TransportClientCredentialType' is obsolete &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;'Microsoft.ServiceBus.TransportClientEndpointBehavior.CredentialType' is obsolete: '"This property is deprecated. Please use TransportClientEndpointBehavior.TokenProvider instead."' &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;'Microsoft.ServiceBus.TransportClientEndpointBehavior.Credentials' is obsolete: '"This property is deprecated. Please use TransportClientEndpointBehavior.TokenProvider instead."' &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;'Microsoft.ServiceBus.TransportClientEndpointBehavior.Credentials' is obsolete: '"This property is deprecated. Please use TransportClientEndpointBehavior.TokenProvider instead."' &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;While this is nicely documented in the &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/hh667331.aspx" target="_blank"&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;release notes&lt;/font&gt;&lt;/a&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;, the new equivalent for this is Token Provider.  So here below is a sample implementation code which uses Token Provider and TransportClientEndPointBehaviour namespaces.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Uri serviceUri = ServiceBusEnvironment.CreateServiceUri("sb", serviceNamespace, "SERVICE NAME”); &lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;// create the credentials object for the endpoint &lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;TransportClientEndpointBehavior sharedSecretServiceBusCredential = new TransportClientEndpointBehavior(); &lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;TokenProvider tokenProvider = tokenProvider.CreateSharedSecretTokenProvider(issuerName, issuerSecret); &lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;sharedSecretServiceBusCredential.TokenProvider = tokenProvider; &lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;// create the channel factory loading the configuration &lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;ChannelFactory&amp;lt;IDirectoryService&amp;gt; channelFactory = new ChannelFactory&amp;lt;IDirectoryService&amp;gt;("DirectoryEndpoint", new EndpointAddress(serviceUri)); &lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;channelFactory.Endpoint.Behaviors.Add(sharedSecretServiceBusCredential); &lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Cheers!!!&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/148304.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2012/01/10/microsoft.servicebus.transportclientcredentialtype-is-obsolete.aspx</guid>
            <pubDate>Tue, 10 Jan 2012 17:21:09 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/148304.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2012/01/10/microsoft.servicebus.transportclientcredentialtype-is-obsolete.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/148304.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/148304.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows Azure Service Bus November 2011 Release</title>
            <category>Windows Azure</category>
            <link>http://geekswithblogs.net/ranganh/archive/2012/01/10/windows-azure-service-bus-november-2011-release.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2012/01/10/windows-azure-service-bus-november-2011-release.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2012/01/10/windows-azure-service-bus-november-2011-release.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;I have been working on Windows Azure Service Bus for the recently concluded &lt;/font&gt;&lt;a href="http://www.microsoft.com/india/events/cloudcamps" target="_blank"&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Azure Camps&lt;/font&gt;&lt;/a&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Yes, it is no longer referred as “Windows Azure AppFabric Service Bus”.  All the 3 components i.e. Service Bus, Access Control and Caching are hereinafter referred to as simply Windows Azure Service Bus, Caching &amp;amp; Access Control Service, to minimize the complexity in referring to them.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Also, Service Bus and the related releases usually come as an out of bound release and are usually behind in terms of the Windows Azure SDK releases.  The Windows Azure SDK latest release is the 1.6 version and along with, there is also a new version of the Service Bus.  Earlier, the Service Bus assemblies sit inside the C:\Program Files\Windows Azure AppFabric SDK folder.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;With the 1.6 version of the release of SDK, the Service Bus assemblies also sit inside the regular Windows Azure SDK folder.  Therefore, you can find the latest version of Service Bus i.e. Microsoft.ServiceBus sits inside C:\Program Files\Windows Azure SDK\v1.6\ServiceBus\ref folder.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Similarly, the Caching assemblies sit inside C:\Program Files\Windows Azure SDK\v1.6\Cache\ref folder.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;The latest version of ServiceBus is hence 1.6.0.0 and hence if you are installing, you need to make sure you update the assembly version in the config files.  &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Otherwise, you would typically get the wrong assembly referenced error, as follow&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#000080" size="2" face="Tahoma"&gt;&lt;em&gt;Exception type:   System.Configuration.ConfigurationErrorsException&lt;br /&gt;Message:          Configuration binding extension 'system.serviceModel/bindings/netTcpRelayBinding' could not be found. Verify that this binding extension is properly registered in system.serviceModel/extensions/bindingExtensions and that it is spelled correctly.&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Particularly, if you are using the &lt;/font&gt;&lt;a title="http://www.microsoft.com/download/en/details.aspx?id=19925" href="http://www.microsoft.com/download/en/details.aspx?id=19925"&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;http://www.microsoft.com/download/en/details.aspx?id=19925&lt;/font&gt;&lt;/a&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt; &lt;strike&gt;Azure AppFabric&lt;/strike&gt; samples, they reference the older version of the assembly.  And you need to update them. The release notes &lt;/font&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/windowsazure/hh667331.aspx" href="http://msdn.microsoft.com/en-us/library/windowsazure/hh667331.aspx"&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;http://msdn.microsoft.com/en-us/library/windowsazure/hh667331.aspx&lt;/font&gt;&lt;/a&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt; covers pretty much line by line on the binding changes to be included in the config file.&lt;/font&gt;  &lt;/p&gt;&lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;So, now, whether you develop for Windows Azure Hosted Services, Storage Services or Windows Azure Service Bus you need to install, just one SDK and all of them reside under the C:\Program Files\Windows Azure\SDK folder.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;In my subsequent post, I want to cover a specific deprecated assembly, its implementation and the new equivalent.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="2" face="Tahoma"&gt;Cheers !!!&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/ranganh/aggbug/148301.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2012/01/10/windows-azure-service-bus-november-2011-release.aspx</guid>
            <pubDate>Tue, 10 Jan 2012 15:34:47 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/148301.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2012/01/10/windows-azure-service-bus-november-2011-release.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/148301.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/148301.aspx</trackback:ping>
        </item>
        <item>
            <title>A day in the life of a Developer Evangelist!</title>
            <category>Video</category>
            <link>http://geekswithblogs.net/ranganh/archive/2011/12/21/a-day-in-the-life-of-a-developer-evangelist.aspx</link>
            <description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ranganh/archive/2011/12/21/a-day-in-the-life-of-a-developer-evangelist.aspx'&gt;http://geekswithblogs.net/ranganh/archive/2011/12/21/a-day-in-the-life-of-a-developer-evangelist.aspx&lt;/a&gt;&lt;/p&gt;		&lt;p&gt;
				&lt;iframe height="315" src="http://www.youtube.com/embed/uB68HvavjiI" frameborder="0" width="560" allowfullscreen=""&gt;
				&lt;/iframe&gt;
		&lt;/p&gt;
		&lt;p&gt;
				&lt;font color="#ff0000" size="2" face="Tahoma"&gt;The opinions mentioned herein are solely mine and do not reflect those of my employer in any way...&lt;/font&gt;
		&lt;/p&gt;
 &lt;img src="http://geekswithblogs.net/ranganh/aggbug/148095.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Harish Ranganathan</dc:creator>
            <guid>http://geekswithblogs.net/ranganh/archive/2011/12/21/a-day-in-the-life-of-a-developer-evangelist.aspx</guid>
            <pubDate>Tue, 20 Dec 2011 19:43:30 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/ranganh/comments/148095.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/ranganh/archive/2011/12/21/a-day-in-the-life-of-a-developer-evangelist.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/ranganh/comments/commentRss/148095.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/ranganh/services/trackbacks/148095.aspx</trackback:ping>
        </item>
    </channel>
</rss>