ASP.NET Core 已完全從承載應(yīng)用程序的 Web 服務(wù)器環(huán)境中分離。ASP.NET Core 可以承載于 IIS 和 IIS Express ,以及使用 Kestrel 和 WebListener HTTP Server 的自承載環(huán)境中。此外,開發(fā)人員和第三方軟件供應(yīng)商可以創(chuàng)建自定義的服務(wù)器來承載 ASP.NET Core 應(yīng)用程序。

查看和下載示例代碼

服務(wù)器和命令

ASP.NET Core 旨在將 Web 應(yīng)用程序從底層 HTTP 服務(wù)器分離出來。過去,ASP.NET 應(yīng)用一直只在 Windows 中承載于 IIS 上。在 Windows 上運(yùn)行 ASP.NET Core 應(yīng)用程序的推薦方法是將 IIS 作為一個反向代理服務(wù)器來使用。IIS 中的 HttpPlatformHandler 模塊管理并分發(fā)請求給一個進(jìn)程外的HTTP 服務(wù)器。ASP.NET Core 附帶兩個不同的 HTTP 服務(wù)器:

  • Microsoft.AspNetCore.Server.Kestrel (AKA Kestrel,跨平臺)

  • Microsoft.AspNetCore.Server.WebListener (AKA WebListener,僅 Windows,預(yù)覽版)

ASP.NET Core 不直接監(jiān)聽請求,而是依靠 HTTP 服務(wù)器的實(shí)現(xiàn)將請求作為組成 HttpContext 的一組功能接口暴露給應(yīng)用程序。盡管 WebListener 只是 Window 專用的,但 Kestrel 則是被設(shè)計為跨平臺運(yùn)行的。你可以通過在 project.json 文件中指定命令來配置你的應(yīng)用程序承載于任何一個或全部的服務(wù)器。你甚至可以為應(yīng)用程序指定程序入口點(diǎn),作為一個可執(zhí)行文件運(yùn)行(使用 

網(wǎng)友評論