Можно ли иметь 2 сайта ASP.NET Core в одном веб-приложении? - PullRequest
2 голосов
/ 22 октября 2019

Можно ли иметь 2 приложения ASP.NET Core Web API внутри одной службы приложений?

Я понимаю, что было бы лучше иметь 2 сайта в отдельных службах приложений, но наш вариант использованиянемного уникален.

Мы пытаемся добавить второй сайт с целью использования функции applicationInitialization, чтобы ввести задержку между запуском нашего приложения и передачей экземпляра балансировщику нагрузки службы приложений. Я мог бы подробнее рассказать об этом, но сейчас я хочу добавить дополнительный веб-сайт, который applicationInitialization может вызвать, чтобы задержать процесс запуска.

Я пробовал:

Folder structure: 
  /mySite
  /mySite2
  web.config

Folder structure: 
  /mySite2
  mySite.dll
  web.config

С соответствующим web.Configs выглядит как:

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

и

<?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=".\mySite.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
    </system.webServer>
  </location>
  <location path="mySite2" inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\mySite2\mySite2.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="OutOfProcess" />
    </system.webServer>
  </location>
</configuration>

1 Ответ

3 голосов
/ 22 октября 2019

YES. Возможно, в одном веб-приложении может быть два приложения с virtual directory.

Из документов:

Виртуальные каталоги поддерживаются для веб-сайтов Azure. ,Информацию о том, что вы можете сделать через портал управления Azure, смотрите в разделе Настройка сайтов Azure. На портале Azure щелкните Веб-сайт и перейдите в раздел «Настройка», а затем прокрутите вниз до виртуальных приложений и каталогов (последний раздел конфигурации). Просто введите ваш виртуальный каталог и физический путь относительно корня сайта и нажмите Сохранить.

...