MVC 5的优点是什么?

时间:2014-05-21 16:26:36

标签: asp.net-mvc upgrade

是否有任何优势可以激励已建立的MVC 3商店使用完整堆栈升级到MVC 4或5?我们已经使用MVC 3了很长一段时间,并且不觉得我们真的需要"新功能"。

我正在寻找Razor在MVC 2上引入MVC 3时所带来的优势。

2 个答案:

答案 0 :(得分:4)

这实际上取决于您的预期用途。他们已经引入了某些人可能感兴趣的新功能,但可能不会引起其他人的兴趣。

例如,如果您要启动新项目,则可能会受益于基于Bootstrap的默认模板。我听说他们有一个新的身份验证模型,可以更容易地执行OAuth等等。

如果您经常使用控制器作为restful API来将JsonResults提供给丰富的UI,那么您可能会喜欢WebApi。

如果您发现您的系统可能会达到其线程限制,因为它会收到大量请求,这些请求通常会传递给I / O操作(对其他Web服务的请求或对数据库的调用) ),那么您可能会意识到控制器操作现在可以返回异步工作的Task<>

自v3以来,还有一些其他功能是新的,它们几乎属于同一类别:它们对某些人有用,而不是对其他人有用。

升级到.5可能带来的最后一个好处是,如果.6具有必备功能,那么您已经解决了升级最后两个版本的问题,它可能会使向其他未来版本的过渡变得不那么痛苦。

答案 1 :(得分:1)

我参与了MVC 4,并广泛使用了WebAPI。我想转移到MVC 5进行属性路由..(目前,路由是在application_start中由Global.asax调用的单独配置文件中配置的)

查看他们在WebAPI中构建的属性路由2.在此示例stolen directly from MSDN中查看如何正确声明路由及其方法:

public class MoviesController : ApiController 
{ 
    [Route("movies")] 
    public IEnumerable<Movie> Get() { } 

    [Route("actors/{actorId}/movies")] 
    public IEnumerable<Movie> GetByActor(int actorId) { } 

    [Route("directors/{directorId}/movies")] 
    public IEnumerable<Movie> GetByDirector(int directorId) { } 
}