I hope I’ve helped outline some of the considerations that should go into making such a decision. I’m looking forward to an updated Signal R, and the new razor pages functionality should be interesting as well.
Please leave your own experiences below, or feel free to join me in conversation on twitter (@ardalis). NET Core quickly by watching this Quick Start course.
NET Core actually outperforms on the server (and you could still run Java Script on the server if you really wanted to). NET Core on Kestrel handles over 1M requests per second on the same hardware and same application that Node JS manages 175k requests/sec.
Obviously your mileage may vary and there are many factors that play into the decision about whether and when to upgrade to a new application platform. NET Core isn’t the only option available – there are plenty of other web frameworks you could build your next app on. NET Core, which I’ve had the dubious pleasure of working with over the last two years as a Microsoft MVP, Insider, and contractor. NET Core documentation and I currently mentor a number of clients as they make this transition (contact me if your team needs some training or you’d like a review of your application).
Filters are pretty much the same, as is Web API and its features (made simpler by being fully integrated with MVC now).
Routing is pretty much the same and is actually simpler since attribute-based routing is the standard convention.
There are ways to improve the quality of your web forms code, including injecting dependencies to reduce coupling in your codebehind files, but moving to ASP.
This post is coming out of order so the repo that goes with this post will contain some items not covered in posts yet. Make sure you already have Visual Studio 2015 Update 3 installed with . If not use the previous links to install the needed versions. NET Core and under All downloads and select Current and SDK and select the download for your OS.
Want to keep using your EF6 or NHibernate data access layer? NET Core doesn’t take much time at all if your team is already familiar with ASP. A couple of new features, like how apps start up and how middleware works, are worth learning about, but most of your team could be productive without ever knowing the details of these aspects of the framework. NET Core Quick Start course and they’ll be good to go in no time! You won’t be able to use some libraries that require the full .
There are subtle differences, of course, but overall your developers will be able to leverage their existing experience.
There were also breaking changes to the project system, which was painful, but was necessary in order for Core projects to interact with every other project type in Visual Studio. Visual Studio 2017 was released recently, and appears to be stable. You can easily write full-stack tests using Test Server that run in-memory and don’t use the network stack (so they don’t break due to firewall configurations, etc., but can test routes and filters). NET Core MVC, instead of being a side-by-side feature with a bunch of confusing almost-duplicate components. And yes, you can host them on Azure running Linux, too.
Overall, the framework and server-side components have been pretty solid, with few major bugs reported, and a bunch of nice features added to both ASP. However, the tooling story lagged for a while (as is typical), and while normally this wouldn’t be such a big barrier to adoption (if it were just Visual Studio), in this case the affected tooling included the dotnet CLI as well. NET Framework is the ability to run on a non-Windows host (and that’s where you’d be if you stayed on MVC5, too, so it’s not a strike against Core). NET Core packages your apps will “just work” on Linux and Mac OS in addition to Windows.