神刀安全网

ASP.NET MVC Core: The Good Parts

MVC 6 should be out any day, so we need to be prepared.

The good thing is, it’s all very similar to MVC 5; the even better thing is, it got better! A couple of ways it is so cool, in my mind, are:

  • Most of the stuff is very similar to what we had: controllers, views, mostly work the same way;

  • MVC and Web API have been merged together, so it’s not really any different add an API controller that returns JSON or an MVC controller that returns an HTML view;

  • All of its code is available in GitHub , and you can even contribute to it;

  • It is now cross-platform, meaning, you will be able to deploy your web app to Linux (even as a Docker container) and Mac (if you use .NET Core);

  • It is very modular: you only add to your project the Nuget packages you really need;

  • It now uses service providers to resolve all of its features; you do not need to know the static location of properties, like, ControllerBuilder.Current , GlobalFilters.Filters , etc; the boilerplate configuration in the Startup class is pretty easy to follow and change;

  • The default template has Bower , NPM and Gulp support out of the box;

  • No need to explicitly add attribute routing, it is built-in by default;

  • We have a better separation of contents and code, in the form of the wwwroot folder to which servable contents are moved;

  • Logging is injected, as are most of the services we need, or we can easily add our own without the need to add any IoC library; even filters can come from IoC;

  • It is now possible to have our Razor pages inherit from a custom class, have custom functions defined in Razor (by the way, do not use it!) and inject components into it;

  • View components andtag helpers are a really cool addition;

  • The new OWIN -based pipeline that is now ASP.NET is much more extensible and easy to understand than System.Web-based ASP.NET used to be;

  • This one is a corollary from the latter: Web.config is gone; let’s face it, it was a big beast, so it’s better to just drop it.

On the other hand, we will need to learn a lot of new stuff, namely, a whole lot of new interfaces and base classes to use. Also, it may sometimes be a bit tricky to find out which Nuget package contains that specific API we’re after. And because there is no more System.Web , all of the infrastructure management is very different. Finally, not all the libraries we’re used to will be immediately available for .NET Core, but that’s really not a problem with ASP.NET Core itself.

All in all, I think it is a good thing! I’ll be talking more on ASP.NET Core, so stay tuned!

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » ASP.NET MVC Core: The Good Parts

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址