HTTP Error 500.30 - ANCM In-Process Start Failure
Common causes of this issue:
The application failed to start
The application started but then stopped
The application started but threw an exception during startup
Troubleshooting steps:
Check the system event log for error messages
Enable logging the application process' stdout messages
Attach a debugger to the application process and inspect
For more information visit: https://go.microsoft.com/fwlink/?LinkID=2028265
1
2
3
4
5
6
7
8
9
10
可以按照報錯提示查看更改信息 Azure App Service 和 IIS 上的 ASP.NET Core 疑難解答 | Microsoft Docs。
其實按照現有的提示可以了解到錯誤原因,進程內啟動失敗,改為進程外托管即可。
500.30 進程內啟動失敗
工作進程失敗。 應用不啟動。
ASP.NET Core 模塊嘗試在進程中啟動 .NET Core CLR,但無法啟動。 通常,可以根據應用程序事件日志中的條目和 ASP.NET Core 模塊 stdout 日志中的條目來確定進程啟動失敗的原因。
常見的失敗情況是,由於目標 ASP.NET Core 共享框架版本不存在,因此應用配置錯誤。 檢查目標計算機上安裝的 ASP.NET Core 共享框架版本。
根據 ASP.NET Core 模塊 | Microsoft Docs 可知,默認配置是進程內托管,設為 InProcess,顯示指定Web項目為進程外托管
<PropertyGroup>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>
1
2
3
分析報錯原因:
報錯的web.config配置文件如下
<?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=".\JobWanted.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: f0cca8c5-a238-40ff-9989-476b54dc1e72-->
1
2
3
4
5
6
7
8
9
10
11
12
注意processPath,作用是為 HTTP 請求啟動進程偵聽的可執行文件的路徑。
processPath=".\JobWanted.exe" 說明 Web需要請求轉發給 Kestrel 服務器
根據 ASP.NET Core 模塊 | Microsoft Docs 開篇的介紹,顯然應該使用進程外托管模型。
ASP.NET Core 模塊是插入 IIS 管道的本機 IIS 模塊,用於:
在 IIS 工作進程 (w3wp.exe) 內托管 ASP.NET Core 應用,稱為進程內托管模型。
將 Web 請求轉發到運行 Kestrel 服務器的后端 ASP.NET Core 應用,稱為進程外托管模型。
配置進程外托管模型,重新發布之后web.config文件內容變更如下。
<?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=".\JobWanted.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="OutOfProcess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: f0cca8c5-a238-40ff-9989-476b54dc1e72-->
1
2
3
4
5
6
7
8
9
10
11
12
再次訪問,問題解決!
參考:HTTP Error 500.30 - ANCM In-Process Start Failure 解決方法 - 妖精的尾巴
————————————————
版權聲明:本文為CSDN博主「repeatedly」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u014654707/article/details/103580395