我想完全用代码为ASP.NET MVC站点配置ELMAH。这包括注册模块,设置日志记录提供程序和设置以及过滤异常。
到目前为止,我设法做的唯一部分是过滤器异常。有没有其他人想出如何做到这一点?我真的希望避免使用不会改变的设置来混乱我的配置文件。
答案 0 :(得分:1)
我认为你可以使用1.2版beta http://code.google.com/p/elmah/issues/list?&q=label%3AMilestone-Release1.2+status=Fixed&can=1
来做到这一点答案 1 :(得分:1)
Link to the original bug/feature in google code.
Link to a google groups discussion giving basic sample code for implementing the service container.
static ServiceProviderQueryHandler
CreateServiceProviderQueryHandler(IServiceProvider sp) {
return context => {
var container = new ServiceContainer(sp);
var log = new SqlErrorLog("…connection string…");
container.AddService(typeof(ErrorLog), log);
return container;
}
}
答案 2 :(得分:0)
ELMAH作为自定义HTTP模块和HTTP处理程序运行。根据{{3}}:
创建自定义HTTP后 处理程序类,您必须在其中注册 Web.config文件。这使得 ASP.NET在中调用HTTP处理程序 为了服务请求 具有指定文件的资源 名称扩展名。
如何注册HTTP处理程序 取决于互联网的版本 托管的信息服务(IIS) 你的申请。对于IIS 6.0,您 使用。注册处理程序 Web.config的httpHandlers部分 文件。对于在Classic中运行的IIS 7.0 模式,你在中注册处理程序 httpHandlers部分,你映射了 Aspnet_isapi.dll文件的处理程序。 对于在Integrated中运行的IIS 7.0 模式,您通过注册处理程序 使用中的处理程序元素 system.WebServer部分。
MSDN他以编程方式注册HttpModule。我想有可能在ELMAH上使用类似的技术。