ASP.NET MVC 4 Beta Released! - Jon Galloway

ASP.NET MVC 4 Beta Released!

Last September at //BUILD/ we announced ASP.NET MVC 4 Developer Preview. Today we're releasing the next release on the road to ASP.NET MVC 4, ASP.NET MVC 4 Beta. This release includes some great new features since the ASP.NET MVC 4 Developer Preview, including the introduction of ASP.NET Web API.

You can get all the info on ASP.NET MVC 4 at http://asp.net/mvc/mvc4

Here's an overview of what's new, and a quick reminder of some of the top features in ASP.NET MVC 4 in general.

ASP.NET Web API

The big new feature since the Developer Preview is the introduction of ASP.NET Web API.

2012-02-16 13h48_04

ASP.NET Web API started out as WCF Web API. I've personally been a big fan of Web API - you may have seen my earlier post, WCF MediaTypeProcessor + Speech API = SpeechProcessor fun. I'm excited to see these merge together, as this brings a lot of power to Web API, unites programming models and removes the burden of having to choose between the two.

Why use ASP.NET Web API?

ASP.NET MVC was designed primarily for interacting with humans via web pages. The main use case is emitting HTML and responding to user input (submitting forms, clicking links, etc.). It does a great job at that.

ASP.NET Web API is built for all the other, non-human interactions your site or service needs to support. Think about jQuery code that's making an Ajax request, or a service interface that supports a mobile client. In these cases, the requests are coming from code and expect some kind of structured data and specific HTTP Status Codes.

These two are very complimentary, but different enough that trying to build out HTTP services using ASP.NET MVC took a lot of work to get right. The inclusion of ASP.NET Web API in ASP.NET MVC (and availability elsewhere, including ASP.NET Web Pages) means that you can build top-notch HTTP services in an ASP.NET MVC application, taking advantage of a common base and using the same underlying paradigms. I'm going to quote the release notes (normally something I'd frown on, but since I helped post them I'm going to quote them):

ASP.NET Web API includes support for the following features:

  • Modern HTTP programming model: Directly access and manipulate HTTP requests and responses in your Web APIs using a new, strongly typed HTTP object model. The same programming model and HTTP pipeline is symmetrically available on the client through the new HttpClient type.
  • Full support for routes: Web APIs now support the full set of route capabilities that have always been a part of the Web stack, including route parameters and constraints. Additionally, mapping to actions has full support for conventions, so you no longer need to apply attributes such as [HttpPost] to your classes and methods.
  • Content negotiation: The client and server can work together to determine the right format for data being returned from an API. We provide default support for XML, JSON, and Form URL-encoded formats, and you can extend this support by adding your own formatters, or even replace the default content negotiation strategy.
  • Model binding and validation: 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 the Web API actions.
  • Filters: Web APIs now supports filters, including well-known filters such as the [Authorize] attribute. You can author and plug in your own filters for actions, authorization and exception handling.
  • Query composition: By simply returning IQueryable<T>, your Web API will support querying via the OData URL conventions.
  • Improved testability of HTTP details: Rather than setting HTTP details in static context objects, Web API actions can now work with instances of HttpRequestMessage and HttpResponseMessage. Generic versions of these objects also exist to let you work with your custom types in addition to the HTTP types.
  • Improved Inversion of Control (IoC) via DependencyResolver: Web API now uses the service locator pattern implemented by MVC’s dependency resolver to obtain instances for many different facilities.
  • Code-based configuration: Web API configuration is accomplished solely through code, leaving your config files clean.
  • Self-host: Web APIs can be hosted in your own process in addition to IIS while still using the full power of routes and other features of Web API.

That's a lot of good stuff. I'm going to highlight a few of my favorites.

Full Support For Routes

If you're used to the routing features in ASP.NET, you'll feel right at home with ASP.NET Web API. The routes are defined right where you'd expect in Global.asax. Here's how they look in an ASP.NET MVC application:

routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
);

One small difference you may have noticed - since ASP.NET Web API is built around the standard HTTP methods, there's no need for an Action - those are inferred from the HTTP Method.

So when you create a new ApiController, it looks like this:

public class ValuesController : ApiController
{
    // GET /api/values
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }

    // GET /api/values/5
    public string Get(int id)
    {
        return "value";
    }

    // POST /api/values
    public void Post(string value)
    {
    }

    // PUT /api/values/5
    public void Put(int id, string value)
    {
    }

    // DELETE /api/values/5
    public void Delete(int id)
    {
    }
}

A GET request maps to the Get action, and you don't need to map that anywhere. If found that really easy to work with, and it pushes you to do the right thing as far as building services around the correct HTTP verbs.

Model Binding

Model binding is a powerful feature in ASP.NET MVC (and on its way to Web Forms in ASP.NET 4.5 too). It allows you to write a method that accepts your custom object type as a parameter, and ASP.NET Web API handles mapping posted data to that parameter. It lets you focus on implementing your specifications and get out of the business of mindless (and error prone) mapping code. Here's an example, showing how a method that accepts posted data can focus on the logic of handling the data:

public HttpResponseMessage<comment> PostComment(Comment comment) 
{
    comment = repository.Add(comment);
    var response = new HttpResponseMessage<comment>(comment, HttpStatusCode.Created);
    response.Headers.Location = new Uri(Request.RequestUri, "/api/comments/" + comment.ID.ToString());
    return response;
}

Filters

Filters are a really powerful feature in ASP.NET MVC. You can use attributes to apply pre/post logic to action methods, entire controllers, or globally to all action methods. They're available in ASP.NET Web API as well, and you use the same kind of logic to both build and apply them. I worked with a sample that applied some custom attribute based validation using a global action filter, and found it really to apply my ASP.NET MVC background.

Content Negotiation

Content Negotiation is the process by which clients (e.g. your web browser) and servers decide on content formats. Clients send accept headers which tell the server what content type they prefer - XML, JSON, VCard, iCal, image, audio, custom formats, etc. - and the server supplies the best fit for each client's requested formats automatically. This actually happens all the time, on each page you request, without you knowing or caring about it.

ASP.NET Web API has this built in, so a simple one line Web API action method will return either XML or JSON depending on what the client requests, without your needing to do anything to support it. I wrote about the general idea in detail in my WCF MediaTypeProcessor + Speech API = SpeechProcessor fun example, which showed returning audio data if the client supports it. The API's changed, but the concept is the same, because it's built on standard content negotiation standards.

ASP.NET Web API Content

There's a lot more to say about ASP.NET Web API, so we've built out a new ASP.NET Web API content area on the ASP.NET site which includes some documentation and an introductory screencast series.

You can see a full presentation on ASP.NET Web API from Daniel Roth (PM for ASP.NET MVC and ASP.NET Web API) at last week's C4MVC meeting here:

Bundling by default

Another new very useful feature since the developer preview is the use of Bundling in the ASP.NET project templates. The <head> section of the _Layout.cshtml in a new ASP.NET MVC 4 Beta project looks like this now:

<head>
    <meta charset="utf-8" />
    <title>@ViewBag.Title - My ASP.NET MVC Application</title>
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
    <link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" />
    <link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/themes/base/css")" rel="stylesheet" type="text/css" />
    <script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Scripts/js")"></script>
    <meta name="viewport" content="width=device-width" />
</head>

There's no need to call out each individual script or CSS file, because the referenced scripts are all automatically bundled and minified.

One nice advantage of this that may not be immediately obvious is that this removes the hardcoded JavaScript references from the templates. For example, in the past, updating jQuery in an ASP.NET MVC application was a two step process:

  1. Grab the latest jQuery version from NuGet
  2. Search through my views for hardcoded references to the old jQuery version and update them to the new version

Now that bundling is handling scripts in the /Scripts folder, that second step is automatic.

Razor Enhancements

There are few nice enhancements to Razor (so they'll work in ASP.NET Web Pages 2 as well) that simplify some common scenarios.

URL Resolution - Support for ~/ syntax

Instead of writing this:

<script src="@Url.Content("~/Scripts/Site.js")"></script>

You can now write this:

<script src="~/Scripts/Site.js"></script>

Razor understands the ~/ syntax and automatically resolves it with all standard HTML attributes.

Conditional attribute rendering

If you have an attribute that might be null, in the past you've needed to do a null check to avoid writing out an empty attribute, like this:

<div @{if (myClass != null) { <text>class="@myClass"</text> } }>Content</div>

Now Razor is able to handle that automatically, so you can just write out the attribute. If it's null, the attribute isn't written:

<div class="@myClass">Content</div>

So if @myClass is null, the output is just this:

<div>Content</div>

Again, this is a Razor feature, so it's shared with ASP.NET Web Pages 2.

NuGet Based Project Installation

When you create a new ASP.NET MVC 4 project, you'll notice that a bunch of NuGet packages are being installed. That's because the project template heavily leverages the NuGet package restore feature - in fact, even ASP.NET MVC 4 is a NuGet package.

2012-02-16 16h05_20

ASP.NET MVC installation has been taking increasing advantage of including NuGet pagkages in Visual Studio templates with each release, and while the AspNetMvc package actually came out with the ASP.NET MVC 4 Developer Preview, the Beta buys into it even more.

This makes it easy to take advantage of the NuGet Package Restore feature, which enables you to leverage NuGet without having to commit your binary dependencies to source control.

Software Requirements and Installation

The ASP.NET MVC 4 components for Visual Studio require PowerShell 2.0 and either Visual Studio 2010 with Service Pack 1 or Visual Web Developer Express 2010 with Service Pack 1. The ASP.NET MVC 4 Beta doesn't work with the Developer Previews of Visual Studio 11 or .NET 4.5. Stand by for those.

ASP.NET MVC 4 Beta runs side by side with previous versions of ASP.NET MVC. It's a pretty lightweight install - I've installed and uninstalled it lots of times without any impact on my other ASP.NET projects or Visual Studio in general.

You can install ASP.NET MVC 4 via Web PI or using the standalone installer executable - both are available at http://www.asp.net/mvc/mvc4

In the EULA (found at %ProgramFiles(x86)%\Microsoft ASP.NET\ASP.NET MVC 4\eula.rtf after install), you'll see that section 1a includes a Go Live license providing you meet the terms listed. I am not a lawyer, I am not a dentist, read the EULA, etc., but it does include this text: "If you comply with the rest of these license terms, you may also distribute to third parties or deploy for third parties to access over the Internet the ASP.NET programs that you develop using the software, provided that..."

Update: Where to learn more about ASP.NET MVC 4 and ASP.NET Web API

ASP.NET Site Content

http://asp.net/vnext

The best way to keep up with upcoming ASP.NET releases is at http://asp.net/vnext - that's where we put all the videos, links to new tutorials, and information about downloads. If you just remember one URL, that's the one.

http://asp.net/mvc/mvc4

We've started offering a dedicated page for each new ASP.NET MVC version. In addition to the installers and top links, they have some nice bullet points you can send to your boss to convince them to let you upgrade. :-)

http://asp.net/web-api

There's a lot of ASP.NET Web API specific content, including tutorials and a six part screencast series there. It's also got a link to the ASP.NET Web API Forum, the best place to get questions answered by the ASP.NET Web API team.

Scott Guthrie presentation on ASP.NET MVC 4 at TechDays

Scott Guthrie announced ASP.NET MVC 4 at TechDays 2012 in the Netherlands. The video's now up on Channel 9.

Herding Code: Brad Wilson on ASP.NET MVC 4

I interviewed Brad Wilson (member of the ASP.NET team and co-author of Wrox Professional ASP.NET MVC 3) for the Herding Code podcast.

Download / Listen:

Herding Code 134: Brad Wilson on ASP.NET 4 Beta and ASP.NET Web API

Feedback and Help

While I'm always happy for blog comments, there are better places to go to leave feedback or get help.

To get help (often directly from the ASP.NET team), you can use the forums:

The best way to report bugs is via Connect. Honest, these route right into the team's bug database.

The best place for suggestions (not bugs) is on the ASP.NET MVC UserVoice page. While it's probably late in the cycle to get big suggestions into ASP.NET 4, it's great time to start shaping the next version ASP.NET MVC.

Published Thursday, February 16, 2012 4:37 PM by Jon Galloway

Comments

# re: ASP.NET MVC 4 Beta Released!

What if I want to end up with <div class=""></div>  and not <div></div> in the HTML?

Thursday, February 16, 2012 9:16 PM by Peter

# re: ASP.NET MVC 4 Beta Released!

@Peter - If you want an empty string, you can use that - e.g. if myClass = "", class="@myClass" will give you class="".

This only removes the attribute if the value is null.

Thursday, February 16, 2012 9:50 PM by Jon Galloway

# re: ASP.NET MVC 4 Beta Released!

I installed MVC4 Beta on three machines. I had MVC4 CTP installed on all three.  I uninstalled and rebooted before installing the beta. On all three of these machine, I can no longer open any MVC3 or existing MVC4 CTP projects.  I get an error that the project type is not supported.  I can not even create a new MVC4 project on any of these machines either.

---------------------------

Microsoft Visual Studio

---------------------------

The project file 'C:\Users\rgibbens\AppData\Local\Temp\yqky1qqa.2eg\Temp\MvcApplication4.csproj' cannot be opened.

The project type is not supported by this installation.

---------------------------

OK   Help  

---------------------------

Thursday, February 16, 2012 9:52 PM by Rob Gibbens

# re: ASP.NET MVC 4 Beta Released!

@Jon: I meant if myClass == null and I write class="@myClass" but I do not want it to remove the class attribute, how can I tell it to output it anyway (i.e. the current behavior)? BTW: does this apply to any attribute or only class? What if I write data-something="@myValue"? If this works the same as with class then it could cause some serious issues with jQuery since I can't count on an attribute being there no matter what. I have a feeling this would introduce more confusion / bugs than benefits.

Thursday, February 16, 2012 10:35 PM by Peter

# re: ASP.NET MVC 4 Beta Released!

Turns out that while trying to fix the problem, I was trying a lot of different things, including uninstalling and reinstalling VS2010. During the reinstall, I hadn't installed the Visual Web Developer feature.  This is what was causing my issue. After adding that feature and reapplying SP1, I am able to open all my projects again.

Thursday, February 16, 2012 10:55 PM by Rob Gibbens

# re: ASP.NET MVC 4 Beta Released!

From the official release notes:

Task Support for Asynchronous Controllers

You can now write asynchronous action methods as single methods that return an object of type Task or Task<ActionResult>.

For example, if you're using Visual C# 5...

Is the next version of the C#, 4.5 or 5?

Is the next version of the framework (with async support), 4.5 or 5?

Thursday, February 16, 2012 11:02 PM by Martin

# re: ASP.NET MVC 4 Beta Released!

I found this page from the start page of Visual Studio 2008, ASP.NET News. Visual Studio is installed on the server of my development web sites, so security is set high. I had to click Close 26 times because of Websites blocked by Internet Explorer Enhanced Security Configuration. Took a lot of work to see this page.

Friday, February 17, 2012 12:22 AM by Scott

# re: ASP.NET MVC 4 Beta Released!

@Martin It's talking about the .NET 4.5 task-based async support. www.asp.net/.../whats-new

Friday, February 17, 2012 12:52 AM by Jon Galloway

# re: ASP.NET MVC 4 Beta Released!

@Rob Gibbens - Glad you got that figured out. I've made that exact mistake before.

Friday, February 17, 2012 12:56 AM by Jon Galloway

# re: ASP.NET MVC 4 Beta Released!

@Scott - Hope it was worth it. So you're browsing from a server OS?

Friday, February 17, 2012 1:04 AM by Jon Galloway

# re: ASP.NET MVC 4 Beta Released!

Hi there. Nice news. I do have project implemented in WCF Web Api Preview 6.

Can this project be converted to ASP.NET Web Api?

Friday, February 17, 2012 1:40 AM by Radenko Zec

# re: ASP.NET MVC 4 Beta Released!

Hi Jon

I don't think your info on package restore is quite right, it seems to be using the same method as before docs.nuget.org/.../packages-in-visual-studio-templates, and package restore has to be enabled for new MVC 4 projects.

Certainly not a biggy though! I'm just curious as i've toyed with the idea of have project templates use package restore from the get go, though have had a go implementing it yet. Is this being looked at for future releases?

Cheers

Friday, February 17, 2012 5:11 AM by Rich

# re: ASP.NET MVC 4 Beta Released!

Am interested by the ~/ url resolution feature baked into Razor. Is there a clean way to hook into this to globally rewrite paths to a CDN eg. <img src="~/Content/image.jpg"/> is auto rewritten to <img src="s3/.../> based on the .jpg extension being present?

I've currently had a custom UrlHelper Url.Rewrite("~/relative") which conditionally rewrites based on extension or prefix. This clearly would no longer automatically hook into the leaner Razor syntax, without using this custom UrlHelper.

Friday, February 17, 2012 5:26 AM by Andy

# Distributed Weekly 142 &mdash; Scott Banwart&#039;s Blog

Pingback from  Distributed Weekly 142  &mdash;  Scott Banwart&#039;s Blog

Friday, February 17, 2012 9:38 AM by Distributed Weekly 142 — Scott Banwart's Blog

# re: ASP.NET MVC 4 Beta Released!

Does using Web API provide any performance gains (as opposed to just using an MVC controller emitting JSON) for very simple APIs?

Friday, February 17, 2012 10:39 AM by Alan

# re: ASP.NET MVC 4 Beta Released!

Nice!  Great new features.  

I've been bundling things in a sort of home-spun way, so having it baked into MVC (and so simply) will work much better.

Moving Web API from WCF to ASP.NET makes complete sense to me.  Just the name change makes it more obvious what I'm dealing with.

I'm looking forward to using all this MVC goodness in upcoming projects.

Friday, February 17, 2012 10:44 AM by Grahame Scott-Douglas

# re: ASP.NET MVC 4 Beta Released!

@Martin The next version of C# is 5 which has the additional language extensions to utilize the new features in the 4.5 framework.

Correct, Jon?

Friday, February 17, 2012 10:45 AM by David A

# re: ASP.NET MVC 4 Beta Released!

Hi,

Can i install it on VS 2011 Developer Preview ?

ASP.net MVC 4 Developer Preview able to install on VS 2011 but for this i get error.

Help.

Friday, February 17, 2012 11:18 AM by Jinal

# re: ASP.NET MVC 4 Beta Released!

@Jinal - System requirements currently says no.

Friday, February 17, 2012 2:12 PM by Dan

# re: ASP.NET MVC 4 Beta Released!

How can this self-host web API be configured to listen to a service bus endpoint?

www.asp.net/.../self-host-a-web-api

Friday, February 17, 2012 4:08 PM by snapching

# re: ASP.NET MVC 4 Beta Released!

The best way to get support or answers to questions is to use the ASP.NET support forums:

MVC: forums.asp.net/.../1

Web API: forums.asp.net/.../1

Friday, February 17, 2012 5:53 PM by Jon Galloway

# MVC4 and Web Api– make an Api the way you always wanted–Part 1

ASP.NET MVC is a huge success as framework and just recently, ASP.NET MVC4 Beta was released. While there

Friday, February 17, 2012 8:33 PM by Glavs Blog

# re: ASP.NET MVC 4 Beta Released!

@dan - thanks. I am confused b'coz ASP.net MVC 4 Dev. Prev. compitable with VS 2011 dev prev. this is not. I think i have to wait for sometime....

Friday, February 17, 2012 9:46 PM by Jinal

# re: ASP.NET MVC 4 Beta Released!

Nice work!

However, I have 2 questions:

1. Could we download from somewhere the examples from videos?Specifically, I am interested in

www.asp.net/.../paging-and-querying

2. <script src="~/Scripts/Site.js"></script>

Does it works for css too?

<link href='~/content/your.css' type='text/css' rel='stylesheet' />

Friday, February 17, 2012 11:31 PM by ignatandrei

# re: ASP.NET MVC 4 Beta Released!

@Rich - You're right. I updated the post. Thanks!

Saturday, February 18, 2012 1:57 PM by Jon Galloway

# re: ASP.NET MVC 4 Beta Released!

Possible issues with ASP.NET MVC 4 bundling and minifying:

• Some CDNs may not work correctly with query string arguments.  It would be better to have /scripts/js-2849219 instead of /scripts/js?v=2849219

• There should be a build in ability to inject unbundled .js, .css etc. files in debug mode without extra efforts from a developer; otherwise developers would have to implement this common functionality over and over again. For example there could be a flag in Web.config – BundleScripts=”ReleaseOnly”, MinifyScripts=”ReleaseOnly”, MinifyContent=”Always” or something like that.

• Is it possible to bundle .js and .coffee files into one file?

• Deploying JavaScript source files not minified and with comments to production servers is a bad idea; non OSS developers tend to not share their code base with the public.

• I think there should be an ability to generate a bundles in save them on disk during the build (or even better right after original .js/.css files are modified). Then these bundle files will be deployed to production servers instead of source files. A correct links to bundle files should be inserted in a view page (by Html helper)

• There should be an ability to resolve references in modular JavaScript code and bundle only those modules which are referenced in a specified entry .js file in a specific order (similar how node-browserify works).

Other thoughts:

Is there an ability to gzip html/css/js output in this release? Or it should be handled by IIS instead?

Saturday, February 18, 2012 7:30 PM by Konstantin Tarkus

# re: ASP.NET MVC 4 Beta Released!

Thanks Jon,

Some great and very useful information here. Will be putting it into practice sooner rather than later!

Monday, February 20, 2012 6:38 PM by Tim James

# re: ASP.NET MVC 4 Beta Released!

i wonder in asp.net web api you no longer need a wcf service in place, so is it the end of WCF?

WCF web api was working fine with webGet, WebInvoke, UriTemplate, so why this is shifted to asp.net web api to bring the controller style ?

Now tell if i want to expose my WCF api in a rest full way over http how can i do this? will i use wcf web api style means webGet /Invoke/ UriTemplate ?

Thanks in advance.

Wednesday, February 22, 2012 2:34 AM by neon2

# re: ASP.NET MVC 4 Beta Released!

That would be great if Web API could count the number of requests made by user withing X timeframe (by default an hour), and send the number of remaining requests in HTTP headers.

Wednesday, February 22, 2012 5:26 AM by Konstantin Tarkus

# re: ASP.NET MVC 4 Beta Released!

Will Web API and the IQueryable<T> bits run on Mono?

Thursday, February 23, 2012 11:14 AM by James

# REST with Silverlight 5, ASP.NET Web API, and MVC 4 Beta

At the South Florida Code Camp I gave a newer version of the REST Silverlight talk using the just released

Sunday, February 26, 2012 8:52 PM by Microsoft Weblogs

# re: ASP.NET MVC 4 Beta Released!

Web API ... almost able to reach where OpenRasta was maybe ..couple years ago? a good start tho~

Wednesday, February 29, 2012 1:28 AM by erci

# re: ASP.NET MVC 4 Beta Released!

This is a list of most requested features for MVC 4 by users all over the world:

aspnet.uservoice.com/.../41201-asp-net-mvc

Did you introduced solutions for any of the displayed issues? I guess not. Clearly the number one problem for years now, the i18n, has not been addressed. We still really on localization techniques from ASP.NET 2.

Microsoft is putting up dozens of new sites to collect feedback from users but then ignores those requests entirely.

Saturday, March 03, 2012 2:19 PM by marko

# re: ASP.NET MVC 4 Beta Released!

Can anyone tell me where this LiveMeeting session was announced oder listed?

I´m looking for (a) resource(s) where I could attend to these kind of events?

Friday, March 16, 2012 3:39 AM by tkrause

# 21 марта: что нового в Visual Studio?

Данная публикация является переводом статьи Jason Zander “ March 21st What’s Happening Around Visual

Sunday, March 25, 2012 2:59 PM by Секреты Visual Studio

# re: ASP.NET MVC 4 Beta Released!

We're loving the way WebAPI is going it certainly looking like it will fill some of the gaps left by WCF

Sunday, March 25, 2012 3:14 PM by Carl Wright

# re: ASP.NET MVC 4 Beta Released!

where get the new file and update it to my site :-0

Monday, March 26, 2012 12:20 AM by touch computer

# re: ASP.NET MVC 4 Beta Released!

You should do a 5 minute conference call with me and allow me to explain the fundamental miscalculation you are making in your otherwise awesome tooling. You are dispensing the exact thing developers DO NOT WANT which are more tasks, more tools and more choices. "Coding" should stay at Microsoft. (Or change your name to Macrohard). Software development MUST become a matter of "picking the brains" of someone who understands a valuable business opportunity, not "taxing the concentration" of a Geek. You, Microsoft, are almost there... you just think too incrementally, and not expoentially. I love Microsoft and hope the big steps start in Redmond... but sometimes I think you are doomed to be the stepping stone. (Not that I think Bill Gates would mind that... I think he is a facilitator at heart...) but you could facilitate yourselves... the view from here...

Tuesday, March 27, 2012 6:32 PM by billrosspaxedi

# re: ASP.NET MVC 4 Beta Released!

Konstantin Tarkus, try Bundle Transformer (bundletransformer.codeplex.com) - a modular extension for System.Web.Optimization (aka ASP.NET Bundling and Minifying). In Bundle Transformer implemented a number of opportunities to simplify debugging.

In addition, you can also install translator-adapters that implement the translation of code on intermediate languages (LESS, Sass, SCSS and CoffeeScript).

Friday, March 30, 2012 11:24 AM by Andrey Taritsyn

# March 21st What’s Happening Around Visual Studio

It&rsquo;s been a busy month since releasing the beta of Visual Studio 11 and .NET Framework 4.5 ! I&rsquo;ve

Wednesday, April 04, 2012 7:05 PM by Jason Zander's WebLog

# Bundle Transformer ??? ?????????????????? ???????????????????? ?????? ASP.NET Bundling and Minification &laquo; ???????????? ??????????????

Pingback from  Bundle Transformer ??? ?????????????????? ???????????????????? ?????? ASP.NET Bundling and Minification &laquo; ???????????? ??????????????

# re: ASP.NET MVC 4 Beta Released!

We are developing a application in ASP.NET MVC 4 and using Bundling feature. According to our understanding this feature will only minify the js and css files, what if we need to apply http compression on them?

Friday, May 18, 2012 3:18 AM by vijen12000

# Upshotjs Parameters | Descargar Peliculas

Pingback from  Upshotjs Parameters | Descargar Peliculas

Saturday, May 19, 2012 6:10 AM by Upshotjs Parameters | Descargar Peliculas

# &raquo; Apicontroller Queryable Upshot Peliculas Online

Pingback from  &raquo; Apicontroller Queryable Upshot Peliculas Online

Wednesday, June 06, 2012 11:42 AM by » Apicontroller Queryable Upshot Peliculas Online

# I primi passi con PhoneGap: accesso ai dati tramite Web API di MVC 4

Come promesso la volta scorsa, avevo intenzione di scrivere un post con lo scopo di mostrare come raggiungere

Monday, July 02, 2012 3:38 PM by Il blog di Matteo Pagani

# re: ASP.NET MVC 4 Beta Released!

What if I have: <div class="myOtherClass @myClass">Content</div> and @myClass is null?

Friday, July 13, 2012 10:32 AM by Thanh Nguyen

# Sanderson Web Api | Descargar Peliculas

Pingback from  Sanderson Web Api | Descargar Peliculas

Saturday, July 21, 2012 2:23 PM by Sanderson Web Api | Descargar Peliculas

# re: ASP.NET MVC 4 Beta Released!

Hello to every body, it's my first pay a visit of this weblog; this website contains remarkable and genuinely excellent information in support of visitors.

Saturday, August 04, 2012 7:08 AM by Burbank

# One ASP.NET &#8211; Making JSON Web APIs with ASP.NET MVC 4 Beta and ASP.NET Web API | UmeedainTimes.com

Pingback from  One ASP.NET &#8211; Making JSON Web APIs with ASP.NET MVC 4 Beta and ASP.NET Web API | UmeedainTimes.com

# Building an ASP.NET MVC4 Application with EF and WebAPI | TheKingofStress

Pingback from  Building an ASP.NET MVC4 Application with EF and WebAPI | TheKingofStress

# Building an ASP.NET MVC4 Application with EF and WebAPI | WpApp Demo

Pingback from  Building an ASP.NET MVC4 Application with EF and WebAPI | WpApp Demo

# John Galloway discusses ASP.Net 4 &laquo; jeffdotnet

Pingback from  John Galloway discusses ASP.Net 4 &laquo; jeffdotnet

Thursday, September 06, 2012 10:03 AM by John Galloway discusses ASP.Net 4 « jeffdotnet

# Introduction to ASP.NET MVC 4

Introduction to ASP.NET MVC 4

Friday, September 14, 2012 8:26 AM by Web Development Blog

# re: ASP.NET MVC 4 Beta Released!

Great web development, design and marketing company. Best

<a style="outline: none; text-decoration: none; color:#FFF" href="websitedevelopmentny.org/"> ecommerce website  </a> you can find on the internet.

Saturday, September 22, 2012 6:19 AM by WebDevelopment

# Introduction to ASP.NET MVC 4

Introduction to ASP.NET MVC 4

Sunday, September 30, 2012 2:29 PM by Technology Blog

# re: ASP.NET MVC 4 Beta Released!

I want to express my appreciation to this writer for bailing me out of such a dilemma. Because of checking through the internet and seeing suggestions that were not beneficial, I was thinking my life was over. Being alive without the presence of solutions to the issues you've solved through this guideline is a critical case, as well as the ones which might have in a wrong way damaged my career if I had not encountered the blog. Your good understanding and kindness in playing with every item was useful. I'm not sure what I would've done if I had not come across such a thing like this. I can now look ahead to my future. Thanks very much for your specialized and sensible guide. I will not hesitate to suggest your web site to anyone who needs and wants direction about this issue.

Tuesday, October 30, 2012 6:42 AM by spkuuf@gmail.com

# re: ASP.NET MVC 4 Beta Released!

Thanks a lot for giving everyone an extremely remarkable possiblity to read in detail from this web site. It's usually so fantastic and as well , jam-packed with a good time for me personally and my office acquaintances to search your site at minimum three times weekly to read through the newest tips you will have. And indeed, we are always amazed with your special opinions you serve. Certain two ideas in this posting are in fact the most suitable we've ever had.

Wednesday, October 31, 2012 7:44 AM by ttvkbmhyt@gmail.com

# re: ASP.NET MVC 4 Beta Released!

Thanks for all your valuable work on this web page. My daughter really likes making time for research and it is obvious why. I hear all relating to the compelling manner you create insightful guides via your web site and therefore cause participation from other individuals on this content then my child is truly learning a lot. Take advantage of the rest of the year. You're performing a tremendous job.

Wednesday, October 31, 2012 1:20 PM by nglaqps@gmail.com

# re: ASP.NET MVC 4 Beta Released!

I precisely needed to say thanks again. I am not sure what I would've sorted out in the absence of these ways revealed by you about such question. It has been an absolute alarming setting for me personally, but encountering the very specialized style you solved the issue made me to leap for contentment. I will be happy for this help and pray you realize what an amazing job that you are carrying out educating most people with the aid of your website. I am certain you haven't got to know any of us.

Wednesday, October 31, 2012 10:28 PM by vgfigsrhmz@gmail.com

# re: ASP.NET MVC 4 Beta Released!

I wanted to send you the tiny observation to finally give thanks once again with your pleasing tactics you have shown here. This is really  generous with people like you to make openly just what most people would have offered as an ebook to make some money on their own, principally given that you could possibly have done it if you ever wanted. The tips also served to be the easy way to be aware that other individuals have the same fervor similar to mine to see a great deal more pertaining to this issue. Certainly there are several more pleasant moments in the future for many who read carefully your blog.

Thursday, November 01, 2012 4:35 PM by inkldy@gmail.com

# re: ASP.NET MVC 4 Beta Released!

Thanks for your whole hard work on this blog. My daughter enjoys engaging in investigations and it is simple to grasp why. Almost all learn all regarding the lively mode you produce valuable guidance through this blog and in addition boost response from people on the concept and my child has always been discovering so much. Take pleasure in the rest of the new year. You have been performing a first class job.

Friday, November 02, 2012 5:41 AM by voodouzlb@gmail.com

# re: ASP.NET MVC 4 Beta Released!

I precisely wanted to say thanks once again. I'm not certain what I could possibly have undertaken in the absence of these creative concepts provided by you regarding this industry. This was a daunting scenario in my position, but taking note of a well-written strategy you solved the issue took me to jump for contentment. I'm happy for this guidance and even hope that you really know what a great job you were putting in training people today thru your websites. Most likely you've never got to know any of us.

Saturday, November 03, 2012 10:49 AM by tjdrfdvok@gmail.com

# re: ASP.NET MVC 4 Beta Released!

Have on‘tonne waste or refuse your time and effort on a person/woman,which isn‘tonne happy to waste or refuse their own time period done to you.

Friday, November 16, 2012 5:58 AM by zvuxxczonx@gmail.com

# re: ASP.NET MVC 4 Beta Released!

Within wealth all of our relatives understand mankind; through hard knocks small children all of our relatives.

Saturday, November 17, 2012 6:23 AM by mfjwro@gmail.com

# re: ASP.NET MVC 4 Beta Released!

Cherish is considered the athletic challenge to the lifetime therefore the development of whatever i like.

Thursday, November 22, 2012 11:24 AM by mhgcgbiuxni@gmail.com

# re: ASP.NET MVC 4 Beta Released!

new gold is being split up into the economy EVERY DAY in an ever growing rate because hundreds of accounts are now being created by FARMERS who spend 24 hours a day farming gold... and yes gold is actually MADE FROM NOWHERE why you should kill monsters etc... in this case it's constructed from nowhere and given to someone who isn't the average joe guy who will use it to buy himself new sneekers... it's gold that is constructed out of nowhere and given with a company who knows EXACTLY HOW USE IT TO KEEP THESE THINGS SOME REAL LIFE PAYMENTS. and a goldfarming expenses makes 10x as much gold a few days as the average gamer can... and not only along with this but... there are hundreds of those guys doing it. NEW PROBLEM: they just announced where the cd for transfering from one realm to another will be 3 days... gold farmers rejoice! you can now play multiple auction houses with each other even better than before!!! YAY!!! I'm not saying until this wouldn't inflate economy... duh it would. but firstly probably less than you are thinking it could. and secondly

Wednesday, December 12, 2012 6:41 AM by hpaxviaqu@gmail.com

# re: ASP.NET MVC 4 Beta Released!

Please let me know if you're looking for a author for your blog. You have some really great articles and I believe I would be a good asset. If you ever want to take some of the load off, I'd really like to write some

content for your blog in exchange for a link back to mine.

Please blast me an e-mail if interested. Many thanks!

Wednesday, December 19, 2012 1:59 AM by Mullin

# re: ASP.NET MVC 4 Beta Released!

Please fix the resolution in the MVC 4 presentation!  

Wednesday, December 26, 2012 1:52 PM by john smith

# re: ASP.NET MVC 4 Beta Released!

This is just some random cooment that i wanted to write to see if i could blast the the hell out of this site later. If it sticks il will come back around and stuff the hell out of it with some links. Please wait for my return and i will take advantage of this opening.

Thursday, January 10, 2013 10:48 PM by buqpttlgf@gmail.com

# re: ASP.NET MVC 4 Beta Released!

Hello my loved one! I wish to say that this post is amazing, nice written and include approximately

all significant infos. I would like to look more

posts like this .

Friday, March 15, 2013 8:58 AM by Cherry

# re: ASP.NET MVC 4 Beta Released!

You made some decent points there. I looked on the internet for the problem and located most individuals will associate with along with your website.

Monday, April 01, 2013 9:52 AM by vjqefjr@hotmail.com

# re: ASP.NET MVC 4 Beta Released!

скомуниздено здесь - <a href="http://five-oclock.webs.com">five-oclock.webs.com</a>

копии часов jaeger le coultre копии брендов мобильные телефоны vertu копии часов копии дорогих часов реплики вачерон константин швейцарские часы купить часы мужские копии

Monday, April 22, 2013 1:29 AM by Taumoummifs

# re: ASP.NET MVC 4 Beta Released!

Thankfulness to my father who told me on the topic of this blog, this website is truly amazing.

Wednesday, May 01, 2013 7:56 PM by Regalado

# re: ASP.NET MVC 4 Beta Released!

Definitely, what a magnificent weblog and illuminating posts, I surely will bookmark your site.Have an awsome day

Friday, May 03, 2013 11:12 PM by iycpuaay@gmail.com

Leave a Comment

(required) 
(required) 
(optional)
(required)