如何在ASP.NET MVC2中为每个Web请求持久化NHibernate会话?
- 内容介绍
- 文章标签
- 相关推荐
本文共计293个文字,预计阅读时间需要2分钟。
我有一个使用NHibernate进行数据访问的ASP.net MVC2应用程序。在每次请求中,无论是静态文件请求(如图像、JavaScript)还是创建新的会话,都会生成一个新的数据库会话。因此,对于我正在返回的列表视图的每个单个视图,我正在创建一个大量的大约。
我有一个使用NHibernate进行数据访问的ASP.net MVC2应用程序.在每个请求上,即使是静态文件请求(图像, javascript),也会创建一个新会话.因此,对于我正在返回列表的单个视图,我正在创建大约15个不加载任何内容的会话.有没有办法只在需要时创建会话?
我目前正在使用Castle.Windsor将会话注入我的控制器.
有没有办法过滤掉静态文件请求?
听起来您需要在路由中排除这些路径:public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); // add these lines routes.IgnoreRoute("{resource}.jpg"); routes.IgnoreRoute("{resource}.js"); }
虽然如果你问我,对静态文件的请求不应该是实例化控制器.你可能想看看你的代码并找出它为什么这样做.
本文共计293个文字,预计阅读时间需要2分钟。
我有一个使用NHibernate进行数据访问的ASP.net MVC2应用程序。在每次请求中,无论是静态文件请求(如图像、JavaScript)还是创建新的会话,都会生成一个新的数据库会话。因此,对于我正在返回的列表视图的每个单个视图,我正在创建一个大量的大约。
我有一个使用NHibernate进行数据访问的ASP.net MVC2应用程序.在每个请求上,即使是静态文件请求(图像, javascript),也会创建一个新会话.因此,对于我正在返回列表的单个视图,我正在创建大约15个不加载任何内容的会话.有没有办法只在需要时创建会话?
我目前正在使用Castle.Windsor将会话注入我的控制器.
有没有办法过滤掉静态文件请求?
听起来您需要在路由中排除这些路径:public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); // add these lines routes.IgnoreRoute("{resource}.jpg"); routes.IgnoreRoute("{resource}.js"); }
虽然如果你问我,对静态文件的请求不应该是实例化控制器.你可能想看看你的代码并找出它为什么这样做.

