如何在 asp.net core 2.2 中获取进程名称 iisexpress 而不是 dotnet

How to get the process name iisexpress instead of dotnet in asp.net core 2.2

我正在学习 asp.net 在浏览器中执行时的核心 我得到响应 header 使用 kestrel 而不是 iisexpress。我在 Startup.cs 配置方法中编写了以下代码来获取进程名称,但我仍然获取 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 中的项目。

如果您 运行 使用 "dotnet run" 来自 CLI 的应用程序,默认情况下它将 运行 在 kestrel 中,如果您使用 Visual Studio 尝试 运行从启动下拉菜单中使用 IIS Express 连接应用程序。

今天终于解决了,我更新了我的Visual Studio 2017。之前我用的是VS2017 15.3,更新到VS2017 15.9后,问题已经解决了。