0
當轉移到MVC和現在的IIS7時,我們開始遇到問題,即在每個請求(靜態文件等)上調用了打開和關閉ISession的HTTP模塊。我想避免這樣做NH會話管理的全部重寫,所以我在我的模塊中實現此代碼,以過濾掉一切,但請求要去mvchandler:ASP.Net MVC Nhibernate Session
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
}
}
我的問題是,我從來沒有使用此事件在請求管道中。那麼,這樣做有沒有隱藏的陷阱?另外,我是否在爲每個請求運行此檢查時查看性能問題?我還沒有注意到,但這是一個新的,但仍然很小的應用程序。
確實如此,但是推動我的優勢在於,當end_request事件針對某些非MVC請求觸發時,我會在當前會話中隨機獲取null ref異常。 – CocoB 2010-08-06 13:47:52
在這種情況下,我會看看:http://blogs.iis.net/thomad/archive/2006/11/04/precondition-what.aspx - 您可能能夠純粹通過配置模塊。 – DanP 2010-08-06 14:03:00