我在 Azure 应用服务上托管了 ASP.NET Core 应用程序,作为同一应用服务实例中的两个虚拟应用程序。主站点应用程序托管在 /
上,博客应用程序托管在 /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 托管模型在应用服务中运行多个虚拟应用程序?
最佳答案
不。事件日志中的错误信息已回答,
<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>
在同一 Azure WebApp 中运行多个虚拟应用程序的方案中,只有一个应用程序可以在托管模型中运行,如 in-process
,其他可以在web.config
中配置文件为out-of-process
通过 Kestrel
,如下,更多详情请看这里 ASP.NET Core Module
.
Note: 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>
关于azure - 正在为 Azure 应用服务中的多个虚拟应用程序配置 AspNetCoreModuleV2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54247678/