<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">ScottGu's Blog </title><subtitle type="html">Scott Guthrie lives in Seattle and builds a few products for Microsoft</subtitle><id>http://weblogs.asp.net/scottgu/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/scottgu/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2011-11-27T20:58:52Z</updated><entry><title>Great Free Course on Building ASP.NET MVC Apps With EF Code First, HTML5 and jQuery</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2012/04/19/great-free-course-on-building-asp-net-mvc-apps-with-ef-code-first-html5-and-jquery.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2012/04/19/great-free-course-on-building-asp-net-mvc-apps-with-ef-code-first-html5-and-jquery.aspx</id><published>2012-04-20T05:55:25Z</published><updated>2012-04-20T05:55:25Z</updated><content type="html">&lt;p&gt;Pluralsight has developed a great training course on &lt;a href="http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=web-development" target="_blank"&gt;Building ASP.NET MVC Apps with EF Code First, HTML5 and jQuery&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/dwahlin/image_29206519.png" /&gt;&lt;/p&gt;  &lt;p&gt;It is presented by the most excellent &lt;a href="http://weblogs.asp.net/dwahlin/archive/2012/04/19/free-1-month-subscription-to-the-asp-net-mvc-with-ef-code-first-html5-and-jquery-course.aspx" target="_blank"&gt;Dan Wahlin&lt;/a&gt;, and is really comprehensive.&amp;#160; Details of the course outline can be found &lt;a href="http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=web-development" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Free 1-Month Subscription to the Course&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;Pluralsight is offering a special promotion that allows you to get a free 1-month subscription to watch the above course as many time as you want at no cost.&amp;#160; There is no obligation to buy anything at the end of the offer and you don’t need to supply a credit card in order to take part in it.&lt;/p&gt;  &lt;p&gt;To get access to the course you simply follow &lt;a href="http://twitter.com/pluralsight" target="_blank"&gt;@pluralsight&lt;/a&gt; on Twitter and then &lt;a href="http://bit.ly/JkjzIh" target="_blank"&gt;visit this page&lt;/a&gt; and enter your Twitter name using the form on it.&amp;#160; Pluralsight will then send you a private twitter message containing the access code that you can use to subscribe to the course.&amp;#160; Once you are subscribed to the course you have one month to watch the course (and you can watch it as many times as you want during the month).&amp;#160; &lt;/p&gt;  &lt;p&gt;Pluralsight is running the promotion through April 27th – so &lt;a href="http://bit.ly/JkjzIh" target="_blank"&gt;sign-up now&lt;/a&gt; to get access.&amp;#160; Once you are signed up you then have a month to watch the course.&lt;/p&gt;  &lt;p&gt;Hope this helps,&lt;/p&gt;  &lt;p&gt;Scott&lt;/p&gt;  &lt;p&gt;&lt;em&gt;P.S. And if you are new to Twitter you can also optionally follow me: &lt;/em&gt;&lt;a href="http://www.twitter.com/scottgu" target="_blank"&gt;@scottgu&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8398238" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/default.aspx" /><category term="Community News" scheme="http://weblogs.asp.net/scottgu/archive/tags/Community+News/default.aspx" /><category term="MVC" scheme="http://weblogs.asp.net/scottgu/archive/tags/MVC/default.aspx" /></entry><entry><title>Announcing Windows Azure Media Services</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2012/04/16/announcing-windows-azure-media-services.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2012/04/16/announcing-windows-azure-media-services.aspx</id><published>2012-04-16T14:26:09Z</published><updated>2012-04-16T14:26:09Z</updated><content type="html">&lt;p&gt;I'm excited to share news about a great new cloud capability we are announcing today - Windows Azure Media Services.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Windows Azure Media Services&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;Windows Azure Media Services is a cloud-based PaaS solution that enables you to efficiently build and deliver media solutions to customers. It offers a bunch of ready-to-use services that enable the fast ingestion, encoding, format-conversion, storage, content protection, and streaming (both live and on-demand) of video. It also integrates and exposes services provided by industry leading partners – enabling an incredibly deep media stack of functionality that you can leverage.&lt;/p&gt;  &lt;p&gt;You can use Windows Azure Media Services to deliver solutions to any device or client - including HTML5, Silverlight, Flash, Windows 8, iPads, iPhones, Android, Xbox, and Windows Phone devices.&amp;#160; Windows Azure Media Services supports a wide variety of streaming formats - including Smooth Streaming, HTTP Live Streaming (HLS), and Flash Media Streaming. &lt;/p&gt;  &lt;p&gt;One of the unique aspects of Windows Azure Media Services is that all of its features are exposed using a consistent HTTP REST API. This is true both for the media services we've built, as well as the partner delivered media services that are enabled through it.&amp;#160; This makes it incredibly easy to automate media workflows and integrate the combined set of services within your applications and media solutions. Like the rest of Windows Azure, you only pay for what you use with Windows Azure Media Services – making it a very cost effective way to deliver great solutions.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/MediaServicesArch_4B999EC9.png"&gt;&lt;img title="MediaServicesArch" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="MediaServicesArch" src="http://weblogs.asp.net/blogs/scottgu/MediaServicesArch_thumb_14BF4A83.png" width="604" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Windows Azure Media Services uses the same award-winning media backend that has been used to power some of the largest live sporting events ever broadcast on the web - including the 2010 Winter Olympics, 2010 FIFA World Cup, 2011 Wimbledon Championships, and 2012 NFL SuperBowl. Using Windows Azure Media Services you'll now be able to quickly standup and automate media cloud solutions of your own that are capable of delivering amazing solutions to an equal sized audience.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Learn More&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;We are introducing Windows Azure Media Services at the &lt;a href="http://www.nabshow.com/2012/default.asp" target="_blank"&gt;2012 National Association of Broadcasters (NAB) Show&lt;/a&gt; this week, and attendees can stop by the Microsoft booth there to meet the team and see live demonstrations of it in action.&lt;/p&gt;  &lt;p&gt;You can also visit &lt;a href="http://www.windowsazure.com/media" target="_blank"&gt;windowsazure.com/media&lt;/a&gt; to learn more about the specific features it supports, and visit the &lt;a href="http://www.windowsazure.com/en-us/develop/net/other-resources/windows-azure-media-services-preview-for-developers/" target="_blank"&gt;windowsazure.com media dev center&lt;/a&gt; to learn more about how to develop against it. You can sign-up to try out the preview of Windows Azure Media Services by sending email to &lt;a href="mailto:mediaservices@microsoft.com"&gt;mediaservices@microsoft.com&lt;/a&gt; (along with details of the scenario you'd like to use it for).&lt;/p&gt;  &lt;p&gt;We are really excited about the capabilities Windows Azure Media Services provides, and are looking forward to watching the solutions that will soon be built on it.&lt;/p&gt;  &lt;p&gt;Thanks,&lt;/p&gt;  &lt;p&gt;Scott&lt;/p&gt;  &lt;p&gt;&lt;em&gt;P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at: &lt;/em&gt;&lt;a href="http://www.twitter.com/scottgu" target="_blank"&gt;twitter.com/scottgu&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8393002" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="Community News" scheme="http://weblogs.asp.net/scottgu/archive/tags/Community+News/default.aspx" /><category term="Azure" scheme="http://weblogs.asp.net/scottgu/archive/tags/Azure/default.aspx" /></entry><entry><title>April 14th Links: ASP.NET, ASP.NET MVC, ASP.NET Web API and Visual Studio</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2012/04/14/april-14th-links-asp-net-asp-net-mvc-net-and-nuget.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2012/04/14/april-14th-links-asp-net-asp-net-mvc-net-and-nuget.aspx</id><published>2012-04-15T02:19:14Z</published><updated>2012-04-15T02:19:14Z</updated><content type="html">&lt;p&gt;Here is the latest in my link-listing blog series:&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;ASP.NET&lt;/u&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.hanselman.com/blog/FeaturesNOONENOTICEDInVisualStudio11ExpressBetaForWeb.aspx"&gt;Easily overlooked features in VS 11 Express for Web&lt;/a&gt;: Good post by Scott Hanselman that highlights a bunch of easily overlooked improvements that are coming to VS 11 (and specifically the free express editions) for web development: unit testing, browser chooser/launcher, IIS Express, CSS Color Picker, Image Preview in Solution Explorer and more.&lt;/p&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.asp.net/web-forms/tutorials/aspnet-45/getting-started-with-aspnet-45-web-forms/introduction-and-overview"&gt;Get Started with ASP.NET 4.5 Web Forms&lt;/a&gt;: Good 5-part tutorial that walks-through building an application using ASP.NET Web Forms and highlights some of the nice improvements coming with ASP.NET 4.5.&lt;/p&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://vibrantcode.com/blog/2012/4/10/whats-new-in-razor-v2.html"&gt;What is New in Razor V2&lt;/a&gt; and &lt;a href="http://vibrantcode.com/blog/2012/4/13/what-else-is-new-in-razor-v2.html"&gt;What Else is New in Razor V2&lt;/a&gt;: Great posts by Andrew Nurse, a dev on the ASP.NET team, about some of the new improvements coming with ASP.NET Razor v2.&lt;/p&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.davidhayden.me/blog/asp.net-mvc-4-allowanonymous-attribute-and-authorize-attribute"&gt;ASP.NET MVC 4 AllowAnonymous Attribute&lt;/a&gt;: Nice post from David Hayden that talks about the new [AllowAnonymous] filter introduced with ASP.NET MVC 4.&lt;/p&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://stephenwalther.com/blog/archive/2012/03/05/introduction-to-the-asp-net-web-api.aspx"&gt;Introduction to the ASP.NET Web API:&lt;/a&gt; Great tutorial by Stephen Walher that covers how to use the new ASP.NET Web API support built-into ASP.NET 4.5 and ASP.NET MVC 4.&lt;/p&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.tugberkugurlu.com/archive/getting-started-with-asp-net-web-api-tutorials-videos-samples"&gt;Comprehensive List of ASP.NET Web API Tutorials and Articles:&lt;/a&gt; Tugberk Ugurlu links to a huge collection of articles, tutorials, and samples about the new ASP.NET Web API capability.&lt;/p&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/henrikn/archive/2012/03/03/async-mashups-using-asp-net-web-api.aspx"&gt;Async Mashups using ASP.NET Web API:&lt;/a&gt; Nice post by Henrik on how you can use the new async language support coming with .NET 4.5 to easily and efficiently make asynchronous network requests that do not block threads within ASP.NET.&lt;/p&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;u&gt;ASP.NET and Front-End Web Development&lt;/u&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.hanselman.com/blog/VisualStudio11ExpressForWebForFrontEndDevelopmentJavaScriptHTML5CSS3.aspx"&gt;Visual Studio 11 and Front End Web Development - JavaScript/HTML5/CSS3&lt;/a&gt;: Nice post by Scott Hanselman that highlights some of the great improvements coming with VS 11 (including the free express edition) for front-end web development.&lt;/p&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.strathweb.com/2012/04/html5-drag-and-drop-asynchronous-multi-file-upload-with-asp-net-webapi/"&gt;HTML5 Drag/Drop and Async Multi-file Upload with ASP.NET Web API:&lt;/a&gt; Great post by Filip W. that demonstrates how to implement an async file drag/drop uploader using HTML5 and ASP.NET Web API.&lt;/p&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://rachelappel.com/a-device-emulator-guide-for-cross-platform-development-on-asp.net-and-jquery-mobile-development"&gt;Device Emulator Guide for Mobile Development with ASP.NET&lt;/a&gt;: Good post from Rachel Appel that covers how to use various device emulators with ASP.NET and VS to develop cross platform mobile sites.&lt;/p&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://fixingthesejquery.com/#slide1"&gt;Fixing these jQuery: A Guide to Debugging&lt;/a&gt;: Great presentation by Adam Sontag on debugging with JavaScript and jQuery.  Some really good tips, tricks and gotchas that can save a lot of time.&lt;/p&gt;
&lt;/ul&gt;

&lt;h2&gt;&lt;u&gt;ASP.NET and Open Source&lt;/u&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/henrikn/archive/2012/04/09/getting-started-with-asp-net-web-stack-source-on-codeplex.aspx"&gt;Getting Started with ASP.NET Web Stack Source on CodePlex:&lt;/a&gt; Fantastic post by Henrik (an architect on the ASP.NET team) that provides step by step instructions on how to work with the ASP.NET source code we recently open sourced.&lt;/p&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/henrikn/archive/2012/04/10/using-forks-with-asp-net-web-stack-source-on-codeplex.aspx"&gt;Contributing to ASP.NET Web Stack Source on CodePlex:&lt;/a&gt; Follow-on to the post above (also by Henrik) that walks-through how you can submit a code contribution to the ASP.NET MVC, Web API and Razor projects.&lt;/p&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://pedroreys.com/2012/04/04/webapicontrib/"&gt;Overview of the WebApiContrib project&lt;/a&gt;: Nice post by Pedro Reys on the new open source WebApiContrib project that has been started to deliver cool extensions and libraries for use with ASP.NET Web API.&lt;/p&gt;
&lt;/ul&gt;

&lt;h2&gt;&lt;u&gt;Entity Framework&lt;/u&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/adonet/archive/2012/02/14/sneak-preview-entity-framework-5-0-performance-improvements.aspx"&gt;Entity Framework 5 Performance Improvements&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/data/hh949853"&gt;Performance Considerations for EF5&lt;/a&gt;:  Good articles that describes some of the big performance wins coming with EF5 (which will ship with both .NET 4.5 and ASP.NET MVC 4). Automatic compilation of LINQ queries will yield some significant performance wins (up to 600% faster).&lt;/p&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.davidhayden.me/blog/asp.net-mvc-4-and-entity-framework-database-migrations"&gt;ASP.NET MVC 4 and EF Database Migrations:&lt;/a&gt; Good post by David Hayden that covers the new database migrations support within EF 4.3 which allows you to easily update your database schema during development - without losing any of the data within it.&lt;/p&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;u&gt;Visual Studio&lt;/u&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.peterprovost.org/blog/post/Whats-New-in-Visual-Studio-11-Beta-Unit-Testing.aspx"&gt;What's New in Visual Studio 11 Unit Testing&lt;/a&gt;: Nice post by Peter Provost (from the VS team) that talks about some of the great improvements coming to VS11 for unit testing - including built-in VS tooling support for a broad set of unit test frameworks (including NUnit, XUnit, Jasmine, QUnit and more)&lt;/p&gt;
&lt;/ul&gt;
&lt;p&gt;Hope this helps,&lt;/p&gt;
&lt;p&gt;Scott&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8391154" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/default.aspx" /><category term="Link Listing" scheme="http://weblogs.asp.net/scottgu/archive/tags/Link+Listing/default.aspx" /><category term="MVC" scheme="http://weblogs.asp.net/scottgu/archive/tags/MVC/default.aspx" /><category term="Visual Studio" scheme="http://weblogs.asp.net/scottgu/archive/tags/Visual+Studio/default.aspx" /><category term="Web API" scheme="http://weblogs.asp.net/scottgu/archive/tags/Web+API/default.aspx" /><category term="jQuery" scheme="http://weblogs.asp.net/scottgu/archive/tags/jQuery/default.aspx" /></entry><entry><title>“Unplugged” LIDNUG online talk with me on Monday (April 16th)</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2012/04/14/unplugged-lidnug-online-talk-with-me-on-monday-april-16th.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2012/04/14/unplugged-lidnug-online-talk-with-me-on-monday-april-16th.aspx</id><published>2012-04-14T19:45:00Z</published><updated>2012-04-14T19:45:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;April 16th Update:&amp;nbsp;You can listen to an audio version of the talk&amp;nbsp;I did online &lt;/strong&gt;&lt;a href="http://youtu.be/bOx8PkXK6DE"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This coming Monday (April 16th) I’m doing another &lt;a href="http://lidnug-scottgu11.eventbrite.com/" target="_blank" mce_href="http://lidnug-scottgu11.eventbrite.com/"&gt;online LIDNUG session&lt;/a&gt;.&amp;nbsp; The talk will be from 10am to 11:30am (Pacific Time).&amp;nbsp; I do these talks a few times a year and they tend to be pretty fun.&amp;nbsp; Attendees can ask any questions they want to me, and listen to me answer them live via LiveMeeting.&amp;nbsp; We usually end up having some really good discussions on a wide variety of topics.&amp;nbsp; Any topic or question is fair game.&lt;/p&gt;
  
&lt;p&gt;You can learn more and register to attend the online event for free &lt;a href="http://lidnug-scottgu11.eventbrite.com/" target="_blank" mce_href="http://lidnug-scottgu11.eventbrite.com/"&gt;here&lt;/a&gt;. I’ll update this post with a download link to a recorded audio version of the talk after the event is over.&lt;/p&gt;
  
&lt;p&gt;Hope to get a chance to chat with some of you there!&lt;/p&gt;
  
&lt;p&gt;Scott&lt;/p&gt;
  
&lt;p&gt;&lt;em&gt;P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at: &lt;/em&gt;&lt;a href="http://www.twitter.com/scottgu" mce_href="http://www.twitter.com/scottgu"&gt;twitter.com/scottgu&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8390915" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/default.aspx" /><category term="Community News" scheme="http://weblogs.asp.net/scottgu/archive/tags/Community+News/default.aspx" /><category term="Talks" scheme="http://weblogs.asp.net/scottgu/archive/tags/Talks/default.aspx" /></entry><entry><title>ASP.NET MVC, Web API, Razor and Open Source</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2012/03/27/asp-net-mvc-web-api-razor-and-open-source.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2012/03/27/asp-net-mvc-web-api-razor-and-open-source.aspx</id><published>2012-03-28T00:02:18Z</published><updated>2012-03-28T00:02:18Z</updated><content type="html">&lt;p&gt;Microsoft has made the source code of ASP.NET MVC available under an open source license since the first V1 release. We’ve also integrated a number of great open source technologies into the product, and now ship jQuery, jQuery UI, jQuery Mobile, jQuery Validation, Modernizr.js, NuGet, Knockout.js and JSON.NET as part of it.&lt;/p&gt;  &lt;p&gt;I’m very excited to announce today that we will also release the source code for ASP.NET Web API and ASP.NET Web Pages (aka Razor) under an open source license (Apache 2.0), and that we will increase the development transparency of all three projects by hosting their code repositories on CodePlex (using the new &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/03/22/the-future-of-codeplex-is-bright.aspx" target="_blank"&gt;Git support announced last week&lt;/a&gt;). Doing so will enable a more open development model where everyone in the community will be able to engage and provide feedback on code checkins, bug-fixes, new feature development, and build and test the products on a daily basis using the most up-to-date version of the source code and tests.&lt;/p&gt;  &lt;p&gt;We will also for the first time allow developers outside of Microsoft to submit patches and code contributions that the Microsoft development team will review for potential inclusion in the products. We announced a similar open development approach with the Windows Azure SDK last December, and have found it to be a great way to build an even tighter feedback loop with developers – and ultimately deliver even better products as a result.&lt;/p&gt;  &lt;p&gt;Very importantly - ASP.NET MVC, Web API and Razor will continue to be fully supported Microsoft products that ship both standalone as well as part of Visual Studio (the same as they do today). They will also continue to be staffed by the same Microsoft developers that build them today (in fact, we have more Microsoft developers working on the ASP.NET team now than ever before). Our goal with today’s announcement is to increase the feedback loop on the products even more, and allow us to deliver even better products.&amp;#160; We are really excited about the improvements this will bring.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Learn More&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;You can now browse, sync and build the source tree of ASP.NET MVC, Web API, and Razor on the &lt;a href="http://aspnetwebstack.codeplex.com" target="_blank"&gt;http://aspnetwebstack.codeplex.com&lt;/a&gt; web-site.&amp;#160; &lt;/p&gt;  &lt;p&gt;The Git repository on the site is the live RC milestone development tree that the team has been working on the last several weeks, and the tree contains both the runtime sources + tests, and is buildable and testable by anyone.&amp;#160; Because the binaries produced are bin-deployable, this allows you to compile your own builds and try product updates out as soon as they are checked-in.&lt;/p&gt;  &lt;p&gt;You can also now contribute directly to the development of the products by reviewing and sending feedback on code checkins, submitting bugs and helping us verify fixes as they are checked in, suggesting and giving feedback on new features as they are implemented, as well as by submitting code fixes or code contributions of your own. Note that all code submissions will be rigorously reviewed and tested by the ASP.NET MVC Team, and only those that meet an extremely high bar for both quality and design/roadmap appropriateness will be merged into the source.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Summary&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;All of us on the team are really excited about today’s announcement – it has been something we’ve been working toward for many years.&amp;#160; The tighter feedback loop is going to enable us to build even better products, and take ASP.NET to the next level in terms of innovation and customer focus.&lt;/p&gt;  &lt;p&gt;Thanks,&lt;/p&gt;  &lt;p&gt;Scott&lt;/p&gt;  &lt;p&gt;&lt;em&gt;P.S.&lt;/em&gt; &lt;em&gt;In addition to blogging, I use Twitter to-do quick posts and share links. My Twitter handle is: &lt;a href="http://twitter.com/scottgu"&gt;@scottgu&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8366798" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/default.aspx" /><category term="Community News" scheme="http://weblogs.asp.net/scottgu/archive/tags/Community+News/default.aspx" /><category term="MVC" scheme="http://weblogs.asp.net/scottgu/archive/tags/MVC/default.aspx" /></entry><entry><title>ASP.NET Web API (Part 1)</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2012/02/23/asp-net-web-api-part-1.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2012/02/23/asp-net-web-api-part-1.aspx</id><published>2012-02-24T06:06:37Z</published><updated>2012-02-24T06:06:37Z</updated><content type="html">&lt;p&gt;Earlier this week &lt;a href="http://weblogs.asp.net/scottgu/archive/2012/02/19/asp-net-mvc-4-beta.aspx" target="_blank"&gt;I blogged&lt;/a&gt; about the release of the &lt;a href="http://weblogs.asp.net/scottgu/archive/2012/02/19/asp-net-mvc-4-beta.aspx" target="_blank"&gt;ASP.NET MVC 4 Beta&lt;/a&gt;.&amp;#160; ASP.NET MVC 4 is a significant update that brings with it a bunch of great new features and capabilities.&amp;#160; One of the improvements I’m most excited about is the support it brings for creating “Web APIs”.&amp;#160; Today’s blog post is the first of several I’m going to do that talk about this new functionality.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Web APIs&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;The last few years have seen the rise of Web APIs - services exposed over plain HTTP rather than through a more formal service contract (like SOAP or WS*).&amp;#160; Exposing services this way can make it easier to integrate functionality with a broad variety of device and client platforms, as well as create richer HTML experiences using JavaScript from within the browser.&amp;#160; Most large sites on the web now expose Web APIs (some examples: Facebook, Twitter, LinkedIn, Netflix, etc), and the usage of them is going to accelerate even more in the years ahead as connected devices proliferate and users demand richer user experiences.&lt;/p&gt;  &lt;p&gt;Our new ASP.NET Web API support enables you to easily create powerful Web APIs that can be accessed from a broad range of clients (ranging from browsers using JavaScript, to native apps on any mobile/client platform).&amp;#160; It provides the following support:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Modern HTTP programming model: &lt;/b&gt;Directly access and manipulate HTTP requests and responses in your Web APIs using a clean, strongly typed HTTP object model.&amp;#160; In addition to supporting this HTTP programming model on the server, we also support the same programming model on the client with the new HttpClient API that can be used to call Web APIs from any .NET application. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Content negotiation&lt;/b&gt;: Web API has built-in support for content negotiation – which enables the client and server to work together to determine the right format for data being returned from an API.&amp;#160; We provide default support for JSON, XML and Form URL-encoded formats, and you can extend this support by adding your own formatters, or even replace the default content negotiation strategy with one of your own. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Query composition&lt;/b&gt;: Web API enables you to easily support querying via the OData URL conventions.&amp;#160; When you return a type of IQueryable&amp;lt;T&amp;gt; from your Web API, the framework will automatically provide OData query support over it – making it easy to implement paging and sorting. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Model binding and validation&lt;/b&gt;: Model binders provide an easy way to extract data from various parts of an HTTP request and convert those message parts into .NET objects which can be used by Web API actions.&amp;#160; Web API supports the same model binding and validation infrastructure that ASP.NET MVC supports today. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Routes&lt;/b&gt;: Web APIs support the full set of routing capabilities supported within ASP.NET MVC and ASP.NET today, including route parameters and constraints. Web API also provides smart conventions by default, enabling you to easily create classes that implement Web APIs without having to apply attributes to your classes or methods.&amp;#160; Web API configuration is accomplished solely through code – leaving your config files clean. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Filters&lt;/b&gt;: Web APIs enables you to easily use and create filters (for example: [authorization]) that enable you to encapsulate and apply cross-cutting behavior. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Improved testability&lt;/b&gt;: Rather than setting HTTP details in static context objects, Web API actions can now work with instances of HttpRequestMessage and HttpResponseMessage – two new HTTP objects that (among other things) make testing much easier. As an example, you can unit test your Web APIs without having to use a Mocking framework. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;IoC Support&lt;/b&gt;: Web API supports the service locator pattern implemented by ASP.NET MVC, which enables you to resolve dependencies for many different facilities.&amp;#160; You can easily integrate this with an IoC container or dependency injection framework to enable clean resolution of dependencies. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Flexible Hosting&lt;/b&gt;: Web APIs can be hosted within any type of ASP.NET application (including both ASP.NET MVC &lt;em&gt;and&lt;/em&gt; ASP.NET Web Forms based applications).&amp;#160; We’ve also designed the Web API support so that you can also optionally host/expose them within your own process if you don’t want to use ASP.NET/IIS to do so.&amp;#160; This gives you maximum flexibility in how and where you use it. &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;&lt;u&gt;Learning More&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;Visit &lt;a title="http://www.asp.net/web-api" href="http://www.asp.net/web-api" target="_blank"&gt;www.asp.net/web-api&lt;/a&gt; to find tutorials on how to use ASP.NET Web API.&amp;#160; You can also watch me talk about and demo ASP.NET Web API in the &lt;a href="http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2364" target="_blank"&gt;video of my ASP.NET MVC 4 Talk&lt;/a&gt; (I cover it 36 minutes into the talk).&amp;#160; &lt;/p&gt;  &lt;p&gt;In my next blog post I’ll walk-through how to create a new Web API, the basics of how it works, and how you can programmatically invoke it from a client.&lt;/p&gt;  &lt;p&gt;Hope this helps,&lt;/p&gt;  &lt;p&gt;Scott&lt;/p&gt;  &lt;p&gt;&lt;em&gt;P.S.&lt;/em&gt; &lt;em&gt;In addition to blogging, I use Twitter to-do quick posts and share links. My Twitter handle is: &lt;a href="http://twitter.com/scottgu"&gt;@scottgu&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8310281" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/default.aspx" /><category term="MVC" scheme="http://weblogs.asp.net/scottgu/archive/tags/MVC/default.aspx" /><category term="Web API" scheme="http://weblogs.asp.net/scottgu/archive/tags/Web+API/default.aspx" /></entry><entry><title>ASP.NET MVC 4 Beta</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2012/02/19/asp-net-mvc-4-beta.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2012/02/19/asp-net-mvc-4-beta.aspx</id><published>2012-02-20T02:00:21Z</published><updated>2012-02-20T02:00:21Z</updated><content type="html">&lt;p&gt;A few days ago we released the &lt;a href="http://www.asp.net/mvc/mvc4" target="_blank"&gt;ASP.NET MVC 4 Beta&lt;/a&gt;.&amp;#160; This is a significant release that brings with it a bunch of great new features and capabilities.&amp;#160; &lt;/p&gt;  &lt;p&gt;The ASP.NET MVC 4 Beta release works with VS 2010 and .NET 4.0, and is side-by-side compatible with prior releases of ASP.NET MVC (meaning you can safely install it and not worry about it impacting your existing apps built with earlier releases).&amp;#160; It supports a “go-live” license that allows you to build and deploy production apps with it.&amp;#160; &lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=28942" target="_blank"&gt;Click here&lt;/a&gt; to download and install it today.&lt;/p&gt;  &lt;p&gt;The ASP.NET MVC 4 Beta will also be built-into the upcoming VS11 / .NET 4.5 beta that is coming out shortly.&amp;#160; This week’s beta doesn’t work with the previous VS11 developer preview that shipped last September – if you are using the VS11 Developer Preview (or have it installed) you’ll want to wait until the VS 11 beta is released before trying out the new ASP.NET MVC 4 Beta functionality.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;ASP.NET MVC 4 Features&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;The ASP.NET MVC 4 Beta includes a bunch of great new features and capabilities.&amp;#160; Some of the highlights include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Bundling and Minification &lt;/strong&gt;– ASP.NET MVC 4 includes the new &lt;a href="http://weblogs.asp.net/scottgu/archive/2011/11/27/new-bundling-and-minification-support-asp-net-4-5-series.aspx" target="_blank"&gt;bundling and minification support&lt;/a&gt; we are also adding to ASP.NET 4.5.&amp;#160; These features enable you to build web applications that load faster and feel more responsive to users, by minimizing the number and size of HTTP requests that your pages make.&amp;#160; Included with the MVC 4 beta are new “cache busting” helper methods that enable easy proxy caching of bundled files (with automatic invalidation if you change the cached CSS or JavaScript).&amp;#160; You can learn more about bundling and minification from &lt;a href="http://weblogs.asp.net/scottgu/archive/2011/11/27/new-bundling-and-minification-support-asp-net-4-5-series.aspx" target="_blank"&gt;my previous blog post&lt;/a&gt; about it. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Database Migrations &lt;/strong&gt;– ASP.NET MVC 4 includes the new Entity Framework 4.3 release, which includes a &lt;a href="http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-released.aspx" target="_blank"&gt;bunch of great new features&lt;/a&gt;.&amp;#160; One of the most eagerly anticipated features it provides is database migration support.&amp;#160; This enables you to easily evolve your database schema using a code focused migration approach – and do so while preserving the data within your database.&amp;#160; I’ll blog more about this in the future - you can also see a &lt;a href="http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx" target="_blank"&gt;walkthrough of database migrations in this tutorial&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Web API &lt;/strong&gt;– ASP.NET MVC 4 includes some fantastic new support for creating “Web APIs”.&amp;#160; This enables you to easily create HTTP services and APIs that can be programmatically called from a broad range of clients (ranging from browsers using JavaScript, to native apps on any mobile/client platform).&amp;#160; The new Web API support also provides an ideal platform for building RESTful services.&amp;#160; I’ll be blogging much more about this support soon – it is really cool, and opens up a bunch of new opportunities.&amp;#160; There are &lt;a href="http://www.asp.net/web-api/"&gt;several tutorials, samples and &lt;/a&gt;screencasts&lt;a href="http://www.asp.net/web-api/"&gt; covering ASP.NET&lt;/a&gt;&lt;a href="http://www.asp.net/web-api/"&gt; Web API&lt;/a&gt; on the ASP.NET site to help you get started.&lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Mobile Web &lt;/strong&gt;– ASP.NET MVC 4 includes new support for building mobile web applications and mobile web sites, and makes it much easier to build experiences that are optimized for phone and tablet experiences. It includes jQuery Mobile, and includes new support for customizing which view templates are used depending upon what type of device is accessing the app.&amp;#160; See the &lt;a href="http://www.asp.net/mvc/tutorials/aspnet-mvc-4-mobile-features"&gt;ASP.NET MVC 4 tutorial series&lt;/a&gt;.&lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Razor Enhancements&lt;/strong&gt; – ASP.NET MVC 4 includes V2 of our Razor View engine.&amp;#160; Razor V2 includes a bunch of juicy enhancements that enable you to make your view templates even cleaner and more concise – including better support for resolving URL references and selectively rendering HTML attributes. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Async Support and WebSockets&lt;/strong&gt; – You’ll be able to take advantage of some additional language and runtime capabilities when using ASP.NET MVC 4 with .NET 4.5 and VS 11.&amp;#160; Async support is one of the big ones, and the ASP.NET MVC runtime support for this combined with the new C#/VB async language enhancements (which are super elegant and clean) is going to enable you to write incredibly scalable applications.&amp;#160; You will also be able to take advantage of the new WebSocket support built-into .NET 4.5 to build applications with even richer browser/server communication. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’ll be blogging a lot more about the above features in the weeks and months ahead.&amp;#160; This is going to be an exciting release. There is a lot there that will both make you more productive (Bundling/Minification, Database Migrations, Razor V2) as well as enable you to build even richer web applications and experiences (Web API, Mobile Web, WebSockets).&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Learning More About ASP.NET MVC 4&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;I gave a tech-talk about the new &lt;a href="http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2364" target="_blank"&gt;ASP.NET MVC 4 Beta&lt;/a&gt; at the Belgium and Dutch TechReady events last week.&amp;#160; It provides a good overview that you can use to quickly come up to speed on the release.&lt;/p&gt;  &lt;p&gt;You can &lt;a href="http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2364" target="_blank"&gt;watch or download a video of the talk&lt;/a&gt; for free via &lt;a href="http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2364" target="_blank"&gt;Channel9&lt;/a&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2364" target="_blank"&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://weblogs.asp.net/blogs/scottgu/image_704728F7.png" width="724" height="372" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can also &lt;a href="http://scottgu.blob.core.windows.net/files/ASP.NET_MVC_4.pptx" target="_blank"&gt;download my slides&lt;/a&gt; (feel free to re-use them however you want).&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Summary&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;I’m really excited about the upcoming ASP.NET releases we have coming out this year.&amp;#160; &lt;a href="http://weblogs.asp.net/scottgu/archive/2011/08/31/asp-net-vnext-series.aspx" target="_blank"&gt;ASP.NET 4.5&lt;/a&gt; and ASP.NET MVC 4 are going to deliver a ton of new capabilities and enhancements, and the tooling updates we have coming with VS 11 and WebMatrix make the developer experience awesome.&lt;/p&gt;  &lt;p&gt;I’ll be blogging a lot more about them in the weeks and months ahead.&lt;/p&gt;  &lt;p&gt;Hope this helps,&lt;/p&gt;  &lt;p&gt;Scott&lt;/p&gt;  &lt;p&gt;&lt;em&gt;P.S.&lt;/em&gt; &lt;em&gt;In addition to blogging, I use Twitter to-do quick posts and share links. My Twitter handle is: &lt;a href="http://twitter.com/scottgu"&gt;@scottgu&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8300761" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/default.aspx" /><category term="Community News" scheme="http://weblogs.asp.net/scottgu/archive/tags/Community+News/default.aspx" /><category term="MVC" scheme="http://weblogs.asp.net/scottgu/archive/tags/MVC/default.aspx" /></entry><entry><title>TechDays in Belgium and Netherlands</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2012/01/29/techdays-in-belgium-and-netherlands.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2012/01/29/techdays-in-belgium-and-netherlands.aspx</id><published>2012-01-30T05:30:47Z</published><updated>2012-01-30T05:30:47Z</updated><content type="html">&lt;p&gt;I’ll be presenting at the upcoming &lt;a href="http://www.microsoft.com/belux/techdays/2012/Home.aspx" target="_blank"&gt;Belgium&lt;/a&gt; and &lt;a href="http://www.techdays.nl/" target="_blank"&gt;Dutch&lt;/a&gt; TechDays next month.&amp;#160; I’ll be doing three tech talks at each of the events:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Overview of Windows Azure&lt;/li&gt;    &lt;li&gt;A look at ASP.NET MVC 4&lt;/li&gt;    &lt;li&gt;ScottGu Unplugged&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’m particularly excited about the “A look at ASP.NET MVC 4” talk as it will be the first time I’ve presented on it (and it is shaping up to a really great release – more blog posts on that soon). &lt;/p&gt;  &lt;p&gt;For more details on how to attend the event visit the &lt;a href="http://www.microsoft.com/belux/techdays/2012/Sessions.aspx" target="_blank"&gt;Belgium Techdays&lt;/a&gt; and &lt;a href="http://www.techdays.nl/AgendaOverzicht.aspx?agenda=DevelopersDay1" target="_blank"&gt;Dutch Techdays&lt;/a&gt; websites.&amp;#160; &lt;/p&gt;  &lt;p&gt;Hope to see some of you at the conferences! &lt;/p&gt;  &lt;p&gt;Scott&lt;/p&gt;  &lt;p&gt;&lt;em&gt;P.S.&lt;/em&gt; &lt;em&gt;In addition to blogging, I use Twitter to-do quick posts and share links. My Twitter handle is: &lt;a href="http://twitter.com/scottgu" target="_blank"&gt;@scottgu&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8271781" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/default.aspx" /><category term="Community News" scheme="http://weblogs.asp.net/scottgu/archive/tags/Community+News/default.aspx" /><category term="Talks" scheme="http://weblogs.asp.net/scottgu/archive/tags/Talks/default.aspx" /><category term="Azure" scheme="http://weblogs.asp.net/scottgu/archive/tags/Azure/default.aspx" /></entry><entry><title>Getting Started with Windows Azure</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2012/01/19/getting-started-with-windows-azure.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2012/01/19/getting-started-with-windows-azure.aspx</id><published>2012-01-20T02:24:32Z</published><updated>2012-01-20T02:24:32Z</updated><content type="html">&lt;p&gt;This is the second in a &lt;a href="http://weblogs.asp.net/scottgu/archive/2012/01/15/windows-azure.aspx" target="_blank"&gt;series of posts&lt;/a&gt; I’m doing on Windows Azure – which is Microsoft’s Cloud Computing Platform.&lt;/p&gt;  &lt;p&gt;In today’s post I’m going to cover how to sign-up and get started with Windows Azure using a no-obligation 3 month free trial offer.&amp;#160; This free trial costs nothing and doesn’t obligate you to buy anything at the end of it.&amp;#160; It provides an easy way to try out and get started with Windows Azure.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Windows Azure Website&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;The &lt;a href="http://www.windowsazure.com" target="_blank"&gt;http://www.windowsazure.com&lt;/a&gt; web-site provides everything you need to get started with Windows Azure – including overview content, developer tutorials and documentation, account management, and more:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.windowsazure.com/en-us/" target="_blank"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_70B28FD1.png" width="750" height="600" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;   &lt;h2&gt;&lt;u&gt;&lt;/u&gt;&lt;/h2&gt; On the &lt;a href="http://www.windowsazure.com" target="_blank"&gt;www.windowsazure.com&lt;/a&gt; home page, as well as in the top-right hand corner of every page of the site, is a &lt;a href="http://www.windowsazure.com/en-us/pricing/free-trial/" target="_blank"&gt;“free trial” link&lt;/a&gt;.&amp;#160; Clicking it will take you to a &lt;a href="http://www.windowsazure.com/en-us/pricing/free-trial/" target="_blank"&gt;sign-up page&lt;/a&gt; that enables you to quickly register a new account and get started with Windows Azure:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.windowsazure.com/en-us/pricing/free-trial/" target="_blank"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_34C7AFBB.png" width="750" height="467" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The free trial provides everything you need to get started with Windows Azure.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Three Month Free Trial Offer&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;We recently refreshed our Windows Azure free trial offer to make sign-up easier, ensure it is always risk/obligation free, and enable more services with it.&amp;#160; You can click the “Sign up now” button above to register and have an active Windows Azure subscription ready to use in under 2 minutes.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;What the Free Trial Provides&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;The free trial offer allows you to build and run applications on Windows Azure at no cost (and with no obligation to buy or pay anything at the end of the three month free trial).&amp;#160; It includes a number of compute, database and storage services that you can use to build your applications.&amp;#160; Some of the resources include:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/image_657AB766.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_7993D3EF.png" width="645" height="157" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I’ll cover more about what “750 small compute hours per month” means in a future post – but essentially it means that you have enough hours to continually run an application you build in a virtual server – &lt;em&gt;dedicated and isolated just to you&lt;/em&gt; – on Windows Azure each month (there are 744 hours in a 31 day month: 24 hours x 31 days = 744).&amp;#160; &lt;/p&gt;  &lt;p&gt;The trial also includes a 1GB SQL Azure Database that you can store data within.&amp;#160; SQL Azure Databases run on dedicated servers we manage and cluster (for high availability and scale-out).&amp;#160; This means you don’t need to worry about installing, managing, or running your own database servers (which makes life easier).&amp;#160; The trial also includes 20GB of high availability storage that you can use to store blobs, queues and non-relational tables.&amp;#160; &lt;/p&gt;        &lt;p&gt;&lt;strong&gt;&lt;u&gt;What is Required to Sign-up for a Trial&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;When you click the “Sign up Now” button on the free-trial page you’ll walk-through a sign-up wizard that will ask you to provide three things:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The Windows LiveID account you want to use to use to sign-in and manage your account&lt;/li&gt;    &lt;li&gt;A mobile phone number where we can send (via SMS) a verification code for you to enter&lt;/li&gt;    &lt;li&gt;A credit card&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We use the last two items for proof of identity.&amp;#160; The credit card is &lt;u&gt;not billed&lt;/u&gt; and during the free trial you’ll have a &lt;a href="https://www.windowsazure.com/en-us/pricing/spending-limits/" target="_blank"&gt;spending limit&lt;/a&gt; set to $0.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Free and No Risk&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://www.windowsazure.com/en-us/pricing/spending-limits/" target="_blank"&gt;Spending limits&lt;/a&gt; are a new feature we added to Windows Azure last month, and ensure that you never have to worry about accidentally going over the resources included in a free offer and being charged.&amp;#160; If you end up building an application that exhausts the monthly amounts included in the free trial before the month ends, and you have a &lt;a href="https://www.windowsazure.com/en-us/pricing/spending-limits/" target="_blank"&gt;spending limit&lt;/a&gt; set to $0, then we will by default disable the application for the remainder of the month (leaving your data in read-only mode) until the next month starts.&amp;#160; This ensures you are never billed anything during the free trial.&lt;/p&gt;  &lt;p&gt;You can optionally turn off the spending limit feature if you want to go beyond what the free trial provides (and pay for the incremental resources on top of what is provided in the trial) – but by default the spending limit is on (and set to $0) when you sign-up for a free trial to ensure that you never inadvertently get charged anything.&amp;#160; This provides a no-risk way to evaluate Windows Azure.&amp;#160; You can learn more about the spending limit feature &lt;a href="https://www.windowsazure.com/en-us/pricing/spending-limits/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Tracking Usage&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You can easily track what resources you’ve used on Windows Azure by clicking the “Account” tab of the &lt;a href="http://www.windowsazure.com" target="_blank"&gt;www.windowsazure.com&lt;/a&gt; web-site.&amp;#160; This is another new feature we added to Windows Azure last month, and it allows customers (both free trial and paid) to easily see what resources they’ve used and how much it is costing them.&amp;#160; You can download the usage data as either a CSV data file (which you can open in Excel or other tools), or visualize the usage data within the browser: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/image_1CE0C895.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_1791E1E4.png" width="750" height="695" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can also use the account tab to easily change payment methods (both to setup a new credit card or to switch to invoice-based billing), create new subscriptions, as well as optionally cancel subscriptions.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;What if you don’t want to use Windows Azure at the end of the trial?&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;There is no obligation to use Windows Azure (nor buy anything) at the end of the three month free trial. So if at the end of it you aren’t ready to buy anything (or just want to hold off a few more months) there is no obligation to pay anything.&amp;#160; At any point during the free trial you can also click the “account” tab of the &lt;a href="http://www.windowsazure.com" target="_blank"&gt;www.windowsazure.com&lt;/a&gt; website and explicitly cancel your subscription.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Summary&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;The above post covers how to quickly sign-up for a subscription with Windows Azure.&amp;#160; Its easy to do – and takes less than 2 minutes to complete.&amp;#160; Once you are signed up you can build and deploy high-scale cloud applications.&amp;#160; In future posts we’ll look at the steps to do this, and some of the cool features and options that Windows Azure enables for you.&lt;/p&gt;  &lt;p&gt;Hope this helps,&lt;/p&gt;  &lt;p&gt;Scott&lt;/p&gt;  &lt;p&gt;&lt;em&gt;P.S.&lt;/em&gt; &lt;em&gt;In addition to blogging, I use Twitter to-do quick posts and share links. My Twitter handle is: &lt;a href="http://twitter.com/scottgu"&gt;@scottgu&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8264461" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="Community News" scheme="http://weblogs.asp.net/scottgu/archive/tags/Community+News/default.aspx" /><category term="Azure" scheme="http://weblogs.asp.net/scottgu/archive/tags/Azure/default.aspx" /></entry><entry><title>Windows Azure</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2012/01/15/windows-azure.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2012/01/15/windows-azure.aspx</id><published>2012-01-16T06:35:57Z</published><updated>2012-01-16T06:35:57Z</updated><content type="html">&lt;p&gt;As some of you might know, I’ve spent much of my time the last 6 months working on &lt;a href="https://www.windowsazure.com/en-us/" target="_blank"&gt;Windows Azure&lt;/a&gt; – which is Microsoft’s Cloud Computing Platform (I also continue to run the teams that build ASP.NET, core pieces of .NET and VS, and a bunch of other products too).&lt;/p&gt;  &lt;p&gt;I’m pretty excited about where we are going with &lt;a href="https://www.windowsazure.com/en-us/" target="_blank"&gt;Windows Azure&lt;/a&gt; – it is going to enable a number of great new scenarios for developers.&amp;#160; Over the next few months I’m going to be blogging a lot more about it – and I’ll cover both what it provides as well as how you can easily take advantage of it as developers.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Learn Windows Azure Talk&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;Before the holidays we held a special “Learn Windows Azure” event.&amp;#160; A &lt;a href="http://channel9.msdn.com/Events/windowsazure/learn/Keynote-Getting-Started-with-Windows-Azure" target="_blank"&gt;recording of the keynote&lt;/a&gt; I gave is now available to &lt;a href="http://channel9.msdn.com/Events/windowsazure/learn/Keynote-Getting-Started-with-Windows-Azure" target="_blank"&gt;watch online&lt;/a&gt;.&amp;#160; It provides a 90 minute end-to-end look at Windows Azure, covers what it is and how it works, and walks-through a bunch of demos + code on how you can program against it.&amp;#160; You can now &lt;a href="http://channel9.msdn.com/Events/windowsazure/learn/Keynote-Getting-Started-with-Windows-Azure" target="_blank"&gt;watch my talk online&lt;/a&gt; and &lt;a href="http://media.ch9.ms/windowsazure/learn/GettingStartedwithWindowsAzure-ScottGuthrie.pptx" target="_blank"&gt;download the slides&lt;/a&gt; and &lt;a href="http://go.microsoft.com/fwlink/?LinkID=130354" target="_blank"&gt;samples&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/Events/windowsazure/learn/Keynote-Getting-Started-with-Windows-Azure" target="_blank"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_40D30DDF.png" width="772" height="392" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Over the new few weeks and months I’ll be blogging more, and will go deeper into Windows Azure and discus both what you can do with it, as well as how to easily get started.&lt;/p&gt;  &lt;p&gt;Hope this helps,&lt;/p&gt;  &lt;p&gt;Scott&lt;/p&gt;  &lt;p&gt;&lt;em&gt;P.S.&lt;/em&gt; &lt;em&gt;In addition to blogging, I use Twitter to-do quick posts and share links. My Twitter handle is: &lt;a href="http://twitter.com/scottgu"&gt;@scottgu&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8257494" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/default.aspx" /><category term="Talks" scheme="http://weblogs.asp.net/scottgu/archive/tags/Talks/default.aspx" /><category term="Azure" scheme="http://weblogs.asp.net/scottgu/archive/tags/Azure/default.aspx" /></entry><entry><title>“Unplugged” LIDNUG online talk with me on Monday (Jan 16th)</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2012/01/11/unplugged-lidnug-online-talk-with-my-on-monday-jan-16th.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2012/01/11/unplugged-lidnug-online-talk-with-my-on-monday-jan-16th.aspx</id><published>2012-01-12T05:08:00Z</published><updated>2012-01-12T05:08:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Jan 16th Update&lt;/font&gt;&lt;/strong&gt;:&amp;nbsp;An &lt;a href="http://www.youtube.com/watch?v=fsPc__gl0R0&amp;amp;feature=youtu.be" target="_blank" mce_href="http://www.youtube.com/watch?v=fsPc__gl0R0&amp;amp;feature=youtu.be"&gt;audio recording&lt;/a&gt; of my talk can be&amp;nbsp;listened to &lt;a href="http://www.youtube.com/watch?v=fsPc__gl0R0&amp;amp;feature=youtu.be" target="_blank" mce_href="http://www.youtube.com/watch?v=fsPc__gl0R0&amp;amp;feature=youtu.be"&gt;here&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;p&gt;This coming Monday (Jan 16th) I’m doing another &lt;a href="http://lidnug-scottgu10.eventbrite.com/" target="_blank" mce_href="http://lidnug-scottgu10.eventbrite.com/"&gt;online LIDNUG session&lt;/a&gt;.&amp;nbsp; The talk will be from 10am to 11:30am (Pacific Time).&amp;nbsp; I do these talks a few times a year and they tend to be pretty fun.&amp;nbsp; Attendees can ask any questions they want to me, and listen to me answer them live via LiveMeeting.&amp;nbsp; We usually end up having some really good discussions on a wide variety of topics.&amp;nbsp; Any topic is fair game: technical, strategy, community, college basketball, etc.&lt;/p&gt;  &lt;p&gt;You can learn more and register to attend the online event for free &lt;a href="http://lidnug-scottgu10.eventbrite.com/" target="_blank" mce_href="http://lidnug-scottgu10.eventbrite.com/"&gt;here&lt;/a&gt;. I’ll update this post with a download link to a recorded audio version of the talk after the event is over.&lt;/p&gt;  &lt;p&gt;Hope to get a chance to chat with some of you there!&lt;/p&gt;  &lt;p&gt;Scott&lt;/p&gt;  &lt;p&gt;&lt;em&gt;P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at: &lt;/em&gt;&lt;a href="http://www.twitter.com/scottgu" mce_href="http://www.twitter.com/scottgu"&gt;twitter.com/scottgu&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8245426" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/default.aspx" /><category term="Community News" scheme="http://weblogs.asp.net/scottgu/archive/tags/Community+News/default.aspx" /><category term="Talks" scheme="http://weblogs.asp.net/scottgu/archive/tags/Talks/default.aspx" /></entry><entry><title>ASP.NET Security Update Shipping Thursday, Dec 29th</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2011/12/28/asp-net-security-update-shipping-thursday-dec-29th.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2011/12/28/asp-net-security-update-shipping-thursday-dec-29th.aspx</id><published>2011-12-29T04:59:54Z</published><updated>2011-12-29T04:59:54Z</updated><content type="html">&lt;p&gt;A few minutes ago Microsoft released an &lt;a href="http://technet.microsoft.com/en-us/security/bulletin/ms11-dec" target="_blank"&gt;advance notification security bulletin&lt;/a&gt; announcing that we are releasing an out-of-band security update to address an &lt;a href="http://technet.microsoft.com/en-us/security/advisory/2659883" target="_blank"&gt;ASP.NET Security Vulnerability&lt;/a&gt;.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Dec 29th Update:&lt;/strong&gt; the security update (MS11-100) has now shipped and is available to install via Windows Update, the Windows Server Update Service and as a download from the Microsoft Download Center.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The security update we are releasing resolves a publicly disclosed Denial of Service issue present in all versions of ASP.NET.&amp;#160; We’re currently unaware of any attacks on ASP.NET customers using this exploit, but we strongly encourage customers to deploy the update as soon as possible.&amp;#160; &lt;/p&gt;  &lt;p&gt;We are releasing the security update via Windows Update and the Windows Server Update Service.&amp;#160; You can also manually download and install it via the Microsoft Download Center.&amp;#160; We will release the update on &lt;strong&gt;Thursday, December 29th at approximately 10am Pacific Time (US and Canada)&lt;/strong&gt;.&amp;#160; We are announcing it ahead of time to ensure that administrators know that the security update is coming, and are prepared to apply it once it is available.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;More about the Security Vulnerability&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;On Dec 28th 2011, details were published at a security conference describing a new method to exploit hash-table data-structures used in web frameworks.&amp;#160; Attacks targeting this type of vulnerability are generically known as “hash collision attacks”.&lt;/p&gt;  &lt;p&gt;Hash collision attacks attempt to populate a hash-table within a server app with large numbers of items whose keys resolve to the same hash code.&amp;#160; These key collisions can significantly slow down operations on the hash-table, and with enough elements can cause a server to spend minutes (or even hours) processing them.&amp;#160; This can block a web server from processing requests from other users, and cause a denial of service (meaning the web site becomes unresponsive or slow).&lt;/p&gt;  &lt;p&gt;Attacks such as these are not specific to any particular language or operating system.&amp;#160; Presenters at the security conference discussed how to cause them using standard HTTP form posts against several different web frameworks (including ASP.NET).&amp;#160; Because these attacks on web frameworks can create Denial of Service issues with relatively few HTTP requests, there is a high likelihood of attacks happening using this approach.&amp;#160; We strongly encourage customers to deploy the update as soon as possible.&lt;/p&gt;  &lt;p&gt;The security update we are releasing on Thursday, December 29th updates ASP.NET so that attackers can no longer perform these attacks.&amp;#160; The security update does not require any code or application changes.&amp;#160; &lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Learn More&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;You can learn more about this security vulnerability from the &lt;a href="http://technet.microsoft.com/en-us/security/advisory/2659883" target="_blank"&gt;Microsoft Security Advisory (2659883)&lt;/a&gt; we have already released.&amp;#160; We will release the security update on Windows Update, the Windows Server Update Service and the Microsoft Download Center on &lt;strong&gt;Thursday Dec 29th at approximately 10:00am Pacific Time (US and Canada)&lt;/strong&gt;.&amp;#160; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Dec 29th Update:&lt;/strong&gt; the security update (MS11-100) has now shipped and is available to install via Windows Update, the Windows Server Update Service and as a download from the Microsoft Download Center.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If you have questions about the vulnerability or have any issues applying the update, you can post questions in the &lt;a href="http://forums.asp.net/1233.aspx/1?Security+Vulnerability" target="_blank"&gt;Security Vulnerability&lt;/a&gt; forum on the &lt;a href="http://forums.asp.net/1233.aspx/1?Security+Vulnerability"&gt;www.asp.net&lt;/a&gt; web-site.&lt;/p&gt;  &lt;p&gt;For all the latest information, you can also follow the MSRC team on Twitter at &lt;a href="http://www.twitter.com/msftsecresponse"&gt;@MSFTSecResponse&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Hope this helps,&lt;/p&gt;  &lt;p&gt;Scott&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8189417" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/default.aspx" /><category term="Community News" scheme="http://weblogs.asp.net/scottgu/archive/tags/Community+News/default.aspx" /><category term="Security" scheme="http://weblogs.asp.net/scottgu/archive/tags/Security/default.aspx" /></entry><entry><title>Learn Windows Azure Next Tuesday (Dec 13th)</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2011/12/07/learn-windows-azure-next-tuesday-dec-13th.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2011/12/07/learn-windows-azure-next-tuesday-dec-13th.aspx</id><published>2011-12-07T22:29:39Z</published><updated>2011-12-07T22:29:39Z</updated><content type="html">&lt;p&gt;As some of you might know, I’ve spent much of my time the last 6 months working on Windows Azure – which is Microsoft’s Cloud Computing Platform (I also continue to work on ASP.NET, .NET, VS and a bunch of other products). &lt;/p&gt;  &lt;p&gt;Next Tuesday, Dec 13th we’ll be holding a special &lt;a href="http://www.learnwindowsazureevent.com/" target="_blank"&gt;Learn Windows Azure&lt;/a&gt; training event for developers.&amp;#160; It will provide a great way to learn Windows Azure and what it provides.&amp;#160; You can attend the event either by watching it streamed LIVE online, or by attending in person (on the Microsoft Redmond Campus).&amp;#160; Both options are completely free.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Learn Window Azure Event&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/top_image_3A11E722.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 0px 4px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="top_image" border="0" alt="top_image" align="right" src="http://weblogs.asp.net/blogs/scottgu/top_image_thumb_198AA770.jpg" width="224" height="187" /&gt;&lt;/a&gt;During the &lt;a href="http://www.learnwindowsazureevent.com/" target="_blank"&gt;Learn Windows Azure&lt;/a&gt; event attendees will learn how to start building great cloud based applications using Windows Azure.&lt;/p&gt;  &lt;p&gt;I’ll be kicking off the day with a 90 minute keynote that will provide an overview of Windows Azure, during which I’ll explain the concepts behind it and the core features and benefits it provides.&amp;#160; I’ll also walkthrough how to build applications for it using .NET, Visual Studio and the Windows Azure SDK (with lots of demos of it in action).&lt;/p&gt;  &lt;p&gt;We’ll then spend the rest of the day drilling into more depth on Cloud Data and Storage, how to use the Visual Studio Windows Azure Tools, how to Build Scalable Cloud Applications, and close off with an Q&amp;amp;A panel with myself, Dave Campbell and Mark Russinovich.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Register Now for Free&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;The free &lt;a href="http://channel9.msdn.com/events/windowsazure/learn" target="_blank"&gt;Learn Windows Azure&lt;/a&gt; event will start at 9am (PST) on Dec 13th.&amp;#160; You’ll be able to watch the entire event live on Channel9 or attend it in person.&amp;#160; Both options are completely free.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.learnwindowsazureevent.com/" target="_blank"&gt;Register&lt;/a&gt; now to watch online or attend the event in person for FREE&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I hope to get a chance to chat with you about Windows Azure there!&lt;/p&gt;  &lt;p&gt;Scott&lt;/p&gt;  &lt;p&gt;&lt;em&gt;P.S.&lt;/em&gt; &lt;em&gt;In addition to blogging, I use Twitter to-do quick posts and share links. My Twitter handle is: &lt;a href="http://twitter.com/scottgu"&gt;@scottgu&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8098776" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/default.aspx" /><category term="Community News" scheme="http://weblogs.asp.net/scottgu/archive/tags/Community+News/default.aspx" /><category term="Talks" scheme="http://weblogs.asp.net/scottgu/archive/tags/Talks/default.aspx" /><category term="Azure" scheme="http://weblogs.asp.net/scottgu/archive/tags/Azure/default.aspx" /></entry><entry><title>New CSS Editor Improvements in Visual Studio (ASP.NET 4.5 Series)</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2011/12/02/new-css-editor-improvements-in-visual-studio-asp-net-4-5-series.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2011/12/02/new-css-editor-improvements-in-visual-studio-asp-net-4-5-series.aspx</id><published>2011-12-02T21:06:43Z</published><updated>2011-12-02T21:06:43Z</updated><content type="html">&lt;p&gt;This is the seventh in a &lt;a href="http://weblogs.asp.net/scottgu/archive/2011/08/31/asp-net-vnext-series.aspx" target="_blank"&gt;series of blog posts&lt;/a&gt; I'm doing on ASP.NET 4.5.&lt;/p&gt;  &lt;p&gt;The next release of .NET and Visual Studio include a ton of great new features and capabilities.&amp;#160; With ASP.NET 4.5 you'll see a bunch of really nice runtime and tooling improvements with both Web Forms and MVC - as well as in the core ASP.NET base foundation that both are built upon.&lt;/p&gt;  &lt;p&gt;Today’s post covers some of the improvements we are adding to the next release of Visual Studio to make working with CSS and CSS3 even better with ASP.NET projects.&amp;#160; &lt;/p&gt;  &lt;h2&gt;&lt;u&gt;CSS Color Picker&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;In previous versions of Visual Studio, the intellisense engine within the CSS editor provided a hard-coded dropdown list of named color values. The new release of Visual Studio replaces this with a full featured color picker that makes it easy to choose from colors already used elsewhere within the stylesheet – as well as to create new custom color styles. &lt;/p&gt;  &lt;p&gt;When you are in the CSS editor and edit a color value for a CSS property, a new color picker will now automatically appear.&amp;#160; It by default displays a list of previously used colors within the stylesheet – as well as a sample palette of default colors to use.&amp;#160; You can select a color from this list using either the mouse or keyboard:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/image_25F8781C.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 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://weblogs.asp.net/blogs/scottgu/image_thumb_732871A7.png" width="428" height="153" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can select the “+” icon to expand the list into a full-fledged color picker for more granular color selection.&amp;#160; It lets you control the alpha channel by automatically converting any color into a CSS3 RGBA value when moving the opacity slider.&amp;#160; It also includes a “color selector” function that allows you to use an eye-dropper to select a color from any other web-site you have loaded in a browser or from other apps you have running on your system:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/image_59543B78.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 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://weblogs.asp.net/blogs/scottgu/image_thumb_3860C8D1.png" width="441" height="380" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Great Video:&lt;/strong&gt; &lt;a href="http://www.asp.net/web-forms/videos/visual-studio-vnext/visual-studio-vnext-videos-css-editor-color-picker" target="_blank"&gt;Watch this 60 second video&lt;/a&gt; to see the color picker in action.&amp;#160; It shows using other colors in the same stylesheet, creating a new color, using the CSS3 opacity capabilities, as well as the eye-dropper to capture the color from another application/site.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Cross Browser and CSS3 Snippets&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;Writing stylesheets can sometimes feel a bit repetitive when it comes to working with all of the vendor specific versions of the same CSS3 properties. You often have to write the same property values for each of the browsers - which in some cases requires writing 5 identical values. It’s tedious but necessary work to support all browser versions. &lt;/p&gt;  &lt;p&gt;The next version of Visual Studio includes support for CSS snippets that auto-generate all of the vendor specific properties. That means no more tedious searching and typing to get your CSS3 properties working cross-browser.&lt;/p&gt;  &lt;p&gt;CSS snippets work just like code-snippets from other editors within Visual Studio today.&amp;#160; For example, to invoke the snippet for the CSS3 &lt;i&gt;transition&lt;/i&gt; property, simply type “transition” or select it from intellisense within a CSS stylesheet:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/image_70330CF4.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 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://weblogs.asp.net/blogs/scottgu/image_thumb_6FC6D9FF.png" width="155" height="53" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Then hit the TAB key and Visual Studio will execute the CSS transition snippet and generate the code to support all browser prefixes.&amp;#160; It will also allow you to change the value only once and then automatically propagate it to all the other values properties:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/image_3643CA08.png"&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://weblogs.asp.net/blogs/scottgu/image_thumb_356B641E.png" width="372" height="149" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Great Video: &lt;/strong&gt;&lt;a href="http://www.asp.net/web-forms/videos/visual-studio-vnext/visual-studio-vnext-videos-css-editor-snippets" target="_blank"&gt;Watch this 60 second video&lt;/a&gt; to see CSS snippets in action.&amp;#160; It demonstrates how snippets can help with both vendor prefixes, as well as to support scenarios like media queries to support multiple screen sizes, and cross browser font-face embedding.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Hierarchical CSS Indentation&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;A trend we’ve seen when looking at real-world stylesheets is that web developers are often using indentation to create and maintain parent/child relationships between the individual CSS rules. This creates a tree-like hierarchy that makes it easier to see the relationships between the rules and where they logically belong in the document:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/image_1FA17BC1.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 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://weblogs.asp.net/blogs/scottgu/image_thumb_05CD4592.png" width="241" height="320" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In previous version of Visual Studio it was cumbersome to maintain these hierarchies manually, and if you did the CSS formatter would remove the extra indentation. That meant you had to take care of formatting the entire stylesheet manually.&lt;/p&gt;  &lt;p&gt;In the next release of Visual Studio we are adding built-in support for both creating CSS hierarchies as well as maintaining them when either the selection or the entire document is formatted. This makes it really easy to review the structure of a stylesheet and the sometimes complex relationships of the cascading order of the rules within it.&lt;/p&gt;  &lt;p&gt;The brand new CSS editor in Visual Studio also understands and supports &lt;a href="http://www.webdevout.net/css-hacks"&gt;common CSS hacks&lt;/a&gt;, and we brought this knowledge into the hierarchical indentation mechanism to maintain the cascading position of a rule even if it is prefixed with a hack as illustrated in the screenshot below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/image_32E23260.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 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://weblogs.asp.net/blogs/scottgu/image_thumb_5D4E637D.png" width="203" height="254" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Great Video:&lt;/strong&gt; &lt;a href="http://www.asp.net/web-forms/videos/visual-studio-vnext/visual-studio-vnext-videos-css-editor-hierarchial-indentation" target="_blank"&gt;Watch this 60 second video&lt;/a&gt; to see CSS Hierarchical Indentation in action.&amp;#160; It shows creating hirarchical CSS rules, as well as how they’ll work even when using CSS hacks.&lt;/p&gt;  &lt;h2&gt;&lt;u&gt;Summary&lt;/u&gt;&lt;/h2&gt;  &lt;p&gt;The new release of ASP.NET and Visual Studio will make it easier to take full advantage of CSS within ASP.NET applications.&amp;#160; &lt;/p&gt;  &lt;p&gt;This post covered some of the CSS editor improvements we are making in Visual Studio to support this.&amp;#160; My last post covered some of the &lt;a href="http://weblogs.asp.net/scottgu/archive/2011/11/27/new-bundling-and-minification-support-asp-net-4-5-series.aspx" target="_blank"&gt;JavaScript and CSS bundling and minification runtime&lt;/a&gt; work.&amp;#160; In future posts I’ll also talk about some of the ASP.NET web form control and ASP.NET MVC helper improvements we are making to better use CSS as well.&lt;/p&gt;  &lt;p&gt;Hope this helps,&lt;/p&gt;  &lt;p&gt;Scott&lt;/p&gt;  &lt;p&gt;&lt;em&gt;P.S.&lt;/em&gt; &lt;em&gt;In addition to blogging, I use Twitter to-do quick posts and share links. My Twitter handle is: &lt;a href="http://twitter.com/scottgu" target="_blank"&gt;@scottgu&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8086407" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/default.aspx" /><category term="Visual Studio" scheme="http://weblogs.asp.net/scottgu/archive/tags/Visual+Studio/default.aspx" /></entry><entry><title>New Bundling and Minification Support (ASP.NET 4.5 Series)</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/scottgu/archive/2011/11/27/new-bundling-and-minification-support-asp-net-4-5-series.aspx" /><id>http://weblogs.asp.net/scottgu/archive/2011/11/27/new-bundling-and-minification-support-asp-net-4-5-series.aspx</id><published>2011-11-28T04:58:52Z</published><updated>2011-11-28T04:58:52Z</updated><content type="html">&lt;p&gt;This is the sixth in a &lt;a href="http://weblogs.asp.net/scottgu/archive/2011/08/31/asp-net-vnext-series.aspx"&gt;series of blog posts&lt;/a&gt; I'm doing on ASP.NET 4.5.&lt;/p&gt;  &lt;p&gt;The next release of .NET and Visual Studio include a ton of great new features and capabilities.&amp;#160; With ASP.NET 4.5 you'll see a bunch of really nice improvements with both Web Forms and MVC - as well as in the core ASP.NET base foundation that both are built upon.&lt;/p&gt;  &lt;p&gt;Today’s post covers some of the work we are doing to add built-in support for bundling and minification into ASP.NET - which makes it easy to improve the performance of applications.&amp;#160; This feature can be used by all ASP.NET applications, including both ASP.NET MVC and ASP.NET Web Forms solutions.&lt;/p&gt;  &lt;h3&gt;&lt;u&gt;Basics of Bundling and Minification &lt;/u&gt;&lt;/h3&gt;  &lt;p&gt;As more and more people use mobile devices to surf the web, it is becoming increasingly important that the websites and apps we build perform well with them. We’ve all tried loading sites on our smartphones – only to eventually give up in frustration as it loads slowly over a slow cellular network.&amp;#160; If your site/app loads slowly like that, you are likely losing potential customers because of bad performance.&amp;#160; Even with powerful desktop machines, the load time of your site and perceived performance can make an enormous customer perception.&lt;/p&gt;  &lt;p&gt;Most websites today are made up of multiple JavaScript and CSS files to separate the concerns and keep the code base tight. While this is a good practice from a coding point of view, it often has some unfortunate consequences for the overall performance of the website.&amp;#160; Multiple JavaScript and CSS files require multiple HTTP requests from a browser – which in turn can slow down the performance load time.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Simple Example&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Below I’ve opened a local website in IE9 and recorded the network traffic using IE’s built-in F12 developer tools. As shown below, the website consists of 5 CSS and 4 JavaScript files which the browser has to download. Each file is currently requested separately by the browser and returned by the server, and the process can take a significant amount of time proportional to the number of files in question. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/image_432B51C2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_4D7C7622.png" width="450" height="256" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Bundling&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;ASP.NET is adding a feature that makes it easy to “bundle” or “combine” multiple CSS and JavaScript files into fewer HTTP requests. This causes the browser to request a lot fewer files and in turn reduces the time it takes to fetch them.&amp;#160;&amp;#160; Below is an updated version of the above sample that takes advantage of this new bundling functionality (making only one request for the JavaScript and one request for the CSS):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/image_53C34CB0.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_7A252FFB.png" width="450" height="136" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The browser now has to send fewer requests to the server. The content of the individual files have been bundled/combined into the same response, but the content of the files remains the same - so the overall file size is exactly the same as before the bundling.&amp;#160;&amp;#160; But notice how even on a local dev machine (where the network latency between the browser and server is minimal), the act of bundling the CSS and JavaScript files together still manages to reduce the overall page load time by almost 20%.&amp;#160; Over a slow network the performance improvement would be even better.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Minification&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;The next release of ASP.NET is also adding a new feature that makes it easy to reduce or “minify” the download size of the content as well.&amp;#160; This is a process that removes whitespace, comments and other unneeded characters from both CSS and JavaScript. The result is smaller files, which will download and load in a browser faster.&amp;#160; The graph below shows the performance gain we are seeing when both bundling and minification are used together:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/image_20871347.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_5FE4C6D7.png" width="450" height="136" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Even on my local dev box (where the network latency is minimal), we now have a 40% performance improvement from where we originally started.&amp;#160; On slow networks (and especially with international customers), the gains would be even more significant.&lt;/p&gt;  &lt;h3&gt;&lt;u&gt;Using Bundling and Minification inside ASP.NET&lt;/u&gt;&lt;/h3&gt;  &lt;p&gt;The upcoming release of ASP.NET makes it really easy to take advantage of bundling and minification within projects and see performance gains like in the scenario above. The way it does this allows you to avoid having to run custom tools as part of your build process –&amp;#160; instead ASP.NET has added runtime support to perform the bundling/minification for you dynamically (caching the results to make sure perf is great).&amp;#160; This enables a really clean development experience and makes it super easy to start to take advantage of these new features.&lt;/p&gt;  &lt;p&gt;Let’s assume that we have a simple project that has 4 JavaScript files and 6 CSS files:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/image_0646AA23.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_30B2DB40.png" width="137" height="214" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Bundling and Minifying the .css files&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Let’s say you wanted to reference all of the stylesheets in the “Styles” folder above on a page.&amp;#160; Today you’d have to add multiple CSS references to get all of them – which would translate into 6 separate HTTP requests:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/scottgu/image_05021144.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_68851F63.png" width="497" height="140" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The new bundling/minification feature now allows you to instead bundle and minify all of the .css files in the Styles folder – simply by sending a URL request to the folder (in this case “styles”) with an appended “/css” path after it.&amp;#160; For example:&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160; &lt;a href="http://weblogs.asp.net/blogs/scottgu/image_0EE702AF.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_03514570.png" width="403" height="21" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This will cause ASP.NET to scan the directory, bundle and minify the .css files within it, and send back a single HTTP response with all of the CSS content to the browser.&amp;#160; &lt;/p&gt;  &lt;p&gt;You don’t need to run any tools or pre-processor to get this behavior.&amp;#160; This enables you to cleanly separate your CSS into separate logical .css files and maintain a very clean development experience – while not taking a performance hit at runtime for doing so.&amp;#160; The Visual Studio designer will also honor the new bundling/minification logic as well – so you’ll still get a WYSWIYG designer experience inside VS as well.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Bundling and Minifying the JavaScript files&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Like the CSS approach above, if we wanted to bundle and minify all of our JavaScript into a single response we could send a URL request to the folder (in this case “scripts”) with an appended “/js” path after it:&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;a href="http://weblogs.asp.net/blogs/scottgu/image_6DF39007.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_625DD2C8.png" width="320" height="21" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This will cause ASP.NET to scan the directory, bundle and minify the .js files within it, and send back a single HTTP response with all of the JavaScript content to the browser.&amp;#160; Again – no custom tools or builds steps were required in order to get this behavior.&amp;#160; And it works with all browsers.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Ordering of Files within a Bundle&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;By default, when files are bundled by ASP.NET they are sorted alphabetically first, just like they are shown in Solution Explorer. Then they are automatically shifted around so that known libraries and their custom extensions such as jQuery, MooTools and Dojo are loaded before anything else. So the default order for the merged bundling of the Scripts folder as shown above will be:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Jquery-1.6.2.js&lt;/li&gt;    &lt;li&gt;Jquery-ui.js&lt;/li&gt;    &lt;li&gt;Jquery.tools.js&lt;/li&gt;    &lt;li&gt;a.js&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;By default, CSS files are also sorted alphabetically and then shifted around so that &lt;i&gt;reset.css&lt;/i&gt; and &lt;i&gt;normalize.css&lt;/i&gt; (if they are there) will go before any other file. So the default sorting of the bundling of the Styles folder as shown above will be:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;reset.css&lt;/li&gt;    &lt;li&gt;content.css&lt;/li&gt;    &lt;li&gt;forms.css&lt;/li&gt;    &lt;li&gt;globals.css&lt;/li&gt;    &lt;li&gt;menu.css&lt;/li&gt;    &lt;li&gt;styles.css&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The sorting is fully customizable, though, and can easily be changed to accommodate most use cases and any common naming pattern you prefer.&amp;#160; The goal with the out of the box experience, though, is to have smart defaults that you can just use and be successful with.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Any number of directories/sub-directories supported&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In the example above we just had a single “Scripts” and “Styles” folder for our application.&amp;#160; This works for some application types (e.g. single page applications).&amp;#160; Often, though, you’ll want to have multiple CSS/JS bundles within your application – for example: a “common” bundle that has core JS and CSS files that all pages use, and then page specific or section specific files that are not used globally.&lt;/p&gt;  &lt;p&gt;You can use the bundling/minification support across any number of directories or sub-directories in your project – this makes it easy to structure your code so as to maximize the bunding/minification benefits.&amp;#160; Each directory by default can be accessed as a separate URL addressable bundle.&amp;#160; &lt;/p&gt;  &lt;h3&gt;&lt;u&gt;Bundling/Minification Extensibility&lt;/u&gt;&lt;/h3&gt;  &lt;p&gt;ASP.NET’s bundling and minification support is built with extensibility in mind and every part of the process can be extended or replaced. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Custom Rules&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In addition to enabling the out of the box - directory-based - bundling approach, ASP.NET also supports the ability to register custom bundles using a new programmatic API we are exposing.&amp;#160; &lt;/p&gt;  &lt;p&gt;The below code demonstrates how you can register a “customscript” bundle using code within an application’s Global.asax class.&amp;#160; The API allows you to add/remove/filter files that go into the bundle on a very granular level:&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://weblogs.asp.net/blogs/scottgu/image_7AED7018.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_24ED6E41.png" width="624" height="177" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The above custom bundle can then be referenced anywhere within the application using the below &amp;lt;script&amp;gt; reference:&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://weblogs.asp.net/blogs/scottgu/image_2AC811DA.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_4357AF2A.png" width="347" height="19" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Custom Processing&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You can also override the default CSS and JavaScript bundles to support your own custom processing of the bundled files (for example: custom minification rules, support for Saas, LESS or Coffeescript syntax, etc). &lt;/p&gt;  &lt;p&gt;In the example below we are indicating that we want to replace the built-in minification transforms with a custom MyJsTransform and MyCssTransform class. They both subclass the CSS and JavaScript minifier respectively and can add extra functionality:&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://weblogs.asp.net/blogs/scottgu/image_1EC621A6.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_36E98C01.png" width="592" height="91" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The end result of this extensibility is that you can plug-into the bundling/minification logic at a deep level and do some pretty cool things with it.&lt;/p&gt;  &lt;h3&gt;&lt;u&gt;2 Minute Video of Bundling and Minification in Action&lt;/u&gt;&lt;/h3&gt;  &lt;p&gt;Mads Kristensen has a great &lt;a href="http://www.asp.net/vnext/videos/aspnet-vnext-videos-bundling-and-minification" target="_blank"&gt;90 second video&lt;/a&gt; that shows off using the new Bundling and Minification feature.&amp;#160; You can watch the 90 second video &lt;a href="http://www.asp.net/vnext/videos/aspnet-vnext-videos-bundling-and-minification" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;              &lt;h3&gt;&lt;u&gt;Summary&lt;/u&gt;&lt;/h3&gt;  &lt;p&gt;The new bundling and minification support within the next release of ASP.NET will make it easier to build fast web applications.&amp;#160; It is really easy to use, and doesn’t require major changes to your existing dev workflow.&amp;#160; It is also supports a rich extensibility API that enables you to customize it however you want.&lt;/p&gt;  &lt;p&gt;You can easily take advantage of this new support within ASP.NET MVC, ASP.NET Web Forms and ASP.NET Web Pages based applications.&lt;/p&gt;  &lt;p&gt;Hope this helps,&lt;/p&gt;  &lt;p&gt;Scott&lt;/p&gt;  &lt;p&gt;&lt;em&gt;P.S.&lt;/em&gt; &lt;em&gt;In addition to blogging, I use Twitter to-do quick posts and share links. My Twitter handle is: &lt;a href="http://twitter.com/scottgu" target="_blank"&gt;@scottgu&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=8078375" width="1" height="1"&gt;</content><author><name>ScottGu</name><uri>http://weblogs.asp.net/members/ScottGu.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/default.aspx" /><category term="MVC" scheme="http://weblogs.asp.net/scottgu/archive/tags/MVC/default.aspx" /><category term="Visual Studio" scheme="http://weblogs.asp.net/scottgu/archive/tags/Visual+Studio/default.aspx" /><category term="Web Forms" scheme="http://weblogs.asp.net/scottgu/archive/tags/Web+Forms/default.aspx" /></entry></feed>
