[英]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.