如何在ASP.NET MVC2中为每个Web请求持久化NHibernate会话?

2026-03-30 12:591阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计293个文字,预计阅读时间需要2分钟。

如何在ASP.NET MVC2中为每个Web请求持久化NHibernate会话?

我有一个使用NHibernate进行数据访问的ASP.net MVC2应用程序。在每次请求中,无论是静态文件请求(如图像、JavaScript)还是创建新的会话,都会生成一个新的数据库会话。因此,对于我正在返回的列表视图的每个单个视图,我正在创建一个大量的大约。

我有一个使用NHibernate进行数据访问的ASP.net MVC2应用程序.在每个请求上,即使是静态文件请求(图像, javascript),也会创建一个新会话.因此,对于我正在返回列表的单个视图,我正在创建大约15个不加载任何内容的会话.

有没有办法只在需要时创建会话?

如何在ASP.NET MVC2中为每个Web请求持久化NHibernate会话?

我目前正在使用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分钟。

如何在ASP.NET MVC2中为每个Web请求持久化NHibernate会话?

我有一个使用NHibernate进行数据访问的ASP.net MVC2应用程序。在每次请求中,无论是静态文件请求(如图像、JavaScript)还是创建新的会话,都会生成一个新的数据库会话。因此,对于我正在返回的列表视图的每个单个视图,我正在创建一个大量的大约。

我有一个使用NHibernate进行数据访问的ASP.net MVC2应用程序.在每个请求上,即使是静态文件请求(图像, javascript),也会创建一个新会话.因此,对于我正在返回列表的单个视图,我正在创建大约15个不加载任何内容的会话.

有没有办法只在需要时创建会话?

如何在ASP.NET MVC2中为每个Web请求持久化NHibernate会话?

我目前正在使用Castle.Windsor将会话注入我的控制器.

有没有办法过滤掉静态文件请求?

听起来您需要在路由中排除这些路径:

public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); // add these lines routes.IgnoreRoute("{resource}.jpg"); routes.IgnoreRoute("{resource}.js"); }

虽然如果你问我,对静态文件的请求不应该是实例化控制器.你可能想看看你的代码并找出它为什么这样做.