閱文時長 | | 0.69分鍾 | 字數統計 | | 1116字符 |
主要內容 | | 1、引言&背景 2、排查思路&解決方案 3、聲明與參考資料 | ||
『.Net異常:ASP.NET Core does not support multiple apps in the same app pool』 | |||
編寫人 | | SCscHero | 編寫時間 | | 2022/2/5 PM4:16 |
文章類型 | | 系列 | 完成度 | | 已完成 |
座右銘 | 每一個偉大的事業,都有一個微不足道的開始。 |
一、引言&背景 完成度:100%
a) 應對問題
使用.Net5的WebAPI程序啟動進入Swagger的Url,發現報了個:ASP.NET Core does not support multiple apps in the same app pool異常。詳細異常如下:
HTTP Error 500.35 - ASP.NET Core does not support multiple apps in the same app pool
Common solutions to this issue:
Select a different app pool to host this app.
Specific error detected by ANCM:
Only one in-process application is allowed per IIS application pool. Please assign the application '/LM/W3SVC/3/ROOT/swagger/Index.html' to a different IIS application pool.
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=2028526

b) 應用場景
- 基於.Net技術站下的開發場景。
- 基於Visual Studio2019/2022的IDE下。
- 寄托於IIS的Debug下。
二、排查思路&解決方案 完成度:100%
a) 排查思路
- 結合異常提示以及查閱的資料,發現可能與IIS或VS的BUG有關。
1.1. 網上一種說法是IIS的App Pool被多個進程重復使用了。於是清理、重建、關閉了解決方案,再重啟未果;嘗試手動重啟IIS App Pool辦法,未果。
1.2. 看到網上一種說法,可能是和動了程序游覽器啟動設置和App Url有關(此前博主改動過App Url為swagger/Index.html),於是嘗試改回去,仍是未果。 - 看到網上的一種說法是刪除.vs下的文件即可恢復。我們知道.vs文件夾是一些個性化的設置,比如書簽、斷點設置等都記錄在里面,如果全刪勢必影響較大。
2.1. 詳見本章二節RootCause,刪除指定文件。
b) 解決方案
【WorkAround】
不使用IIS的啟動方式,使用.Net窗口方式啟動。
【RootCause】
刪除.vs[AppName]\config\applicationhost.config文件即可。本質原因尚未清晰,總之動了應用程序啟動路由容易引發此問題。

三、聲明與參考資料 完成度:100%
原創博文,未經許可請勿轉載。
如有幫助,歡迎點贊、收藏、關注。如有問題,請評論留言!如需與博主聯系的,直接博客私信SCscHero即可。