ASP.NET MVC Framework Road-Map Update

This past December we released the first preview of a new ASP.NET MVC Framework as part of the ASP.NET 3.5 Extensions CTP Release. I also wrote a number of blog posts that provide more detail on what the ASP.NET MVC framework is and how you can optionally use it:

We've had great feedback on the framework since then, and had a ton of downloads and excitement around it.  One of the common questions people have asked me recently is "when will a new build be released and what will be in it?".

The below post provides a few updates on what the ASP.NET MVC feature team has been working on, and some of the new features that will be available soon.  I'm going to do a separate blog post in the future that will cover the new ASP.NET Dynamic Data and ASP.NET AJAX feature work that is progressing along nicely as well. 

All of these features (ASP.NET MVC, ASP.NET Dynamic Data, and the new ASP.NET AJAX improvements) will ship later this year and work with VS 2008 and .NET 3.5.

Upcoming ASP.NET MVC MIX Preview Release

We are planning to release the next public preview of ASP.NET MVC at the MIX 08 conference in a few weeks.  This build will be available for anyone on the web to download (you do not need to attend MIX to get it).  We have incorporated a lot of early adopter feedback into this release.  Below are some of the improvements that will appear with this next preview release:

1) The ASP.NET MVC Framework can be deployed in the \bin directory of an app and work in partial trust

The first ASP.NET MVC preview release required a setup program to be run on machines in order for the System.Web.Mvc.dll assembly to be registered in the machine's GAC (global assembly cache).

Starting with this upcoming preview release we will enable applications to instead directly reference the System.Web.Mvc.dll assembly from the application's \bin directory.  This means that no setup programs need to be run on a sever to use the ASP.NET MVC Framework - you can instead just copy your application onto a remote ASP.NET server and have it run (no registration or extra configuration steps required).

We are also doing work to enable the ASP.NET MVC framework to run in "partial/medium trust" hosting scenarios.  This will enable you to use it with low-cost shared hosting accounts - without requiring the hosting provider to-do anything to enable it (just FTP your application up and and it will be good to run - they don't need to install anything).

2) Significantly enhanced routing features and infrastructure

One of the most powerful features of the ASP.NET MVC framework is its URL routing engine (I covered some of these features here).

This upcoming ASP.NET MVC preview release contains even more URL routing features and enhancements.  You can now use named routes (enabling explicit referencing of route rules), use flexible routing wildcard rules (enabling custom CMS based urls), and derive and declare custom route rules (enabling scenarios like REST resources mappings, etc).

We have also factored out the URL routing infrastructure from the rest of the MVC framework with this preview, which enables us to use it for other non-MVC features in ASP.NET (including ASP.NET Dynamic Data and ASP.NET Web Forms).

3) Improved VS 2008 Tool Support

The first ASP.NET MVC preview had only minimal VS 2008 support (basically just simple project template support).

This upcoming ASP.NET MVC preview release will ship with improved VS 2008 integration.  This includes better project item templates, automatic project default settings, etc.  We are also adding a built-in "Test Framework" wizard that will automatically run when you create a new ASP.NET MVC Project via the File->New Project dialog.  This will enable you to easily name and wire-up a unit test project for your ASP.NET MVC application. 

The ASP.NET MVC test framework wizard is pluggable and will enable custom unit test project templates to be added to its list of supported test options:

This will enable developers to easily choose whichever unit testing framework (and associated mocking and dependency injection options) they prefer to use.

4) [ControllerAction] Attribute No Longer Required on Controller Action Methods

The first ASP.NET MVC preview release required action methods on Controller classes to be explicitly marked with a [ControllerAction] attribute to be callable:

Based on early-adopter feedback, the upcoming ASP.NET MVC release removes this requirement.  Instead by default all public methods on a Controller will now be considered Action methods:

Note: You can optionally add attributes to block public methods on your Controller from being callable as actions if you want/need to add a public non-action method on it.

5) New Filter Attribute Support for Controllers and Action Methods

One of the new extensibility features enabled with this next ASP.NET MVC release is a feature called "Filter Attributes".  These enable you to inject code interceptors into the request of a MVC controller that can execute before and after a Controller or its Action methods execute.  This capability enables some nice encapsulation scenarios where you can package-up and re-use functionality in a clean declarative way.

For example, I could use an [OutputCache] filter attribute to output cache my product listing page for 30 seconds at a time:

Or use an [Authorization] filter attribute to ensure that only people within a specific security role are allowed to Edit a product:

The filter mechanism is extensible, and you can easily create your own custom filter attributes for Controller classes or Action methods with it.  Filters (and controllers/actions that use filters) can be fully unit tested.

6) HTML Helpers Built-in

The first ASP.NET MVC preview had only a few HTML UI helper methods built-into the core assembly.  We then shipped a separate download that included a bunch of additional HTML helper methods you could optionally use.

This upcoming ASP.NET MVC preview now has these HTML helper methods built-in (no separate download required).  Next month we are also going to start to talk about some of the new enhancements to the client-side ASP.NET AJAX libraries we are making, as well as some of the AJAX helper methods we will build to enable it to easily integrate with ASP.NET MVC.

7) Lots of Refactoring and Design Improvements

This upcoming ASP.NET MVC preview includes several refactoring and design improvements that make the MVC framework more extensible and testable.  In general the team has followed a philosophy where for all features you have three options:

  1. Use the built-in features/implementations "as-is" out of the box
  2. Slightly customize the built-in features/implementations without having to write much code
  3. Completely swap out the built-in features/implementations for custom ones

For example: you can now override the ViewEngine locator logic without having to override the ViewEngine execution logic (and vice-versa) - or alternatively swap out ViewEngines entirely.  The Controller Factory support has been extended to make it even easier to integrated with dependency injection frameworks.  Route rules are now fully extensible.  Controllers are more easily testable, etc.

8) Downloadable ASP.NET MVC Framework Source that can be Built and Patched

Last month I announced that the .NET Framework source code can now be downloaded and debugged.  Ultimately once it ships the ASP.NET MVC framework will be available via this mechanism as well (just like the rest of the ASP.NET source code).

Starting with this next preview, we are also going to make the ASP.NET MVC Framework source code downloadable as a buildable VS project solution.  This will enable you to easily view and debug the ASP.NET MVC Framework source code.  We are also going to include a license that permits you to optionally make patches to the ASP.NET MVC Framework source code in the event that you run into a bug in an application you are developing with it. 

The license won't enable you to redistribute your patched version of ASP.NET MVC (we want to avoid having multiple incompatible ASP.NET MVC versions floating around and colliding with each other).  But it will enable developers who want to get started building ASP.NET MVC applications immediately to make progress - and not have to worry about getting blocked by an interim bug that they can't work around.

Summary

There are a bunch of other changes that will show up with the next ASP.NET MVC Preview (including a number of helper properties/methods/objects).  Hopefully the above list provides some insight into a few of the bigger improvements that will appear shortly.  I'll do a blog post around MIX with a pointer to the updated preview once it is available for download.

Hope this helps,

Scott

Published Tuesday, February 12, 2008 1:05 PM by ScottGu
Filed under: , ,

Comments

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 4:36 PM by Bill Barry

Would there be any kind of site/protocal where users could contribute patches back upstream to MS for potential inclusion?

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 4:53 PM by MikeBosch

Yes!  I've been waiting for this.  I started a series of ASP.NET MVC tips on my blog (weblogs.asp.net/mikebosch).  Can't wait to play with the new stuff!

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 4:54 PM by Ran Davidovitz

Scott great decision on distributing a working solution of the MVC source code!

Reminds me of some open sources framework (although it is not open source).

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 5:07 PM by John_Mandia

Hi Scott,

This sounds like it is progressing really well. I guess it is too early for it to have a Go Live license at MIX? :D

Will we be seeing releases every quarter or on a more regular basis?

Thanks,

John

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 5:09 PM by Matt

Where is the best place to leave MVC framework feedback? I have a few comments I'd like to send on over.

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 5:11 PM by David Hayden

Fantastic, Scott!

I love the FilterAttribute. Partial Trust support is an absolute must so I am so happy that is happening. Wow!

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 5:14 PM by RyanLM

What about some type of partial view support?  It would be nice to factor and reuse view logic!

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 5:32 PM by Michael

Great news, thanks! I am wondering about this:

If the routing is 'factored out', is it now in a different namespace? Will the System.Web.Mvc.dll contain the routing engine?

Is there going to be Ajax support in the next release, or what do you mean with 'start talking about'?

Can we also download _just_ the .dll if that's all we need? Current download sort of includes everything but the kitchen sink, which not everyone needs.

Removing the [ControllerAction] attribute based on feedback is good news. Show this project is working as intenden, not just technically, but also wrt the involvement of developers. Good!

Compliments to you and your team for developing this in this particular way. It's a whole new thing for sure!

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 6:15 PM by Andrei Rinea

Number 8 ROCKS!!! (Downloadable ASP.NET MVC Framework Source that can be Built and Patched)

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 6:30 PM by ScottGu

Hi John,

>>>>>> This sounds like it is progressing really well. I guess it is too early for it to have a Go Live license at MIX? :D

You'll be able to go live with the MIX preview (technically you can even do this today).

>>>>>> Will we be seeing releases every quarter or on a more regular basis?

You'll see pretty regular builds coming out after MIX.  We did a lot of refactoring work with the MIX preview that took awhile to make sure we got right (specifically the routing layer - which impacts a lot).  Going forward we expect to ship more regular drops.

Thanks,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 6:33 PM by ScottGu

Hi Bill,

>>>>>> Would there be any kind of site/protocal where users could contribute patches back upstream to MS for potential inclusion?

The core MVC code will ultimately ship in the .NET Framework (which ships in Windows) which unfortunately means we need to be careful about taking patches back (for legal reasons).  We are, though, planning on helping foster open source projects and extensions on top of the core - and will have Microsoft employees contributing code to those.  We are definitely interested/looking to enable contributions and patches with those projects for MVC.

Thanks,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 6:34 PM by ScottGu

Hi Matt,

>>>>>> Where is the best place to leave MVC framework feedback? I have a few comments I'd like to send on over.

The ASP.NET MVC Forum on http://forums.asp.net might be the best way to send them to the team.  Alternatively you can shoot them to me (scottgu@microsoft.com) and I can connect you with the team.

Thanks,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 6:38 PM by ScottGu

Hi Michael,

>>>>>>> If the routing is 'factored out', is it now in a different namespace? Will the System.Web.Mvc.dll contain the routing engine?

The routing engine (as well as the base Http Intrinsic abstractions) are now factored out into a separate assembly.  This will enable other projects to reference them without having to reference the entire MVC framework (the MVC framework then obviously has a dependency on them as well).

>>>>>>> Is there going to be Ajax support in the next release, or what do you mean with 'start talking about'?

We probably won't have AJAX built-into the MVC core for the MIX preview, but we are planning on showing sample and shipping some extensions that demonstrates it that month. Think of this as conceptually similar to what we did with the Html helpers with the December preview (we ship them separately to begin with while they are more in prototype validation form, and then integrate them into the core with a future build).

>>>>>>>>> Can we also download _just_ the .dll if that's all we need? Current download sort of includes everything but the kitchen sink, which not everyone needs.

We'll have a MVC specific download.  I believe this includes both the core MVC assemblies, as well as the VS project wizard.  I think we'll also have a separate download for just the assemblies.

>>>>>>>>> Removing the [ControllerAction] attribute based on feedback is good news. Show this project is working as intenden, not just technically, but also wrt the involvement of developers. Good!  Compliments to you and your team for developing this in this particular way. It's a whole new thing for sure!

Cool - glad you like it. :-)

Thanks,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 6:50 PM by ScottGu

Hi Dimaz,

>>>>>>>> Regarding the Authorization attribute, does it use the Forms Authentication?

I'm assuming that the above Authorization attribute could be built to support both Windows Auth and Forms Auth.  ASP.NET today supports an authentication model where the auth-mode used is abstracted from the authorization approach (this is also true for Roles Auth - which works for any Authentication scheme).

>>>>>>>> Will there be any support in the future for a more fine-grain authorization mode (using ACL instead of role based)?

You could use ACLS for this - although one complication with a MVC world where your URLs map to Controller actions as opposed to files on disk is that you don't have a physical file to ACL.  You can use the ACL concept and do logical ACLing - although that requires a special store that you manage to persist the ACLs.

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 6:53 PM by ScottGu

Hi Ryan and Andy,

>>>>>>>> What about some type of partial view support?  It would be nice to factor and reuse view logic!

You can actually use .ascx templates for partials in views today.  These can be declared and used within .aspx files, or dynamically created and rendered either within the controller or using the Html.RenderUserControl helper method.

What we are looking at doing in the future is supporting the concept of nested controllers, which enables more controller encapsulation of specific UI sections of a page.  This won't be in the MIX build, but the design time is discussing the concept now.

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 7:31 PM by Lance Fisher

Thanks for the update!  All this looks like good news and is really exciting.

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 7:40 PM by Steve

Excellent news Scott.  I look forward to trying this out.

I'm most interested now in how it will handle AJAX calls since there is no postback.

(Currently I'm using jQuery for most my javascript needs, I'd like to see more on how I can make a ajax call and bind that data to a repeater on the page.)

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 7:47 PM by Tom

Have any best practices been established reguarding server side form validation?

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 9:22 PM by Paul Kohler

That's a great decision to release the code for emergency patching etc. It was something that was holding me back from committing to the ASP.NET MVC framework for my next project.

Excellent news!

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 10:14 PM by Ben Scheirman

Awesome, thanks for the detailed update.

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 11:05 PM by Matt

A question regarding the release of these extensions: will they be release as add-ons to ASP.NET or incorporated into ASP.NET via a service pack update?

Also, any word on Oracle support for ASP.NET Dynamic Data?

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 12, 2008 11:32 PM by Corey

Even the first CTP was an awesome demonstration of how we can benefit from this type of development. I didn't realize how nice MVC would be until I dug in and tried it. Hats off to everyone working on this project. Also, the members answering questions in the forums have been extremely helpful as well. Great Job!

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 12:20 AM by si

Awesome, simply awesome. Hard to believe all this is coming out of Microsoft!

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 1:10 AM by Hadi Hariri

Excellent news about the source code.

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 1:13 AM by SoftMind

Hello,

Can you kindly provide a method/Link to remove the previous December Asp.Net MVC Preview from the system.

I would like to keep my system clean and tidy for the next Preview coming during MIX2008.

Thanks in advance

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 1:23 AM by ScottGu

Hi Softmind,

>>>>>>> Can you kindly provide a method/Link to remove the previous December Asp.Net MVC Preview from the system.  I would like to keep my system clean and tidy for the next Preview coming during MIX2008.

You can use Windows' Add/Remove Programs option to uninstall the December ASP.NET Extensions CTP.  This will cleanly remove it from your system.

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 1:35 AM by ScottGu

Hi PK,

>>>>>> Question: Will there be any modifications to 'ViewData' code? For example, replacing the current ViewData code with the community 'SmartBag' suggestion (refer 1: codebetter.com/.../introducing-the-smartbag-for-asp-net-mvc-and-soliciting-feedback.asp ; refer 2: codebetter.com/.../smartbag-for-asp-net-mvc-take-two.aspx).

The team is looking at a few options on ViewData right now.  I'm not sure whether this will change for MIX - but this is an area where a few improvements are being investigated.

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 1:41 AM by ScottGu

Hi Matt,

>>>>>> A question regarding the release of these extensions: will they be release as add-ons to ASP.NET or incorporated into ASP.NET via a service pack update?

We are still finalizing this - we'll share more details in the weeks ahead once we have the final release plans locked.

>>>>>> Also, any word on Oracle support for ASP.NET Dynamic Data?

ASP.NET Dynamic Data will support LINQ to Entities, which will support Oracle.  So this should be supported soon. :-)

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 2:46 AM by DuyHB

Hi Scott,

I have a question about integration between ASP.NEt MVC and Silverlight

In the MIX build, ASP.NET MVC can render a xaml view?

If not, do you have plan to support this feature in final release?

DuyHB

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 3:26 AM by Davi Lee

Looking forward to ......

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 3:49 AM by Paul Selormey

Will the license for the MVC dll allows its port to .NET 2.x?

As much as I like this stuff and interested, I do not see any

of our clients accepting the .NET 3.5 soon.

Best regards,

Paul.

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 4:29 AM by JeremyS

Hi Scott

The MvcContrib implementation of filters currently supports ordering of filters as well as being able to create filters using an IoC container...will your filter implementation support these scenarios?

Thanks

Jeremy

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 5:36 AM by Courtney

I have a concern about ajax and third party controls with MVC.

I have only been developing for 2 years and have done some decent work with the existing tool-sets.

I'm interested in a standard pattern because I am the only .NET developer at work (No team to bounce ideas off of).

However, I am productive with AJAX and my Telerik controls.

Is this the time to really dig into MVC or should I wait until it matures a bit and accommodates the tools I'm using now?

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 5:57 AM by Rudimenter

Is the new MVC Framework anyhow related with the Webclient Software Factory from the Patterns and Practices Department. Or make the new MVC the WCSF redundant.

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 6:47 AM by Ronan Delacroix

Hi,

I've got questions : Is MVC framework compatible with Sharepoint? Is there a way to include MVC pages into sharepoint in a simple way? with URL routing?

BTW - MVC is the most brillant stuff I've ever seen in .Net...

Thanks in advance.

Cheers,

Ronan

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 7:49 AM by Ben Hayat

Scott, please don't forget your Silverlight pals. We're sitting here lonely and starving :-)

How about some Light on Silver?

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 8:20 AM by Dugald Wilson

Scott,

I am curious why the use of [ControllerAction] is going away. Having used Ruby/Rails before MVC came along, I was used to the idea of public methods are the controller methods. In your presentation at Alt.Net, you mentioned some issues with methods unintentionally being exposed that way.  I felt that using ControllerAction the way MVC did required the developer to state their intentions explicitly, and added some protection for unintended effects.  Would you mind providing some insight into what changed?

Thanks,

DW

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 8:20 AM by David Lawton

Any word on file upload support Scott?

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 9:29 AM by Mark Aurit

Any chance we'll see a screencast of the tutorials?

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 10:08 AM by Gulzar

Thanks Scott. I like the idea of making URL routing engine decoupled from asp.net MVC.

Do you have a plan on enhancing/rewriting the existing webforms control to work with MVC seamlessly? I was thinking of this scenario. Imagine adding a webforms control on an MVC project page. The control should automatically strip itself of all webforms functionality and be MVC aware. :)

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 10:29 AM by Kurt

Can you give some details on how you're making things work in medium trust?  As I understand it, that means some severe limits on reflection.  Given how there's some kind of reflection at every step in the MVC pipeline, particularly the Controller->Action selection, how are you getting there?

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 11:31 AM by Bryan

With our projects we like to pull the data access layer, business object layer, and views into there own separate assemblies, Is this supported in the ASP.NET MVC? If so how? I'm getting a bit of a block when I see examples where the business logic is in the controllers....Thanks

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 12:54 PM by Alexander Gornik

Scott, what about subcontrollers / subviews ?

Will they be included in next preview, are they on schedule ?

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 2:34 PM by Ryan Moore

Will there be any improvements or examples on deploying MVC to IIS 6?

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 2:39 PM by Janolof Elander

Scott,

You mention in an answer from yesterday, that "You'll be able to go live with the MIX preview (technically you can even do this today)", which sounds great. However, can you recommend using the ASP.NET MVC in an Enterprise solution? I am starting a project the next few weeks that is planned for release in October 2008 and is afraid the extension will change too much before official release. However we really want to use the extension for the project and of course is interested in more details from the road map.

Keep up the good work.

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 3:07 PM by Jules

When will we get ASP.MVC and Silverlight Integration ?

At the moment I cannot figure out how to serve up Silverlight Pages/Js/XAML from the MVC Views.  The Silverlight.js does not seem to like wanting to execute within a .ASPX page.

I hope we don't have to wait another year before we can mix these two great technologeis together.

Cheers

Jules  

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 3:54 PM by Mike

>>>>>> A question regarding the release of these extensions: will they be release as add-ons to ASP.NET or incorporated into ASP.NET via a service pack update?

>>> We are still finalizing this - we'll share more details in the weeks ahead once we have the final release plans locked.

Service Pack! Please... Roll everything up into one pack so you know that with 3.5 SP1 you can rely on everything being there on a host.

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 4:19 PM by Tom B

Great news on the Action attribute.  Though it made sense conceptually, I have not found a single case where this was not redundant.

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 7:09 PM by Chad Grant

Why did .net 3.5's [ScriptMethod] JSON serializer change from outputting

{"__type":"MsgClass","Msg":"Hello World"}

to :

{"d":{"__type":"MsgClass","Msg":"Hello World"}}

where did the Wrapper object come from?

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 7:20 PM by Luke

You don't seem to be aware of whats possible with the castle/nvelocity components. ascx controls (and probably any subview/subcontroller combo based on them) don't have the capability.

Templates are close but not dynamic enough to be usefull. For instance, I can create a form component that has a default way of displaying all data which can be overridden one property at a time if neccessary. This is the sort of functionallity I need from components.

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 13, 2008 11:24 PM by Rob Mills

This is fantastic!

# re: ASP.NET MVC Framework Road-Map Update

Thursday, February 14, 2008 12:01 AM by Giribabu

Nice feature in .NET 3.5

and Nice blog

# re: ASP.NET MVC Framework Road-Map Update

Thursday, February 14, 2008 3:04 AM by David

Hi Scott... do you know any interesting tutorials in using the MVC framework in VB instead of C#?

# re: ASP.NET MVC Framework Road-Map Update

Thursday, February 14, 2008 3:10 AM by Onizuka

Pretty soon we can just drag and drop a messenger client, where's the fun in that?

# re: ASP.NET MVC Framework Road-Map Update

Thursday, February 14, 2008 6:24 AM by Rich Urwin

Hi Scott,

Is there any plan to integrate MobilePage support in this framework, or at least allow for overriding of the apropriate virtual methods, etc?

It would be nice to use this framework consistently across both tradional and mobile sites.

Rich

# re: ASP.NET MVC Framework Road-Map Update

Thursday, February 14, 2008 9:42 AM by David L. Penton

I have been excited about the Microsoft implementation of MVC for some time now.  It's very exciting to see this technology and methodology getting more acceptance.

# re: ASP.NET MVC Framework Road-Map Update

Thursday, February 14, 2008 10:30 AM by Rashid

Can you please tell us expected release date for MVC patch, We at Merrill Lynch interested in using MVC pattern in our new project

# re: ASP.NET MVC Framework Road-Map Update

Thursday, February 14, 2008 5:17 PM by BZIM

Will there be Validation improvements ? IE Object level validation in the preview ?

# re: ASP.NET MVC Framework Road-Map Update

Thursday, February 14, 2008 11:34 PM by Jafin

Compilable source code for patching, quick get the Queen to give you a knighthood.  

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:31 AM by ScottGu

Hi Jeremy,

>>>>>>> The MvcContrib implementation of filters currently supports ordering of filters as well as being able to create filters using an IoC container...will your filter implementation support these scenarios?

Yes - the filters feature will support ordering of filters.  

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:33 AM by ScottGu

Hi Courtney,

>>>>>>> I have only been developing for 2 years and have done some decent work with the existing tool-sets.  I'm interested in a standard pattern because I am the only .NET developer at work (No team to bounce ideas off of).  However, I am productive with AJAX and my Telerik controls.  Is this the time to really dig into MVC or should I wait until it matures a bit and accommodates the tools I'm using now?

If you are productive today I would recommend sticking with the ASP.NET Web Forms and AJAX model.  The MVC model is a different approach that uses a different mindset when thinking about problems.  People tend to gravitate to a controls or a MVC model - and both are perfectly valid approaches within ASP.NET.  I would recommend going with whichever feels best to you.

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:34 AM by ScottGu

Hi Rudimenter,

>>>>>>> Is the new MVC Framework anyhow related with the Webclient Software Factory from the Patterns and Practices Department. Or make the new MVC the WCSF redundant.

The WCSF is currently separate, but will move to support MVC as well in the future.

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:34 AM by ScottGu

Hi Ronan,

>>>>>> I've got questions : Is MVC framework compatible with Sharepoint? Is there a way to include MVC pages into sharepoint in a simple way? with URL routing?

Currently MVC doesn't directly integrate with SharePoint.  That is something we'll be looking at supporting in the future though.

>>>>>> BTW - MVC is the most brillant stuff I've ever seen in .Net...

Cool - glad you like it!

Thanks,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:35 AM by ScottGu

Hi Ben,

>>>>>>> Scott, please don't forget your Silverlight pals. We're sitting here lonely and starving :-)  How about some Light on Silver?

Lots of Silverlight love coming soon.... :-)

Thanks,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:38 AM by ScottGu

Hi Dugald,

>>>>>> I am curious why the use of [ControllerAction] is going away. Having used Ruby/Rails before MVC came along, I was used to the idea of public methods are the controller methods. In your presentation at Alt.Net, you mentioned some issues with methods unintentionally being exposed that way.  I felt that using ControllerAction the way MVC did required the developer to state their intentions explicitly, and added some protection for unintended effects.  Would you mind providing some insight into what changed?

We went back and forth on the decision to require attributes or not.  In the end it seemed like more people would prefer we didn't have them then require them, which is why we removed the requirement.  Note that the new filter feature does provide enough extensibility hooks to add them back yourself if you'd like to require them in order to be more explicit.

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:40 AM by ScottGu

Hi David,

>>>>>>> Any word on file upload support Scott?

You should be able to use file upload even with the December preview.  You can get access to the uploaded files using the Request.Files collection inside your action method.

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:40 AM by ScottGu

Hi Mark,

>>>>>>> Any chance we'll see a screencast of the tutorials?

Yes - we'll definitely have screencasts in the future.

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:46 AM by ScottGu

Hi Kurt,

>>>>>>> Can you give some details on how you're making things work in medium trust?  As I understand it, that means some severe limits on reflection.  Given how there's some kind of reflection at every step in the MVC pipeline, particularly the Controller->Action selection, how are you getting there?

Action methods are public methods on controller classes, and so you can invoke those in medium trust (public reflection is allowed).  

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:47 AM by ScottGu

Hi Bryan,

>>>>>>> With our projects we like to pull the data access layer, business object layer, and views into there own separate assemblies, Is this supported in the ASP.NET MVC? If so how? I'm getting a bit of a block when I see examples where the business logic is in the controllers....Thanks

Yes - you can definitely create a separate project (or several projects) and isolate your data layer and business object layer in them and keep them separate from your MVC project.

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:48 AM by ScottGu

Hi Mark,

>>>>>>> One question, with the Url routing factored out does that mean we'll be able to overide methods like RouteCollection.GetUrl? At this point I've had to write wrapper methods for RedirectToAction, HtmlHelper and UrlHelper to add a default parameter (the value is not default - it's a per session value) to all urls.

I believe you'll be able to handle this scenario using the new factoring.  The named route feature might also be something that helps handle this scenario.

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:49 AM by ScottGu

Hi Alexander,

>>>>>>> Scott, what about subcontrollers / subviews ?  Will they be included in next preview, are they on schedule ?

Sub-controllers are something we still plan to support, although we haven't finished the design in time for the MIX preview.  They will show up in a future build though.

Thanks,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:49 AM by ScottGu

Hi Ryan,

>>>>>>> Will there be any improvements or examples on deploying MVC to IIS 6?

Yep - we'll definitely have more guidance on this in the future.

Thanks,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:52 AM by ScottGu

Hi Janolof,

>>>>>> You mention in an answer from yesterday, that "You'll be able to go live with the MIX preview (technically you can even do this today)", which sounds great. However, can you recommend using the ASP.NET MVC in an Enterprise solution? I am starting a project the next few weeks that is planned for release in October 2008 and is afraid the extension will change too much before official release. However we really want to use the extension for the project and of course is interested in more details from the road map.

It is hard to say.  I think for many organizations the MIX preview will be good enough to start large projects with, although realistically for others it might be worth waiting a little longer.  It will really depend to some degree on your risk tolerance.

Hope this helps,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 3:53 AM by ScottGu

Hi David,

>>>>>>> Hi Scott... do you know any interesting tutorials in using the MVC framework in VB instead of C#?

I am planning on doing some VB ones in the future myself!

Thanks,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 5:28 AM by Howard

On an unrelated-to-MVC note, congratulations on your promotion to VP Scott! Hope you don't drop the blog as a result - its the only one I regularly read.

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 8:14 AM by Gabor Ratky

Scott,

now that Unity is announced, will we see from either the ASP.NET MVC team or the p&p Unity team integrate the two? I'd guess this will be done in MvcContribu sooner than later.

Gabor

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 8:34 AM by Ben Hayat

>>Silverlight love<<

Scott, that was the word that I meant to put in my first post but forgot, and you picked up what I meant! ;-)

You know "LOVE" is like a two-way binding, you give us SilverLove and we give you back GoldLove :-)  :-)

Thanks!

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 9:16 AM by Fredrik

Hi Scott,

Any plans to show an example of MVC with any one of Dynamic Languages

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 9:45 AM by SoftMind

Hi Scott,

Congratulations on your promotion as a Vice President.

I hope, you will stay in touch with asp.net enough though being promoted as a Vice President.

Thanks

SoftMind

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 10:53 AM by Phillip Zedalis

Congratulations on the promotion!

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 11:47 AM by Robert

Scott,  

Congrats on the promotion!  Hopefully you will still have some time left to blog to us mere mortals.

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 12:33 PM by Dragan Panjkov

Congratulations on your new position! Keep up the good work. Will it change focus of your posts on this blog?

# re: ASP.NET MVC Framework Road-Map Update

Friday, February 15, 2008 8:59 PM by Yvan Castonguay

Off Topic...LINQ

Scott,

Desperately need your help with this one!

Some clients of ours expressed to have some db columns encrypted. We upgraded to SQL2k5 and used 'encryptbypassphrase' commands.

The passphrase is supplied by an external assembly (outside of the database). This way, if the db is ever 'stolen' information in it would be unreadable if read outside our domain.

We wish to leverage our code using LINQ in order to create a rich ORM model (API) that can be reused with other presentation tier (plaforms).

But there's no guidelines on how to interact with LINQ and encryption mechanisms.

For instance, in a table representing a user, there's column of Firstname that is encrypted by pass phrase which in fact represents a nvarchar(50) but since it is encrypted, LINQ modeled the class and return a column of type binary.

Thanks;

All encrypted columns have the same prefix in the column name like 'cryp_<columnName>'.

I basically need a way to model the API so that the encryption / decryption by pass phrase are transparent and that when i query using LINQ, the real (decrypted) values is populated.

But when the values is saved or updated is s/b encrypted.

# re: ASP.NET MVC Framework Road-Map Update

Saturday, February 16, 2008 1:23 PM by ScottGu

Thanks all!  Don't worry, this won't impact my blogging. :-)

Thanks again,

Scott

# re: ASP.NET MVC Framework Road-Map Update

Saturday, February 16, 2008 3:41 PM by Yvan Castonguay

Just a little congrats from the devs here at IsaiX (Partner Gold)!

The other day, we were watching the presentation that you did last June at TechEd ("Light Speed with VS 2008").

In all the presentations that we watched over the last few months, you were ranked ***** (5 stars presenter).

Happy VP'ing

But don't forget us!

# re: ASP.NET MVC Framework Road-Map Update

Sunday, February 17, 2008 4:08 AM by Majid Shahabfar

I become very happy when I heard you are Promoted to Corporate Vice President

# re: ASP.NET MVC Framework Road-Map Update

Sunday, February 17, 2008 4:54 AM by Zubair.NET!

Congrats on the promotion Scott :)

Hope you keep writing these posts.

# re: ASP.NET MVC Framework Road-Map Update

Sunday, February 17, 2008 2:30 PM by Dmitry Lyalin

Scott,

I am personally very excited about the MVC platform and hope to use the next CTP to build a prototype site. Keep up the good work and I look forward to the release made around MIX. Too bad i wont be there :(.

# re: ASP.NET MVC Framework Road-Map Update

Monday, February 18, 2008 7:48 AM by Bernhard Grojer

Great stuff. I'm anxious to see a real-world sample in the future.

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 20, 2008 5:24 AM by Agile Jedi

Looks like MS is really starting to read the writing on the wall. We're using Monorail right now and really don't have any plans to switch but I do hope that this will introduce more MS developers to the world of MVC frameworks. The standard aspx model is/was an over-engineered and flawed approach (could've been designed by SUN). Ever since the days of VB5/6 MS has done a really good job with Windows/Forms development environments but web app development has always been behind the rest of the industry (yup Visual Interdev sucked).

Either way...kudos for MS. I'd like to hear some thoughts about how this affects the Monorail/Activerecord/Winsor stack and what compelling reasons are there to switch?

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, February 20, 2008 9:17 AM by Eddy

You mentioned that it had been factored out (i.e. no longer just part of MVC).  You then mentioned that this would enable routing for Web Forms and Dynamic Data applications.  So it sounds as if the intention is to share the routing love with all flavors of ASP.NET development methods.

Does this mean we will be able to mix and match MVC, Web Forms, ASP.NET, and possibly Dynamic Data in the same application by using the routing engine and its pretty URLs?  It would be nice to be able to choose how development is done on a route by route basis, and it provides a nice migration path for existing apps.  Will this type of control be possible?

Thanks

Eddy

# re: ASP.NET MVC Framework Road-Map Update

Sunday, February 24, 2008 10:31 PM by Aaron

Here's to hoping that the built-in HTML helpers will be improved... The markup they currently generate is very inconsistent in XHTML compliance (missing quotes for attributes in a number of places).

It's a great framework though, and the beginnings are already very promising!

# re: ASP.NET MVC Framework Road-Map Update

Monday, February 25, 2008 11:05 PM by Yok

I think the view name of an action should be the same as the action name by default, I don't want to write RenderView in every action :(

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 26, 2008 3:05 AM by Yok

it seems array type data binding is not supported yet :(

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, February 26, 2008 4:35 AM by Peter Morris

Hi Scott

Request.Files.Count is always zero despite me having an input type="file" on my form.  I presume this is a known bug?  If so are there any plans for a release with a fix soon?  I've spent quite a bit of time developing a website and have suddenly hit this unpleasant obstacle :-(

# re: ASP.NET MVC Framework Road-Map Update

Thursday, February 28, 2008 5:29 AM by Paymon Khamooshi

Hi Scott,

The current approach or sending multiple view data objects is so old-fashioned and untyped. Consider auomatic setting of the tagged (attributed) properties on the View, from the parameters in the ViewData collection, or even better, from property names of an anonymous object sent as ViewData.

Thanks

Paymon at geeks dot ltd dot uk

# re: ASP.NET MVC Framework Road-Map Update

Thursday, March 6, 2008 12:00 PM by rafael leonhardt

>>>> Currently MVC doesn't directly integrate with SharePoint.  That is something we'll be looking at supporting in the future though.

It´s great!

# re: ASP.NET MVC Framework Road-Map Update

Thursday, March 6, 2008 12:04 PM by rafael leonhardt

Has anybody used asp.net mvc in sharepoint? Is there an article about this?

# re: ASP.NET MVC Framework Road-Map Update

Friday, March 7, 2008 9:54 AM by erbere

How can I map links like this  /controller/action/id1/id2 ?

# re: ASP.NET MVC Framework Road-Map Update

Monday, March 10, 2008 10:35 AM by Henry

Hi Scott,

I'm trying to do some Ajax'y type stuff with the MVC platform. I have read nikhil's great post and a bunch of other peoples stuff, using this latest release I have found that things have changed a bit, IE viewfactory going to ViewEngine, kind of, etc. I think I have got around most stuff but I can't seem to get over the fact that I can't find IView. Can you explain what I should be doing if I wanted to change the way a view renders?

Thanks heaps for all your great posts and your time.

Henry

# re: ASP.NET MVC Framework Road-Map Update

Monday, March 10, 2008 12:54 PM by MikeBosch

Yikes.  No one mentioned the ComponentController???  I blogged about it since I think its one of the most useful new features on this drop.  Check it out:

weblogs.asp.net/.../using-the-componentcontroller-in-asp-net-mvc.aspx

# re: ASP.NET MVC Framework Road-Map Update

Tuesday, March 25, 2008 11:16 AM by lcj

Any thoughts on grid controls in this framework?  I need a batch update grid with paging.  I wouldn't mind ajax functionality either.  A demo on how to bring these together would be great.

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, March 26, 2008 5:40 PM by dario-g

VS 2008 Tool Support for Express Version!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! :)

# re: ASP.NET MVC Framework Road-Map Update

Wednesday, April 9, 2008 1:30 PM by viniciuscamara

Congratulations.

Great work.

I'll put part of them on my blog.

# re: ASP.NET MVC Framework Road-Map Update

Thursday, April 10, 2008 8:31 AM by Tommy Skaue

Is this post updated as the roadmap evolves. Will for example release of Preview 3+ be announced here?