我正在Windows Azure网站中托管ASP.NET Core应用程序。我想知道如何获取Startup.Configure()方法中发生的异常的细节?我所看到的只是An error occurred while starting the application.
。
可行的一件事是添加ASPNETCORE_ENVIRONMENT="Development"
的应用设置。
然后我按预期得到System.Exception... at X.Startup.Configure()
。
但这不是一个可行的解决方案。 Azure是我的Staging环境,我已经使用环境概念来替换我的连接字符串(正如我读过的几乎所有ASP.NET Core文档中所建议的那样)。
我尝试的事情没有任何影响:
添加app.UseDeveloperExceptionPage()
(未被任何if
语句包围)。
<customErrors mode="Off"/>
添加到Web.config
ASPNET_DETAILED_ERRORS="true"
添加到Web.config
在Azure门户中启用Detailed error messages
/ Diagnostics logs
添加try-catch
,根据此处的建议编写手动回复https://stackoverflow.com/a/29524042/268091
删除所有内容并重新部署。
除了完全劫持环境概念之外,真的没有办法实现这个目标吗?
答案 0 :(得分:1)
我不知道这是否适合您,但我们决定使用Application Insights报告这些内容。
public void Configuration(IAppBuilder app)
{
var ai = new Microsoft.ApplicationInsights.TelemetryClient();
ai.TrackEvent("Application Starts");
try
{
//Amazing code here
}
catch ( Exception ex )
{
ex = new Exception("Application start up failed.", ex);
ai.TrackException(ex);
throw;
}
}