我们为SharePoint部署构建了一个简单的IHttpModule,它捕获异常并使用以下基础将内容通过电子邮件发送给开发人员:
public class ExceptionReporter : IHttpModule
{
//snip
public void Init(HttpApplication context)
{
context.Error += new EventHandler(context_Error);
}
void context_Error(object sender, EventArgs e)
{
//Do stuff here
}
//snip
}
为了尝试以“适当”的方式部署它,我们使用SPWebConfigModification将类型添加到web.config的节点。
我们的问题是中的第一个是Microsoft.SharePoint.ApplicationRuntime.SPRequestModule,它捕获并清除所有异常,从而阻止处理程序处理错误。我们已经通过手动修改web.config以便将处理程序放在SPRequestModule之前,以及使用Reflector查看SPRequestModule的操作来验证了此行为。
使此条目进入web.config并出现在SPRequestModule之前的“最佳实践”方法是什么?
最佳答案
您是否试图将Application_Error事件挂接到Global.asax中,您应该能够执行在模块中尝试执行的操作。
关于sharepoint - 在httpModules节点的开头插入SPWebConfigModification,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1295802/