.Net Core技术研究-WebApi迁移ASP.NET Core2.0
随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的ASP.NET WebApi站点,就可以跨平台运行在Linux中。我们有必要先说一下ASP.NET Core。 ASP.NET Core 是新一代的 ASP.NET,第一次出现时的代号为 ASP.NET vNext,后来命名为ASP.NET 5,随着它的完善与成熟,最终命名为 ASP.NET Core,这表明它已不是 ASP.NET 的升级,而是一个重新设计的Web开发框架。而它一个非常重要的变化就是它不再依赖于IIS,而是一个独立的自寄宿的控制台应用程序,这也是它可以跨平台的根本。 两个关键词: IIS解耦和独立自寄宿的控制台应用程序。 我们对比一下ASP.NET和ASP.NET Core。ASP.NET 是强依赖于Windows IIS的,因为System.Web 中有很多方法都是直接调用的 IIS相关的 API,同时它还是驻留在IIS进程中的。然而 ASP.NET Core 运行时则是一个完全独立的控制台应用程序,它有自己的 Kestrel Server,可以直接对外部提供服务。不过当前已有的 Kestrel Server 的功能相对比较简单,所以我们还是需要一个反向代理服务器将 Kestrel 服务器保护起来。因此,部署在Linux环境下,可以考虑Nginx+Kestrel Server的组合