当转移到MVC,现在转移到IIS7时,我们开始遇到问题,即每个请求(静态文件等)都会调用打开和关闭ISession的HTTP模块。我想避免完全重写NH会话管理,所以我在我的模块中实现了这个代码,过滤除了请求转到mvchandler之外的所有内容:
void context_PreRequestHandlerExecute(object sender, System.EventArgs e)
{
HttpContext context = ((HttpApplication)sender).Context;
Type mvcht = typeof(System.Web.Mvc.MvcHandler);
if (context.Handler != null && context.Handler.GetType().IsAssignableFrom(mvcht))
{
// Code Here
}
}
我的问题是,我从未在请求pipline中使用过此事件。那么,这样做有什么隐藏的陷阱吗?另外,我是否在查看每个请求运行此检查时的性能问题?我还没有注意到任何东西,但这是一个新的,仍然很小的应用程序。