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

103 Comments

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

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

  • 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).

  • 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

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

  • Fantastic, Scott!

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

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

  • 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!

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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

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

  • 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.)

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

  • 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!

  • Awesome, thanks for the detailed update.

  • 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?

  • 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!

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

  • Excellent news about the source code.

  • 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

  • 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

  • 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

  • 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

  • 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

  • Looking forward to ......

  • 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.

  • 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

  • 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?

  • 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.

  • 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

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

    How about some Light on Silver?

  • 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

  • Any word on file upload support Scott?

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

  • 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. :)

  • 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?

  • 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

  • Scott, what about subcontrollers / subviews ?

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

  • 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.

  • 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

  • >>>>>> 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.

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


  • 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?

  • 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.

  • This is fantastic!

  • Nice feature in .NET 3.5
    and Nice blog

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

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

  • 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

  • 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.

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

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

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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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.

  • 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

  • >>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!

  • Hi Scott,

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

  • 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

  • Congratulations on the promotion!

  • Scott,

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

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

  • 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_'.

    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.

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

    Thanks again,

    Scott

  • 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!

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

  • Congrats on the promotion Scott :)

    Hope you keep writing these posts.

  • 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 :(.

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

  • 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?

  • 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

  • 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!

  • 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 :(

  • 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 :-(

  • 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

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

    It´s great!

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

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

  • 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

  • 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:
    http://weblogs.asp.net/mikebosch/archive/2008/03/10/using-the-componentcontroller-in-asp-net-mvc.aspx

  • 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.

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

  • Congratulations.
    Great work.
    I'll put part of them on my blog.

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

Comments have been disabled for this content.