Настройте AspNetCoreModuleV2 в процессе для нескольких виртуальных приложений в службах приложений Azure - PullRequest
0 голосов
/ 18 января 2019

Мои приложения ASP.NET Core размещены в службах приложений Azure как два виртуальных приложения в одном экземпляре служб приложений. Главное приложение сайта размещено на /, а приложение блога на /blog. Я хотел бы использовать AspNetCoreModuleV2 с моделью хостинга InProcess. Тем не менее, он не запускается, и я вижу эту ошибку в журнале событий:

<Event>
<System>
<Provider Name="IIS AspNetCore Module V2"/>
<EventID>1008</EventID>
<Level>1</Level>
<Task>0</Task>
<Channel>Application</Channel>
...
</System>
<EventData>
<Data>
Only one inprocess application is allowed per IIS application pool. Please assign the application '/LM/W3SVC/170746742/ROOT/api' to a different IIS application pool.
</Data>
<Data>Process Id: 20236.</Data>
<Data>
File Version: 12.2.18296.0. Description: IIS ASP.NET Core Module V2. Commit: 61f1a70784dc0a32cf98f8ddd169c0293b0390ab
</Data>
</EventData>
</Event>

Как запустить несколько виртуальных приложений в службах приложений, используя модель хостинга InProcess?

1 Ответ

0 голосов
/ 18 января 2019

Неа. Ответила информация об ошибке в журнале событий,

<EventData> <Data> Для одного пула приложений IIS разрешено только одно незавершенное приложение. Пожалуйста, назначьте приложение '/ LM / W3SVC / 170746742 / ROOT / api' другому пулу приложений IIS. </Data>

В вашем сценарии для запуска нескольких виртуальных приложений в одном веб-приложении Azure, только одно приложение может работать в модели хостинга как in-process, другие могут быть настроены в файле web.config как out-of-process через Kestrel, как показано ниже, более подробную информацию см. Здесь ASP.NET Core Module.

Примечание: hostingModel = " 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="dotnet" 
                  arguments=".\MyApp.dll" 
                  stdoutLogEnabled="false" 
                  stdoutLogFile=".\logs\stdout" 
                  hostingModel="OutOfProcess" />
    </system.webServer>
  </location>
</configuration>
...