Как получить имя процесса iisexpress вместо dotnet в ядре asp.net 2.2 - PullRequest
0 голосов
/ 09 ноября 2019

Я изучаю ядро ​​asp.net, когда выполняю в браузере, я получаю, что в заголовке ответа вместо iisexpress есть заголовок kestrel. Я написал следующий код в методе настройки 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.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2019

Наконец, сегодня проблема была решена после того, как я обновил Visual Studio 2017. Ранее я использовал VS2017 15.3 после обновления до VS2017 15.9, проблема была решена.

0 голосов
/ 09 ноября 2019

Если вы запускаете приложение из интерфейса командной строки с помощью «запуска по сети», оно по умолчанию будет запускаться в kestrel. Если вы используете Visual Studio, попробуйте запустить приложение с раскрывающимся списком IIS Express при запуске.

...