我有我的NHibernate會話管理HttpModule。是否可以僅爲MVC/Controller Action請求執行IHttpModule?
的問題是,當圖片被加載每個請求將調用我的HttpModule,並創建一個新的ISession,這是一種愚蠢的。
這將是不錯的配置HTTP模塊,使其只調用的MVC請求。否則,HttpModule不應該被圖像,css,js等請求調用。
有沒有辦法做到這一點?
我有我的NHibernate會話管理HttpModule。是否可以僅爲MVC/Controller Action請求執行IHttpModule?
的問題是,當圖片被加載每個請求將調用我的HttpModule,並創建一個新的ISession,這是一種愚蠢的。
這將是不錯的配置HTTP模塊,使其只調用的MVC請求。否則,HttpModule不應該被圖像,css,js等請求調用。
有沒有辦法做到這一點?
首先創建一個新的會話的開銷不是很大 - 它不一定連接到數據庫。
其次,您可以打開和使用過濾器關閉會話,而不是在MVC模塊的,如果你只是想對MVC請求
要回答這個問題,使用正則表達式來看看Request.Url到匹配您不想處理的文件擴展名,並在未經處理的情況下返回。
你有在使用過濾器的例子嗎?是否有可能使用您的過濾方法,並在一個webrequest中涉及多個控制器? – Rookian
如果你的意思是這樣的:http://weblogs.asp.net/fredriknormen/archive/2010/07/27/unitofwork-action-filter-for-asp-net-mvc-and-nhibernate.aspx那麼這個億韓元對我沒有幫助,因爲我有在一個Web請求中執行多個動作的情況。所以第二項行動將使用已處理的會話。如果我錯了,或者有其他方式讓我知道。 – Rookian