如何在ASP.NET Core 2.2中获得进程名称iisexpress而不是dotnet

时间:2019-11-09 09:13:29

标签: asp.net-core asp.net-core-2.2

在浏览器中执行时,我正在学习asp.net核心,我得到响应标头为茶k而不是iisexpress。我在Startup.cs configure方法中编写了以下代码来获取进程名称,但我仍在获取dotnet,无法获取iisexpress。

app.Run(async (context) => {
  await context.Response.WriteAsync("Hello World!\n");
  await context.Response.WriteAsync(System.Diagnostics.Process.GetCurrentProcess().ProcessName);//dotnet             
});

在Program.cs中,我添加.UseIIS()

public static IWebHostBuilder CreateWebHostBuilder(string[] args) => 
  WebHost.CreateDefaultBuilder(args)
    .UseIIS()
    .UseStartup<Startup>();

以下是来自.csproj文件

<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
<RootNamespace>CookieStore</RootNamespace>
</PropertyGroup>

请帮助我在InProcess和OutOfProcess中运行项目。

2 个答案:

答案 0 :(得分:0)

如果使用“ dotnet run”从CLI运行应用程序,则默认情况下它将在kestrel中运行,如果使用Visual Studio,请尝试从启动下拉列表中使用IIS Express运行该应用程序。

答案 1 :(得分:0)

最后,在更新了Visual Studio 2017之后,问题终于得到解决。在更新到VS2017 15.9之后,我更早使用了VS2017 15.3,该问题已得到解决。