<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.aspdotnetmvc.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">
  <channel>
    <title>AspDotNetMVC.com - Latest ASP.NET MVC Blog Posts</title>
    <description>The 25 most recent blog posts about ASP.NET MVC indexed by AspDotNetMVC.com.</description>
    <link>http://aspdotnetmvc.com/blogs/</link>
    <language>en-us</language>
    <copyright>Copyright © 2010 AspDotNetMVC.com. All Rights Reserved</copyright>
    <lastBuildDate>Sun, 15 Aug 2010 21:00:00 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Community Server v2.0 (http://www.communityserver.org)</generator>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.aspdotnetmvc.com/aspdotnetmvc-blogs" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="aspdotnetmvc-blogs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
      <title>ASP.NET MVC meets HTML5</title>
      <description>&lt;p&gt;Today I tried out &lt;a href="http://mvchtml5.codeplex.com/"&gt;ASP.NET MVC HTML5 Helpers Toolkit&lt;/a&gt; by &lt;a href="http://www.deanhume.com/"&gt;Dean Hume&lt;/a&gt;. Although browsers today support &lt;a href="http://dev.w3.org/html5/spec/Overview.html"&gt;HTML5&lt;/a&gt; partially it is time to start playing with it. As soon as HTML5 gets common standard in web you should be able to react fast. In this posting I will introduce you HTML5 Helpers Toolkit and some HTML5 field types.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.deanhume.com/Home/BlogPost/asp-net-mvc-html5-toolkit/29"&gt;HTML5 Helpers Toolkit is easy to install&lt;/a&gt;. Just download the package, unpack it and reference the DLL you found from package. That’s all. You don’t have to do anything more. If your browser doesn’t support HTML5 then HTML5 fields are rendered as usual textboxes and you can extend them using &lt;a href="http://weblogs.asp.net/gunnarpeipman/archive/tags/jQuery/default.aspx"&gt;jQuery&lt;/a&gt; by example.&lt;/p&gt;  &lt;h3&gt;E-mail field&lt;/h3&gt;  &lt;p&gt;HTML5 defines many types for input boxes. One of the types is e-mail. Here is the demo of e-mail field with placeholder value. Yes, in HTML5 textboxes support placeholders and we don’t have to mess with JavaScript anymore. This is how e-mail box is defined.&lt;/p&gt;  &lt;pre style="font-family: consolas"&gt;&lt;hr size="1" /&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;form&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background: yellow"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt; Html.Html5TextBox(&lt;span style="color: #a31515"&gt;&amp;quot;userEmal&amp;quot;&lt;/span&gt;, &lt;span style="color: #2b91af"&gt;InputTypes&lt;/span&gt;.&lt;span style="color: #2b91af"&gt;InputType&lt;/span&gt;.Email,&lt;br /&gt;                          &lt;span style="color: #a31515"&gt;&amp;quot;plah@plah.com&amp;quot;&lt;/span&gt;) &lt;span style="background: yellow"&gt;%&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;form&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;hr size="1" /&gt;&lt;/pre&gt;

&lt;p&gt;And here is the result on &lt;a href="http://www.mozilla.com/en-US/firefox/beta/"&gt;Firefox 4 Beta&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="HTML5 e-mail box with placeholder value" border="0" alt="HTML5 e-mail box with placeholder value" src="http://weblogs.asp.net/blogs/gunnarpeipman/html5emailplaceholder_30ECCEE4.png" width="156" height="29" /&gt;&lt;/p&gt;

&lt;p&gt;Nice, isn’t it? I discovered one cool thing when I tested HTML5 Helpers Toolkit with &lt;a href="http://www.opera.com/"&gt;Opera&lt;/a&gt;. I tried to submit form where e-mail address is not valid. And this is what happened:&lt;/p&gt;

&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="HTML5 date box with validation on Opera" border="0" alt="HTML5 date box with validation on Opera" src="http://weblogs.asp.net/blogs/gunnarpeipman/html5emailinvalid_0F8D2948.png" width="204" height="78" /&gt;&lt;/p&gt;

&lt;p&gt;Form was not submitted and all I got was this error message in red box. Cool!&lt;/p&gt;

&lt;h3&gt;Slider&lt;/h3&gt;

&lt;p&gt;As a next thing let’s see how to get numeric slider on page without any JavaScript. Numbers in slider box definition have the following meaning: minimum is 1 and maximum is 50, step is 2 and default value is 25.&lt;/p&gt;

&lt;pre style="font-family: consolas"&gt;&lt;hr size="1" /&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;form&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background: yellow"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt; Html.Html5Range(1, 50, 2, 25, &lt;span style="color: blue"&gt;null&lt;/span&gt;) &lt;span style="background: yellow"&gt;%&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;form&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;hr size="1" /&gt;&lt;/pre&gt;

&lt;p&gt;And here is the result on Chrome.&lt;/p&gt;

&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="HTML5 numeric slider on Chrome" border="0" alt="HTML5 numeric slider on Chrome" src="http://weblogs.asp.net/blogs/gunnarpeipman/html5sliderchrome_6DC150B6.png" width="139" height="27" /&gt;&lt;/p&gt;

&lt;p&gt;If we want we can use usual HTML to decorate slider with numbers mentioned above. But I like the result – simple, calm and clean.&lt;/p&gt;

&lt;h3&gt;Date picker&lt;/h3&gt;

&lt;p&gt;Now let’s do something that only Opera seems to support right now – let’s create HTML5 date picker. Definition is here.&lt;/p&gt;

&lt;pre style="font-family: consolas"&gt;&lt;hr size="1" /&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;form&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background: yellow"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt; Html.Html5TextBox(&lt;span style="color: #a31515"&gt;&amp;quot;deliveryDate&amp;quot;&lt;/span&gt;, &lt;span style="color: #2b91af"&gt;InputTypes&lt;/span&gt;.&lt;span style="color: #2b91af"&gt;InputType&lt;/span&gt;.Date) &lt;span style="background: yellow"&gt;%&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon"&gt;form&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;hr size="1" /&gt;&lt;/pre&gt;

&lt;p&gt;And here is the result on Opera. &lt;/p&gt;

&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="HTML5 date picker on Opera" border="0" alt="HTML5 date picker on Opera" src="http://weblogs.asp.net/blogs/gunnarpeipman/html5datepickeropera_2CB2D152.png" width="214" height="193" /&gt;&lt;/p&gt;

&lt;p&gt;Seems good to me. And again – no additional &lt;a href="http://weblogs.asp.net/gunnarpeipman/archive/tags/JavaScript/default.aspx"&gt;JavaScript&lt;/a&gt; is needed. Until other browsers also start supporting this kind on input box you can use &lt;a href="http://jqueryui.com/demos/datepicker/"&gt;jQueryUI Datepicker&lt;/a&gt; component.&lt;/p&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;Although HTML5 is not here yet it is coming very soon and seems like &lt;a href="http://weblogs.asp.net/gunnarpeipman/archive/tags/MVC/default.aspx"&gt;ASP.NET MVC&lt;/a&gt; will be soon ready for it. Although HTML5 Helpers Toolkit doesn’t provide all HTML5 controls yet it is still great start and I think this project is worth keeping eye on it. It is very easy to install and very easy to use and I suggest you to try it out as soon as possible.&lt;/p&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://weblogs.asp.net/gunnarpeipman/archive/2010/08/16/asp-net-mvc-meets-html5.aspx</link>
      <author>DigiMortal</author>
      <dc:creator>DigiMortal</dc:creator>
      <guid isPermaLink="False">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7595097</guid>
      <pubDate>Sun, 15 Aug 2010 21:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Performance tuning tricks for ASP.NET and IIS 7 – part 2</title>
      <description>In part 1 of this series, we looked at some tricks to optimize the performance of any website running in IIS 7 by only modifying the web.config. In this part we will focus on handling browser caching issues and optimize the number of JavaScript and CSS files loaded from an ASP.NET website. NB! All t &lt;b&gt;...&lt;/b&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://madskristensen.net/post.aspx?id=56100d33-7dd2-4599-9b35-4349a244eeff</link>
      <source url="http://madskristensen.net/">.NET slave</source>
      <author>Mads Kristensen</author>
      <dc:creator>Mads Kristensen</dc:creator>
      <guid isPermaLink="False">27df280f4af3412b867ceeebdb3bd868</guid>
      <pubDate>Sun, 15 Aug 2010 06:28:00 GMT</pubDate>
    </item>
    <item>
      <title>ASP.NET MVC 3: Using HttpNotFoundResult in controller tests</title>
      <description>&lt;p&gt;Lately I blogged about &lt;a href="http://weblogs.asp.net/gunnarpeipman/archive/2010/07/27/asp-net-mvc-3-using-httpnotfoundresult-action-result.aspx"&gt;HttpNotFoundResult&lt;/a&gt; and &lt;a href="http://weblogs.asp.net/gunnarpeipman/archive/2010/07/28/asp-net-mvc-3-using-httpstatuscoderesult.aspx"&gt;HttpStatusCodeResult&lt;/a&gt; action results that come with ASP.NET MVC 3. These results are ideal for controller &lt;a href="http://weblogs.asp.net/gunnarpeipman/archive/tags/Testing/default.aspx"&gt;tests&lt;/a&gt; as we don’t have to mess with HttpContext and Response objects anymore. In this posting I will show you how to use HttpNotFoundResult in controller tests to check if errors are given correctly to user.&lt;/p&gt;  &lt;p&gt;Let’s suppose we have controller method that displays product details.&lt;/p&gt;  &lt;pre style="font-family: consolas"&gt;&lt;hr size="1" /&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;#160;&lt;span style="color: #2b91af"&gt;ActionResult&lt;/span&gt; Details(&lt;span style="color: blue"&gt;int&lt;/span&gt; productId)&lt;br /&gt;{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;var&lt;/span&gt; product = _repository.GetProductById(productId);&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;if&lt;/span&gt; (product == &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;var&lt;/span&gt; result = &lt;span style="color: blue"&gt;new&lt;/span&gt;&amp;#160;&lt;span style="color: #2b91af"&gt;HttpNotFoundResult&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;Product not found&amp;quot;&lt;/span&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;return&lt;/span&gt; result;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: green"&gt;// ...&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;return&lt;/span&gt; View();&lt;br /&gt;}&lt;hr size="1" /&gt;&lt;/pre&gt;

&lt;p&gt;If product is not found (whatever the reason is) then Details() returns HttpNotFoundResult to let user know that requested product doesn’t exist. If product is there then Details() makes some processing and returns regular view that displays product information.&lt;/p&gt;

&lt;p&gt;Now let’s write test to make sure that in the case of missing product error 404 will be returned.&lt;/p&gt;

&lt;pre style="font-family: consolas"&gt;&lt;hr size="1" /&gt;[&lt;span style="color: #2b91af"&gt;TestMethod&lt;/span&gt;]&lt;br /&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;#160;&lt;span style="color: blue"&gt;void&lt;/span&gt; ProductPageShouldReturn404IfProductNotFound()&lt;br /&gt;{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;var&lt;/span&gt; productId = 1;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;Product&lt;/span&gt; product = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;var&lt;/span&gt; repositoryMock = &lt;span style="color: blue"&gt;new&lt;/span&gt;&amp;#160;&lt;span style="color: #2b91af"&gt;Mock&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;IProductRepository&lt;/span&gt;&amp;gt;();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; repositoryMock.Setup(c =&amp;gt; c.GetProductById(productId))&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .Returns(product)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .Verifiable();&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;var&lt;/span&gt; result = _controller.Details(productId);&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; repositoryMock.Verify();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;Assert&lt;/span&gt;.IsNotNull(result);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;Assert&lt;/span&gt;.IsInstanceOfType(result, &lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;HttpNotFoundResult&lt;/span&gt;));&lt;br /&gt;}&lt;hr size="1" /&gt;&lt;/pre&gt;

&lt;p&gt;This test makes sure that GetProductById() method is called from product repository mock and also it makes sure that this method returns null. After calling Details() method from controller we check three things:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;is GetProductById() method called? &lt;/li&gt;

  &lt;li&gt;is return value not null? &lt;/li&gt;

  &lt;li&gt;is return value of type HttpNotFoundResult? &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If all these conditions are met then test succeeds. Our tests as you can see, is pretty short and all it does is checking returned type. We don’t have here any dealing with HttpContext and Response and that saves us a lot of trouble. At least in more complex tests.&lt;/p&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;HttpNotFoundResult and HttpStatusCodeResult are very good choices if we want our ASP.NET MVC applications to be more easily testable. This way we can avoid HttpContext and other related objects. If you want to customize HttpStatusCodeResult then please read my blog posting &lt;a href="http://weblogs.asp.net/gunnarpeipman/archive/2010/07/28/asp-net-mvc-3-creating-httpstatuscoderesult-with-view-based-body.aspx"&gt;ASP.NET MVC 3: Creating HttpStatusCodeResult with view based body&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://weblogs.asp.net/gunnarpeipman/archive/2010/08/15/asp-net-mvc-3-using-httpnotfoundresult-in-controller-tests.aspx</link>
      <author>DigiMortal</author>
      <dc:creator>DigiMortal</dc:creator>
      <guid isPermaLink="False">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7595025</guid>
      <pubDate>Sat, 14 Aug 2010 21:00:00 GMT</pubDate>
    </item>
    <item>
      <title>ASP.NET MVC 3: Introducing Razor view engine</title>
      <description>&lt;p&gt;ASP.NET MVC 3 brings us new view engine called Razor. Razor view engine was made available with &lt;a href="http://weblogs.asp.net/gunnarpeipman/archive/2010/07/09/webmatrix-beta-in-pictures.aspx"&gt;WebMatrix&lt;/a&gt; first beta. Razor brings us new and very short syntax for writing views. In this posting I will introduce you shortly ASP.NET MVC Razor view engine.&lt;/p&gt;  &lt;h3&gt;New ASP.NET MVC project type&lt;/h3&gt;  &lt;p&gt;There is new ASP.NET MVC project type for Razor projects so you can start new application with Razor support already there.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://weblogs.asp.net/blogs/gunnarpeipman/razorshoutboxselectrazorproject_676217EB.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="ASP.NET MVC 3 projects" border="0" alt="ASP.NET MVC 3 projects" src="http://weblogs.asp.net/blogs/gunnarpeipman/razorshoutboxselectrazorproject_thumb_0BF2E3C9.png" width="540" height="349" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The other options are project with ASPX based views and empty ASP.NET MVC project. As I am going to write sample application that uses Razor then it is not hard to guess which option I chose. &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://weblogs.asp.net/blogs/gunnarpeipman/wlEmoticonsmile_482B82E6.png" /&gt;&lt;/p&gt;  &lt;h3&gt;Razor files&lt;/h3&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 5px 5px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="ASP.NET MVC Razor Application" border="0" alt="ASP.NET MVC Razor Application" align="right" src="http://weblogs.asp.net/blogs/gunnarpeipman/razorshoutboxviewfiles_7BF37937.png" width="213" height="480" /&gt;New ASP.NET MVC Razor application is created like default ASP.NET MVC web application. The difference is that views are using Razor view engine. Project structure at file system level is same as before as you can see if you take a look at image on right.&lt;/p&gt;  &lt;p&gt;There are some things you should know at this point:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Extension of Razor based views is .cshtml for view that use C# and .vbhtml for views that use VB.NET. &lt;/li&gt;    &lt;li&gt;Files that cannot be shown by direct requests (master pages, partial views etc) have underscore (_) in the beginning of their names. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;So if you try to make the request to _Layout.cshtml (this is master page) you will get error from server.&lt;/p&gt;  &lt;p&gt;You can also see that there are controllers and models folders – things you don’t see in WebMatrix projects.&lt;/p&gt;  &lt;h3&gt;Razor syntax&lt;/h3&gt;  &lt;p&gt;Razor syntax is different from what we have seen this far. Razor provides us with way shorter and cleaner syntax and this is the reason why we should consider using it in our ASP.NET MVC projects. After playing with WebMatrix and Razor based pages I was pretty happy with Razor because my views looked cleaner than before. &lt;/p&gt;  &lt;p&gt;Here is the example of Razor based view. This is the same Account/LogOn view that comes also with usual ASP.NET MVC default application. Although there is no syntax highlight yet you get the point.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://weblogs.asp.net/blogs/gunnarpeipman/aspnetmvc3razor_1F5FF7D0.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="Example of Razor based view" border="0" alt="Example of Razor based view" src="http://weblogs.asp.net/blogs/gunnarpeipman/aspnetmvc3razor_thumb_20E113E4.png" width="542" height="399" /&gt;&lt;/a&gt;    &lt;br /&gt;&lt;em&gt;Click on image to see it at original size.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Basically the rules are simple: everything that starts with @ is server-side code. If it is some known language structure that has body then it must be followed by { and }. Between them you can write whatever you want. Okay, there are more rules but all this is documented in WebMatrix tutorial &lt;a href="http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax"&gt;Introduction to ASP.NET Web Programming Using the Razor Syntax&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;Should I try it?&lt;/h3&gt;  &lt;p&gt;Well… Razor was a little bit weird for me when I started playing with it. For smaller views it does not give any strong effect. But when you try it out on more complex views you will see that views are much readable than before. Current preview of ASP.NET MVC 3 doesn’t support syntax highlight for Razor views but syntax highlight is coming with next releases. I still suggest you to try out Razor to find out if it makes anything better for you. &lt;/p&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://weblogs.asp.net/gunnarpeipman/archive/2010/08/15/asp-net-mvc-3-introducing-razor-view-engine.aspx</link>
      <author>DigiMortal</author>
      <dc:creator>DigiMortal</dc:creator>
      <guid isPermaLink="False">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7594325</guid>
      <pubDate>Sat, 14 Aug 2010 21:00:00 GMT</pubDate>
    </item>
    <item>
      <title>ASP.NET MVC 3: Global action filters</title>
      <description>&lt;p&gt;ASP.NET MVC 3 supports global action filters. Global action filters are applied to all actions in web application. By example, you can use global action filters for common security checks. In this posting I will show you how to write dummy action filter, register it as global and test it.&lt;/p&gt;  &lt;h3&gt;Creating action filter&lt;/h3&gt;  &lt;p&gt;Let’s start with our primitive action filter that is able in some cases ruin page layout for IE. Am I evil? Yes, I am! But I want this example to work on IIS and Cassini both so let’s make something trivial.&lt;/p&gt;  &lt;pre style="font-family: consolas"&gt;&lt;hr size="1" /&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;#160;&lt;span style="color: blue"&gt;class&lt;/span&gt;&amp;#160;&lt;span style="color: #2b91af"&gt;MyActionFilterAttribute&lt;/span&gt; : &lt;span style="color: #2b91af"&gt;ActionFilterAttribute&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;#160;&lt;span style="color: blue"&gt;override&lt;/span&gt;&amp;#160;&lt;span style="color: blue"&gt;void&lt;/span&gt; OnResultExecuting(&lt;span style="color: #2b91af"&gt;ResultExecutingContext&lt;/span&gt; context)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;base&lt;/span&gt;.OnResultExecuting(filterContext);&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; context.RequestContext.HttpContext.Response.Write(&lt;span style="color: #a31515"&gt;&amp;quot;&amp;lt;!-- Buuu! --&amp;gt;&amp;quot;&lt;/span&gt;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;br /&gt;}&lt;hr size="1" /&gt;&lt;/pre&gt;

&lt;p&gt;All this evil filter does is it writes string &amp;lt;!—Buuu! –&amp;gt; to response stream, so it is the first line of output. &lt;/p&gt;

&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 0px 10px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="Global action filters: no filters yet" border="0" alt="Global action filters: no filters yet" align="right" src="http://weblogs.asp.net/blogs/gunnarpeipman/globalactionfiltercleanoutput_1A1E6092.png" width="364" height="151" /&gt;Now open one of your ASP.NET MVC projects and run it. It does not matter if you run it on IIS or Cassini (ASP.NET development web server). If you look at page source you should see usual HTML there. Something like you see on image on right.&lt;/p&gt;

&lt;h3&gt;Registering global action filter&lt;/h3&gt;

&lt;p&gt;Now, without touching any controller let’s put our evil Buuu! in place. Open global. asax and modify Application_Start event so it looks like follows.&lt;/p&gt;

&lt;pre style="font-family: consolas"&gt;&lt;hr size="1" /&gt;&lt;span style="color: blue"&gt;protected&lt;/span&gt;&amp;#160;&lt;span style="color: blue"&gt;void&lt;/span&gt; Application_Start()&lt;br /&gt;{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;AreaRegistration&lt;/span&gt;.RegisterAllAreas();&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: green"&gt;// Register global filter&lt;/span&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;GlobalFilters&lt;/span&gt;.Filters.Add(&lt;span style="color: blue"&gt;new&lt;/span&gt;&amp;#160;&lt;span style="color: #2b91af"&gt;MyActionFilterAttribute&lt;/span&gt;());&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; RegisterGlobalFilters(&lt;span style="color: #2b91af"&gt;GlobalFilters&lt;/span&gt;.Filters);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; RegisterRoutes(&lt;span style="color: #2b91af"&gt;RouteTable&lt;/span&gt;.Routes);&lt;br /&gt;}&lt;hr size="1" /&gt;&lt;/pre&gt;

&lt;p&gt;Compile your project and run application again. Now you should see output like this.&lt;/p&gt;

&lt;p align="center"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="Global action filters: evil filter is registered" border="0" alt="Global action filters: evil filter is registered" src="http://weblogs.asp.net/blogs/gunnarpeipman/globalactionfilterbuuu_29058FAC.png" width="358" height="111" /&gt;&lt;/p&gt;

&lt;p&gt;Without any additional modification to controllers and their methods we got our action filter work for all controllers. You can surf around your site and for every request you should see now my evil message.&lt;/p&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;Global application filters are powerful and easy to use features. You can use global filters for different purposes like establishing global security policies and controlling output. Of course, you may find many other uses for global action filters. ASP.NET MVC makes is very easy to register filters at global level and I think it is another great addition to MVC framework.&lt;/p&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://weblogs.asp.net/gunnarpeipman/archive/2010/08/15/asp-net-mvc-3-global-action-filters.aspx</link>
      <author>DigiMortal</author>
      <dc:creator>DigiMortal</dc:creator>
      <guid isPermaLink="False">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7594046</guid>
      <pubDate>Sat, 14 Aug 2010 21:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Dean Hume - &lt;b&gt;ASP.net MVC&lt;/b&gt; HTML5 Toolkit</title>
      <description>I try and play around with &lt;b&gt;ASP.net MVC&lt;/b&gt; as much as possible and this site is also written in MVC 2. One of the things that I thought about adding to MVC is the ability to have all the textboxes and controls updated to use HTML5. ...&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://www.deanhume.com/Home/BlogPost/asp-net-mvc-html5-toolkit/29</link>
      <author>unknown</author>
      <dc:creator>unknown</dc:creator>
      <guid isPermaLink="False">http://www.deanhume.com/Home/BlogPost/asp-net-mvc-html5-toolkit/29</guid>
      <pubDate>Fri, 13 Aug 2010 23:18:30 GMT</pubDate>
    </item>
    <item>
      <title>Using the GeneratedImage Control in ASP.NET MVC</title>
      <description>One of the free, open-source controls on the ASP.NET team’s CodePlex page is the GeneratedImage control. In a nutshell, the GeneratedImage control is a combination of an ASP.NET Web Control and a set of classes that facilitate programmatically creating, serving, caching, and transforming images. If  &lt;b&gt;...&lt;/b&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://scottonwriting.net/sowblog/archive/2010/08/14/using-the-generatedimage-control-in-asp-net-mvc.aspx</link>
      <source url="http://scottonwriting.net/sowblog/default.aspx">Scott On Writing.NET</source>
      <author>Scott Mitchell</author>
      <dc:creator>Scott Mitchell</dc:creator>
      <guid isPermaLink="False">110b78cbb5d0b82fc1ac39a0491b95c0</guid>
      <pubDate>Fri, 13 Aug 2010 11:44:00 GMT</pubDate>
    </item>
    <item>
      <title>Expose your Existing ASP.NET MVC Actions as JSON/XML API Endpoints</title>
      <description>Why write separate actions to provide a JSON/XML API in ASP.NET MVC? If you are already using view models, MVC API Action Filter makes reusing your existing actions quick and clean.&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://www.nickriggs.com/posts/expose-your-existing-asp-net-mvc-actions-as-jsonxml-api-endpoints/</link>
      <source url="http://www.nickriggs.com/">Nick Riggs, Web Developer</source>
      <author>Nick Riggs</author>
      <dc:creator>Nick Riggs</dc:creator>
      <guid isPermaLink="False">b31033260799556ba35a6f030ccbb5c8</guid>
      <pubDate>Fri, 13 Aug 2010 06:44:00 GMT</pubDate>
    </item>
    <item>
      <title>I'm Taking a Break -- StoryTeller and StructureMap users please read</title>
      <description>&lt;p&gt;All,&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve come to realize this week that I&amp;#39;m in need of an extended mental holiday from the absurd level of side project work that I&amp;#39;ve been doing for the past several years.&amp;nbsp; I have some work on FubuMVC coming up as part of a Dovetail project, but otherwise I think I&amp;#39;ll try to recharge the batteries for a while and shut down the computer at night for awhile.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;StoryTeller&lt;br /&gt;&lt;/h3&gt;
&lt;p&gt;As of this moment, I&amp;#39;m shelving StoryTeller altogether.&amp;nbsp; The 1.0 release was admittedly rushed for an early adopter and has been problematic to get up and running out in the wild. &amp;nbsp; I know that StoryTeller needs some project automated &amp;quot;warmup&amp;quot; infrastructure and a *lot* more documentation and blogging to make it more approachable, but I&amp;#39;m stretched too thin to do that work right now and there frankly isn&amp;#39;t enough interest to justify the effort.&amp;nbsp; The code is up on GitHub if anybody wants to play with it -- but frankly, don&amp;#39;t use it unless you&amp;#39;re willing to get into the code and contribute pull requests back in.&amp;nbsp; At this juncture, I&amp;#39;m recommending that folks look at other alternatives like Cucumber and its .Net clones.&amp;nbsp; I&amp;#39;m still saying that FitNesse is nothing but a high friction tool that you&amp;#39;re better off without.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;StructureMap&lt;/h3&gt;
&lt;p&gt;StructureMap is a different story because people actually use it and depend on it.&amp;nbsp; StructureMap has some known weaknesses with its nested container support, the obsolete method noise to remove, people wanting more and more convention support, and better lifecycle support that I&amp;#39;d like to address with the 3.0 version I&amp;#39;ve had on hold for 3 months while I concentrated on Storyteller -- plus there&amp;#39;s the endless whining on Twitter about the documentation being out of date.&amp;nbsp; It&amp;#39;s been on my TODO list for 6 months to convert the documentation over to the &lt;a href="http://spreecommerce.com/documentation/index.html"&gt;Spree guides&lt;/a&gt; like the ones for FubuMVC for easier maintenance, but haven&amp;#39;t had the bandwidth.&amp;nbsp; If you have too much time on your hands, I would dearly love to have a volunteer or two to help me refresh the docs infrastructure and get more examples in place, especially for the technologies that I don&amp;#39;t use regularly like ASP.Net MVC, WCF, EF, Linq to Sql, and WPF.&amp;nbsp; I will get back to StructureMap work before summer is over, but I&amp;#39;m prioritizing my own mental health for awhile first.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Oh, and I&amp;#39;m swearing off Twitter again.&amp;nbsp; Nothing but snark, pessimism, and negativity there, especially from the .Net side of the fence.&amp;nbsp; Should improve with me in a timeout anyway;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll see y&amp;#39;all later when things seem like fun again,&lt;/p&gt;
&lt;p&gt;Jeremy&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://codebetter.com/blogs/jeremy.miller/archive/2010/08/12/i-m-taking-a-break-storyteller-and-structuremap-users-please-read.aspx</link>
      <author>jmiller</author>
      <dc:creator>jmiller</dc:creator>
      <guid isPermaLink="False">d21fbbc9-c112-4f32-ad14-95939a2c53d4:1077843</guid>
      <pubDate>Thu, 12 Aug 2010 17:54:00 GMT</pubDate>
    </item>
    <item>
      <title>ASP.NET MVC 2 Controller - Use Custom Attribute to intercept call to Action</title>
      <description>I was thinking that it would be good to have certain MVC Actions run some common code every time they are called. Naturally we could just call a common method within our Action methods, but that would not be MVC sexeh. After all, we use special Attributes such as [Authorize] and [HttpPost] to interc &lt;b&gt;...&lt;/b&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://zootfroot.blogspot.com/2010/08/aspnet-mvc-2-controller-use-custom.html</link>
      <source url="http://zootfroot.blogspot.com/">DaddyCode Team Blog</source>
      <author>James McCormack </author>
      <dc:creator>James McCormack </dc:creator>
      <guid isPermaLink="False">350634163c0d7113aceff058aeaf9279</guid>
      <pubDate>Tue, 10 Aug 2010 21:38:00 GMT</pubDate>
    </item>
    <item>
      <title>Minify HTML with .NET MVC ActionFilter</title>
      <description>To make our site a tight as possible, I thought we’d explore the idea of removing the white space in our generated HTML. I’ve had this idea for a long time, but after reading @hugoware post about removing white space, I decided to implement it in my own projects. As with any good code, let’s stand o &lt;b&gt;...&lt;/b&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://arranmaclean.wordpress.com/2010/08/10/minify-html-with-net-mvc-actionfilter/</link>
      <source url="http://arranmaclean.wordpress.com/">Arran Maclean</source>
      <author>ArranM</author>
      <dc:creator>ArranM</dc:creator>
      <guid isPermaLink="False">4699962070ba752398c8a276a79b0e60</guid>
      <pubDate>Mon, 09 Aug 2010 21:55:00 GMT</pubDate>
    </item>
    <item>
      <title>Google and Yahoo Add to Calendar Html Helpers for &lt;b&gt;Asp.net MVC&lt;/b&gt; &lt;b&gt;...&lt;/b&gt;</title>
      <description>I've been working on implementing some iCal functionality for the my gig guide website – Gigpig so users could easily add concert dates to their calendars.&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://lukencode.com/2010/08/09/google-and-yahoo-add-to-calendar-html-helpers-for-asp-net-mvc/</link>
      <author>Luke Lowrey</author>
      <dc:creator>Luke Lowrey</dc:creator>
      <guid isPermaLink="False">http://lukencode.com/2010/08/09/google-and-yahoo-add-to-calendar-html-helpers-for-asp-net-mvc/</guid>
      <pubDate>Mon, 09 Aug 2010 04:11:42 GMT</pubDate>
    </item>
    <item>
      <title>With Each Step Forward, Microsoft Takes Two Back</title>
      <description>Today I was browsing a Microsoft published document on creating ASP.NET Web Pages using the Razor Syntax and to my surprise I found this gem on page 65. @{ var db = Database.OpenFile("SmallBakery.sdf"); var selectQueryString = "SELECT * FROM Products ORDER BY Name"; }    &lt; &lt;b&gt;...&lt;/b&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://coderjournal.com/2010/08/with-each-step-forward-microsoft-takes-two-back/</link>
      <source url="http://coderjournal.com/">Nick Berardi's Coder Journal</source>
      <author>Nick Berardi</author>
      <dc:creator>Nick Berardi</dc:creator>
      <guid isPermaLink="False">5232276dcd8324bf122c3ef3ea4a7320</guid>
      <pubDate>Mon, 09 Aug 2010 02:09:00 GMT</pubDate>
    </item>
    <item>
      <title>Using WebMatrix to Create a Consistent Layout w/Razor Content Blocks &amp; Layout Pages</title>
      <description>One of the first things we need to do when creating the UI for a website or web application is setup the look, feel and layout of the site. Classic ASP and PHP developers recognize include files as a way to do this, while ASP.NET Web Forms &amp; MVC developers use Master Pages. Razor however, allows you &lt;b&gt;...&lt;/b&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://rachelappel.com/webmatrix/using-webmatrix-to-create-a-consistent-layout-w-razor-content-blocks-amp-layout-pages/</link>
      <source url="http://rachelappel.com/">Rachel Appel</source>
      <author>rachel</author>
      <dc:creator>rachel</dc:creator>
      <guid isPermaLink="False">d89fbff0b67cbdc61cde07f40c3e9a10</guid>
      <pubDate>Mon, 09 Aug 2010 00:50:00 GMT</pubDate>
    </item>
    <item>
      <title>ServiceLocator in &lt;b&gt;ASP.NET MVC&lt;/b&gt; 3 Preview 3 – Part 1 - Coding N Design</title>
      <description>For past couple of days I was checking out features of the new &lt;b&gt;ASP.NET MVC&lt;/b&gt; Preview 3.There are couple of interesting new additions like integration with the new Razor viewengine,improvements in Model Validation,AJAX support and ...&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://codingndesign.com/blog/?p=164</link>
      <author>sankarsan</author>
      <dc:creator>sankarsan</dc:creator>
      <guid isPermaLink="False">http://codingndesign.com/blog/?p=164</guid>
      <pubDate>Sun, 08 Aug 2010 04:31:26 GMT</pubDate>
    </item>
    <item>
      <title>ASP.NET MVC 3 and Custom Extensions</title>
      <description>&lt;p&gt;When playing with the latest &lt;a href="http://aspnet.codeplex.com/wikipage?title=Road%20Map&amp;amp;referringTitle=MVC" target="_blank"&gt;ASP.NET MVC 3 Preview 1&lt;/a&gt; bits, some people have mentioned their dislike of the .&lt;font size="2" face="Courier New"&gt;cshtml&lt;/font&gt; extension used for the “razor” view engine that comes with &lt;a href="http://aspnet.codeplex.com/wikipage?title=Road%20Map&amp;amp;referringTitle=MVC" target="_blank"&gt;ASP.NET MVC 3&lt;/a&gt; and also &lt;a href="http://www.asp.net/webmatrix" target="_blank"&gt;WebMatrix&lt;/a&gt;. Well there are a number of ways you can change this. For the purposes of learning and tinkering, I decided to try and register a new view engine using the new Dependency Injection support within ASP.NET MVC 3.&lt;/p&gt;  &lt;p&gt;So, in the &lt;font size="2" face="Courier New"&gt;Global.asax.cs&lt;/font&gt; file I did this:&lt;/p&gt;  &lt;pre&gt;protected void Application_Start()&lt;br /&gt;{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; AreaRegistration.RegisterAllAreas();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; IUnityContainer container = new UnityContainer();&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; container.RegisterInstance&amp;lt;IControllerFactory&amp;gt;(new UnityControllerFactory(container));&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; container.RegisterType&amp;lt;IViewEngine, TestViewEngine&amp;gt;();&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; UnityMvcServiceLocator svcLocator = new UnityMvcServiceLocator(container);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; MvcServiceLocator.SetCurrent(svcLocator);&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; RegisterGlobalFilters(GlobalFilters.Filters);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; RegisterRoutes(RouteTable.Routes);&lt;br /&gt;}&lt;/pre&gt;

&lt;p&gt;&lt;em&gt;Note: Previously (and this options is still available), you would register your custom view engine by adding it to the existing Engines collections like so:&lt;/em&gt;&lt;/p&gt;

&lt;pre&gt;&lt;em&gt;ViewEngines.Engines.Add(new TestViewEngine());&lt;br /&gt;&lt;/em&gt;&lt;/pre&gt;

&lt;p&gt;My Custom view engine looked like this:&lt;/p&gt;

&lt;pre&gt;public class TestViewEngine : VirtualPathProviderViewEngine&lt;br /&gt;{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public TestViewEngine()&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; base.AreaViewLocationFormats = new string[] { &amp;quot;~/Areas/{2}/Views/{1}/{0}.glav&amp;quot;, &amp;quot;~/Areas/{2}/Views/Shared/{0}.glav&amp;quot; };&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; base.AreaMasterLocationFormats = new string[] { &amp;quot;~/Areas/{2}/Views/{1}/{0}.glav&amp;quot;, &amp;quot;~/Areas/{2}/Views/Shared/{0}.glav&amp;quot; };&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; base.AreaPartialViewLocationFormats = new string[] { &amp;quot;~/Areas/{2}/Views/{1}/{0}.glav&amp;quot;, &amp;quot;~/Areas/{2}/Views/Shared/{0}.glav&amp;quot; };&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; base.ViewLocationFormats = new string[] { &amp;quot;~/Views/{1}/{0}.glav&amp;quot;, &amp;quot;~/Views/Shared/{0}.glav&amp;quot; };&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; base.MasterLocationFormats = new string[] { &amp;quot;~/Views/{1}/{0}.glav&amp;quot;, &amp;quot;~/Views/Shared/{0}.glav&amp;quot; };&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; base.PartialViewLocationFormats = new string[] { &amp;quot;~/Views/{1}/{0}.glav&amp;quot;, &amp;quot;~/Views/Shared/{0}.glav&amp;quot; };&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; protected override IView CreatePartialView(ControllerContext controllerContext, string partialPath)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return new CshtmlView(partialPath, &amp;quot;&amp;quot;);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;br /&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; protected override IView CreateView(ControllerContext controllerContext, string viewPath, string masterPath)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return new CshtmlView(viewPath, masterPath);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;

&lt;p&gt;This view engine implementation looked for a view extension of ‘&lt;font size="2" face="Courier New"&gt;.glav&lt;/font&gt;’ and invokes the “razor” view to parse the document/page (&lt;em&gt;CshtmlView&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;ASP.NET MVC 3 will use the &lt;font size="2" face="Courier New"&gt;MvcServiceLocator&lt;/font&gt; that we have supplied, and call the ‘&lt;font size="2" face="Courier New"&gt;GetAllInstances’ &lt;/font&gt;method when determining what classes implement &lt;font size="2" face="Courier New"&gt;IViewEngine&lt;/font&gt; so that it can invoke the correct view engine.&lt;/p&gt;

&lt;p&gt;By default, ASP.NET MVC 3 has the &lt;font size="2" face="Courier New"&gt;System.Web.Mvc.WebFormViewEngine&lt;/font&gt; and the &lt;font size="2" face="Courier New"&gt;System.Web.Mvc.CshtmlViewEngine&lt;/font&gt; registered. We are adding a new custom view engine to the mix by registering it with the service locator that ASP.NET MVC uses ( &lt;font size="2" face="Courier New"&gt;MvcServiceLocator&lt;/font&gt; ). When ASP.NET MVC goes looking for a view engine it will use the &lt;font size="2" face="Courier New"&gt;MvcServiceLocator&lt;/font&gt; to get all instances of &lt;font size="2" face="Courier New"&gt;IViewEngine&lt;/font&gt; (via a call to ‘&lt;font size="2" face="Courier New"&gt;GetAllInstances’ &lt;/font&gt;) in order to try and satisfy the request to process/render a particular view.&lt;/p&gt;

&lt;p&gt;Now all this theory is good and well, and I thought it would work however it didn’t. One of the issues with Unity (and thats what I was basing my testing on since that was the example provided with ASP.NET MVC 3) is the the ' &lt;font size="2" face="Courier New"&gt;MvcServiceLocator.GetAllInstances&lt;/font&gt; ‘ method, calls the &lt;font size="2" face="Courier New"&gt;ResolveAll&lt;/font&gt; method of the &lt;font size="2" face="Courier New"&gt;UnityContainer&lt;/font&gt;. Now this *only* returns all instances if they have been registered by name, so I had to change one line of my code in the &lt;font size="2" face="Courier New"&gt;Global.asax.cs&lt;/font&gt; from:&lt;/p&gt;

&lt;pre&gt;container.RegisterType&amp;lt;IViewEngine, TestViewEngine&amp;gt;();&lt;/pre&gt;

&lt;p&gt;to&lt;/p&gt;

&lt;pre&gt;container.RegisterType&amp;lt;IViewEngine, TestViewEngine&amp;gt;(&amp;quot;test&amp;quot;);&lt;br /&gt;&lt;/pre&gt;

&lt;p&gt;and it all worked and my new engine was invoked. Apparently this is known behaviour with Unity and may be changed in future versions, but for now, this is how it works.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: There are a few other ways of registering custom view engines and also associating file extensions with a particular view engine. This is just one way of doing it.&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://weblogs.asp.net/pglavich/archive/2010/08/08/asp-net-mvc-3-and-custom-extensions.aspx</link>
      <author>Glav</author>
      <dc:creator>Glav</dc:creator>
      <guid isPermaLink="False">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7581595</guid>
      <pubDate>Sat, 07 Aug 2010 21:00:00 GMT</pubDate>
    </item>
    <item>
      <title>ASP.NET MVC 2 &amp; StructureMap Error - ASP.NET MVC 2 - GetControllerInstance(System.Type)': no suitable method found to override - OH NO!</title>
      <description>Don't you just wish that when you port your applications from ASP.NET MVC 1 to ASP.NET MVC 2 and beyond that things just worked? If it did, I guess it would put some of us out of work. It is always nice to know that thanks to these updates and the technologies we employ to make our lives easier, we  &lt;b&gt;...&lt;/b&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://iamdotnetcrazy.blogspot.com/2010/08/aspnet-mvc-2-structuremap-error-aspnet.html</link>
      <source url="http://iamdotnetcrazy.blogspot.com/">Ramblings Of A Crazy DotNet Woman</source>
      <author> (Kila Morton)</author>
      <dc:creator> (Kila Morton)</dc:creator>
      <guid isPermaLink="False">ee0bdd20e785db3fe007bb043c9a1133</guid>
      <pubDate>Sat, 07 Aug 2010 20:48:00 GMT</pubDate>
    </item>
    <item>
      <title>&lt;b&gt;ASP.NET MVC&lt;/b&gt;: Adding client-side validation to &lt;b&gt;...&lt;/b&gt;</title>
      <description>In the last two posts (here and here) we added client-side validation support for the ValidatePasswordLengthAttribute that is part of the default &lt;b&gt;ASP.NET MVC&lt;/b&gt; project template. In this post we will look at another of the validators in ...&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://blogs.msdn.com/b/stuartleeks/archive/2010/08/06/asp-net-mvc-adding-client-side-validation-to-propertiesmustmatchattribute.aspx</link>
      <author>Stuart Leeks</author>
      <dc:creator>Stuart Leeks</dc:creator>
      <guid isPermaLink="False">http://blogs.msdn.com/b/stuartleeks/archive/2010/08/06/asp-net-mvc-adding-client-side-validation-to-propertiesmustmatchattribute.aspx</guid>
      <pubDate>Fri, 06 Aug 2010 00:25:15 GMT</pubDate>
    </item>
    <item>
      <title>Connect Your Web App To Twitter Using Hammock &amp; C-Sharp</title>
      <description>The Challenge Recently I was challenged with the task of connecting a web application to Twitter and sending out a tweet. This article will focus on the connection to Twitter, saving the talk about sending out a tweet for another article. Having used TweetSharp last year, I thought I would check for &lt;b&gt;...&lt;/b&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://byatool.com/c/connect-your-web-app-to-twitter-using-hammock-csharp/</link>
      <source url="http://byatool.com/">Programming By A Tool</source>
      <author>Andre</author>
      <dc:creator>Andre</dc:creator>
      <guid isPermaLink="False">b66979bbd50c0888d73ede83190fb33a</guid>
      <pubDate>Thu, 05 Aug 2010 07:45:00 GMT</pubDate>
    </item>
    <item>
      <title>On An Unobtrusive IronPython ViewEngine for ASP.NET MVC</title>
      <description>With all the recent attention given to the Razor view engine, I thought it would be interesting to see if I could prototype an even less intrusive syntax for a view engine. In other words… From WebForms: 1 2 3 4  &lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://dllhell.net/2010/08/05/on-an-unobtrusive-ironpython-viewengine-for-asp-net-mvc/</link>
      <source url="http://dllhell.net/">John Zablocki's dllHell.net</source>
      <author>jzablocki</author>
      <dc:creator>jzablocki</dc:creator>
      <guid isPermaLink="False">cb7539b0c7140fd07445806eb6b66faf</guid>
      <pubDate>Thu, 05 Aug 2010 02:02:00 GMT</pubDate>
    </item>
    <item>
      <title>ASP.NET MVC DI with Common Service Locator and NInject</title>
      <description>I think everyone knows about Dependency Injection (DI) and how important it is when it comes to building low-coupled components. There are many IoC (Inversion of Control) containers. The most popular are Spring.NET CastleWindsor StructureMap Ninject Unity Autofac Each of them has its own pros and co &lt;b&gt;...&lt;/b&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://code.dortikum.net/2010/08/05/asp-net-mvc-di-with-common-service-locator-and-ninject/</link>
      <source url="http://code.dortikum.net/">Open Coding</source>
      <author>Boyan Mihaylov</author>
      <dc:creator>Boyan Mihaylov</dc:creator>
      <guid isPermaLink="False">c8128fbe350427f589aed2eb642e874a</guid>
      <pubDate>Thu, 05 Aug 2010 01:41:00 GMT</pubDate>
    </item>
    <item>
      <title>Orchard 0.5 is out</title>
      <description>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 10px 0px; display: inline; border-top: 0px; border-right: 0px" title="(c) Bertrand Le Roy 2004" border="0" alt="(c) Bertrand Le Roy 2004" align="left" src="http://weblogs.asp.net/blogs/bleroy/1651244_f6972fa67b_z_17A41897.jpg" width="164" height="244" /&gt; Before I joined Microsoft seven years ago, I had spent a couple of years building a Web CMS. It wasn’t open-source unfortunately but the experience convinced me that most public-facing web sites would shortly use some form of CMS. I also forged strong opinions about the right level of component granularity that a CMS must implement.&lt;/p&gt;  &lt;p&gt;For the last year and a half, I have been fortunate enough to work with a talented small team within ASP.NET and with a growing community from all around the world on building a new Web CMS on top of ASP.NET MVC.&lt;/p&gt;  &lt;p&gt;Today I am very happy to invite my readers to check out some of the results of that work: earlier this week, &lt;a href="http://orchard.codeplex.com/releases/view/45076"&gt;we released version 0.5 of Orchard&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;We are far from being done, but this is an important milestone in a couple of ways.&lt;/p&gt;  &lt;p&gt;First, the set of features that we implemented makes it reasonable to build &lt;em&gt;some&lt;/em&gt; sites with Orchard.&lt;/p&gt;  &lt;p&gt;Second, our developer story is now fairly complete. We have a reasonable and stable developer story that you can bet on today to build extensions (the UI story is not at this point yet and is what we’ll work on next). This means that from this point on, progress should begin to come more from the community than from our small team.&lt;/p&gt;  &lt;p&gt;If we’ve done our jobs right, it should be &lt;strong&gt;loads of fun&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;I just can’t wait to see the cool stuff that you’re going to build…&lt;/p&gt;  &lt;p&gt;Orchard 0.5:   &lt;br /&gt;&lt;a href="http://orchard.codeplex.com/releases/view/45076"&gt;http://orchard.codeplex.com/releases/view/45076&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Documentation:   &lt;br /&gt;&lt;a title="http://orchardproject.net/docs" href="http://orchardproject.net/docs"&gt;http://orchardproject.net/docs&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://weblogs.asp.net/bleroy/archive/2010/08/05/orchard-0-5-is-out.aspx</link>
      <author>bleroy</author>
      <dc:creator>bleroy</dc:creator>
      <guid isPermaLink="False">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7579334</guid>
      <pubDate>Wed, 04 Aug 2010 21:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Restrict &lt;b&gt;ASP.NET MVC&lt;/b&gt; Action&amp;#39;s Using The ActionMethodSelectorAttribute</title>
      <description>A huge reason why I love &lt;b&gt;ASP.NET MVC&lt;/b&gt; is its flexibility and it is extensible. I recently came across a topic on the forums on how to restrict certain HTTP requests when using &lt;b&gt;ASP.NET MVC&lt;/b&gt;. This is a perfect scenario to create your own ...&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://www.dotnetcurry.com/ShowArticle.aspx?ID=551</link>
      <author>Malcolm Sheridan</author>
      <dc:creator>Malcolm Sheridan</dc:creator>
      <guid isPermaLink="False">http://www.dotnetcurry.com/ShowArticle.aspx?ID=551</guid>
      <pubDate>Mon, 02 Aug 2010 17:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Dynamic Methods in View Data</title>
      <description>In ASP.NET MVC 3 Preview 1, we introduced some syntactic sugar for creating and accessing view data using new dynamic properties. Sugar, it’s not just for breakfast. Within a controller action, the ViewModel property of Controller allows setting and accessing view data via property accessors that ar &lt;b&gt;...&lt;/b&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://haacked.com/archive/2010/08/02/dynamic-methods-in-view-data.aspx</link>
      <source url="http://haacked.com/Default.aspx">you've been HAACKED</source>
      <author>Haacked</author>
      <dc:creator>Haacked</dc:creator>
      <guid isPermaLink="False">8c4552ecb1b34d11fe2defd53c2e0d39</guid>
      <pubDate>Mon, 02 Aug 2010 10:21:00 GMT</pubDate>
    </item>
    <item>
      <title>WebMatrix: What is it, Why use it, and Who’s it for?</title>
      <description>What is WebMatrix? WebMatrix is a free, lightweight Web development stack that makes it easy to build web sites that can grow with you, from installation to product deployment &amp; maintenance. Developers can take advantage of mastering fundamental concepts of building apps for the web by using WebMatr &lt;b&gt;...&lt;/b&gt;&lt;br /&gt;&lt;div id="postfooter"&gt;&lt;hr /&gt;Thanks for subscribing to AspDotNetMVC.com.&lt;br /&gt;Make sure you checkout the newly added &lt;a href="http://aspdotnetmvc.com/books/" title="ASP.NET MVC Books Page"&gt;ASP.NET MVC Books page&lt;/a&gt;.&lt;/div&gt;</description>
      <link>http://rachelappel.com/webmatrix/webmatrix-what-is-it-why-use-it-and-who-rsquo-s-it-for/</link>
      <source url="http://rachelappel.com/">Rachel Appel</source>
      <author>rachel</author>
      <dc:creator>rachel</dc:creator>
      <guid isPermaLink="False">489201774a04fb30383fcbc486918074</guid>
      <pubDate>Mon, 02 Aug 2010 06:27:00 GMT</pubDate>
    </item>
  </channel>
</rss>
