[英]ASP.NET 4.5 throws 502.5 as a virtual application in Azure Web App under a ASP.NET Core 2.0 application
[英].NET core web API as virtual application on Azure app service
我有一個.NET core 2.0 Web應用程序作為Azure應用程序服務成功運行。
為了省錢/復雜,我想在一個域上運行它的公共API,就像一個虛擬應用程序,即www.mysite.com/api
但是,當我釋放到虛擬應用程序,然后嘗試訪問它時,我僅收到一條錯誤消息,內容為:
“由於發生內部服務器錯誤,因此無法顯示該頁面。”
我是一位經驗豐富的.NET Framework開發人員,但這是我的第一個.NET核心項目,因此我不確定如何調試它。
只是為了確認一下,我有一個.NET核心網站和一個.NET核心Web API,其中Web API應駐留在“ / api”虛擬應用程序中。 我已將Azure應用程序服務中的虛擬應用程序設置為“ site \\ api”(主網站為“ site \\ wwwroot”)
該API具有預期的自己的web.config等。 我猜這都是由我尚未完成的某些配置引起的,但是我不確定到底是什么。
問題是您“子應用程序”生成了一個web.config
文件,其中父web.config
已經具有一個重復的條目:
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
請參閱此處的文章: https : //github.com/aspnet/IISIntegration/issues/190
在您的Startup.cs中,您可能會有類似以下內容:
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
只需注釋掉if
,您將在“生產”中獲得開發人員例外頁面。
這可能為您提供了真正問題所在的線索。
除了@Neil所說的以外,還要啟用啟動錯誤,因為應用程序可能已經無法啟動,這將導致根本不顯示開發人員異常頁面。
在您的program.cs中調整Webhost的構建過程
return WebHost.CreateDefaultBuilder(args)
.CaptureStartupErrors(true) // add this line
.UseSetting(WebHostDefaults.DetailedErrorsKey, "true") // and this line
.UseKestrel()
.UseStartup<Startup>()
.Build();
參考: https : //docs.microsoft.com/zh-cn/aspnet/core/fundamentals/hosting?tabs=aspnetcore2x#capture-startup-errors
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.