Nasazení více .NET Core aplikací na jednom webhostingu

Více .NET Core aplikací je možné provozovat pouze na subdoménách, nikoliv v podadresářích rootu webhostingu (adresář /www/). 

U aplikací je nutné změnit model hostování. Tato změna se provádí úpravou souboru web.config pro každou nasazenou aplikaci. Model hostování je nutné změnit z "inprocess" na "outofprocess".
Model hostování "inprocess" tedy zůstane nastaven pouze u aplikace, která je umístěna na hlavní doméně (adresář /www/).


Příklad souboru web.config pro aplikaci na hlavní doméně:

<?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="inprocess" />
    </system.webServer>
  </location>
</configuration>

Příklad souboru web.config pro aplikaci na subdoméně:

<?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>

Další informace ke konfiguraci souboru web.config naleznete pod tímto odkazem.

Pokud ke správě využíváte aplikaci Visual Studio, tak bude nutné upravit soubor "pubxml", který se nachází v adresáři Vašeho projektu (adresář /Properties/PublishProfiles/).

Do souboru "pubxml" bude nutné přidat následující nastavení:

<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>