.Net Core AspNetCoreHostingModel, что это значит? - PullRequest
0 голосов
/ 19 апреля 2019

По этой ссылке вы можете прочитать о ASP.NET Core Module

Чтобы настроить приложение для хостинга в процессе, добавьте свойство в файл проекта приложения со значением InProcess (хостинг вне процесса устанавливается с OutOfProcess)

Я читал несколько раз, но я не понимаю, что это значит?

Когда я должен использовать OutOfProcess, а когда InProcess?

Плюсы и минусы этих моделей?

На что положиться при принятии решения?

1 Ответ

2 голосов
/ 19 апреля 2019

относится к тому, как IIS размещает ваше приложение (web.config).

InProcess : IIS размещает приложение (w3wp.exe или iisexpress.exe))

OutOfProcess : приложение размещено в Kenstrel, IIS является прокси для kestrel.

Подробнее Подробнее о том, какнастроить и что нужно учитывать для каждого при использовании.

«InProcess» имеет значительно лучшую производительность в соответствии с Microsoft .

Для настройки InProcess добавьте веб-конфигурацию с:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="OutOfProcess">
        <environmentVariables />
      </aspNetCore>
    </system.webServer>
  </location>
</configuration>

для OutOfProcess :

<?xml version="1.0" encoding="utf-8"?>
configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="OutOfProcess">
        <environmentVariables />
      </aspNetCore>
    </system.webServer>
  </location>
</configuration>

, когда вы сгенерируете сборку в папке my-api или просто опубликуете на своем серверес помощью:

dotnet publish -o my-api -c release

позаботится о том, чтобы ваши% LAUNCHER_PATH% и% LAUNCHER_ARGS%.

возможно, вы ссылаетесь в первоначальном вопросе о конфигурации .csproj, которая определяет, как приложение работает локально,по умолчанию OutOfProcess

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...