Skip to main content
 首页 » 编程设计

c#之Asp.Net Core 应用程序使用 Kestrel Web 服务器而不是 IIS,为什么

2024年02月25日28zfyouxi

我正在开发 Ap.Net 代码 Web 应用程序,我在 csproj 文件中使用以下设置。当我使用 visual studio 运行应用程序时,我可以看到 dotnet.exe 在任务管理器中运行,但如果是 InProcess 托管,它应该是 w3wp.exe 或 iisexpress.exe。那么这背后的原因可能是什么?

<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel> 

CSProj 文件:

<Project Sdk="Microsoft.NET.Sdk.Web"> 
 
  <PropertyGroup> 
    <TargetFramework>netcoreapp2.0</TargetFramework> 
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel> 
  </PropertyGroup> 
 
  <ItemGroup> 
    <Folder Include="wwwroot\" /> 
  </ItemGroup> 
 
  <ItemGroup> 
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.8" /> 
  </ItemGroup> 
</Project> 

请您参考如下方法:

对于托管进程功能,它在 netcoreapp2.2 中。

对于之前的特性,它是进程外托管。

这可以从 IIS in-process hosting 中找到

要测试此功能,您可以尝试创建 Asp.Net Core MVC 2.2 模板。

如果你想在你当前的项目中使用这个特性,你需要将你当前的项目迁移到Asp.Net Core 2.2,迁移可以引用Migrate from ASP.NET Core 2.1 to 2.2