我有一个使用StackExchange.Exceptional记录异常的网站。问题是,它不会记录所有异常,例如在我的开发机器上。
如果它不会记录任何异常,我会认为某些配置/权限不适用于Azure网站,可能是模块未加载/工作,但是例如如果我错误地输入控制器操作,我会收到异常记录:
在控制器'Acme.Controllers.AccountController'上找不到公共操作方法'Logi'。
我尝试使用发布配置localy运行网站,它没有问题。
据我所知,StackExchange.Exceptional是http模块,即使用此代码记录未处理的异常:
protected virtual void OnError(object sender, EventArgs args)
{
var app = (HttpApplication)sender;
var ex = app.Server.GetLastError();
LogException(ex, app.Context);
}
在某些情况下可能在Windows Azure上它没有收到OnError事件,任何想法要检查什么,在哪里搜索线索?
答案 0 :(得分:0)
我设法在本地计算机上复制了相同的行为并添加了以下设置:
<customErrors mode="On">
只要RemoteOnly
模式是默认模式,我就没有在本地开发机器上看到问题。不确定原因,但是当启用customErrors
时,某些异常未通过http处理程序记录。