这是将 NHibernate Isession 作为 PerWebRequest 处理的好解决方案吗

2023-12-24

我一直在努力研究 NHibernate 会话管理,现在最终找到了两种可能的解决方案来满足每个 Web 请求的会话。

我在 ASPNET mvc 项目中使用 Windsor 进行 IoC

第一个解决方案是在 begin_request 中打开会话并在 end_request 中再次关闭/处置它。在温莎设置中我会 容器.Register(Component.For().UsingFactoryMethod(() => SessionFactory.GetCurrentSession()).LifeStyle.Transient;

此解决方案为每个请求创建会话并通过 GetCurrentSession 共享它。

第二种解决方案是使用 Windsor 像

容器.Register(Component.For().UsingFactoryMethod(() => SessionFactory.OpenSession()).LifeStyle.PerWebRequest);

这还可以为每个网络请求提供一个会话并支持构造函数注入。这有点简单,但我需要第二个意见。

请让我知道您想使用什么,

此致 拉斯穆斯


我不推荐这两种解决方案中的任何一个。与其尝试重新发明轮子,不如使用NHibernate 设施 http://www.castleproject.org/container/facilities/trunk/nhibernate/index.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

这是将 NHibernate Isession 作为 PerWebRequest 处理的好解决方案吗 的相关文章

  • NHibernate - 无法执行查询 - 输入字符串的格式不正确

    我已经为此摸不着头脑有一段时间了 我不知道出了什么问题 概述 我的 MySQL 数据库中有两个表 两者都正确映射到数据库 我可以加载数据 并且我能够查询一个表 但不能查询另一个表 我研究过的解决方案 表和 C 代码之间的类型转换问题 映射问
  • Spring Boot,Websockets无法从Session获取用户(即java.security.Principal)

    与 一起工作Spring Boot 1 2 1 RELEASE and Spring Websockets 运行嵌入式时存在部署运行时问题Jetty 9 我不能伪造用户 java security Principal 当应用程序部署在本地主
  • hibernate sessionfactory如何管理session?

    我刚刚得到了Hibernate Session和Connection之间的关系 但现在 我又遇到了一个问题 hibernate sessionfactory如何管理session 在以下代码段中 DAO 类的 save 方法 Session
  • Node + Express 会话过期?

    我有一个 Express 应用程序 并且有一个登录表单 我需要持续 1 个月的会话 我是否将 maxAge 设置为一个月 以毫秒为单位 我让两台计算机保持打开状态并登录了 24 小时 当我回来时 两台计算机都已注销 我该如何解决这个问题 实
  • 由于缺少会话而在 Next.js 中使用 Next-Auth 进行重定向时,如何显示 Toast 通知? [复制]

    这个问题在这里已经有答案了 例如 假设我有一个名为internal tsx 的页面 其中包含 export const getServerSideProps GetServerSideProps async ctx gt const ses
  • ASP.NET 会话状态服务器与 InProc 会话

    运行会话状态服务器而不是 InProc 的开销性能损失是多少 重要吗 我知道您可以使用状态服务器重新启动 w3wp 并保留所有会话状态 这是相对于 InProc 的唯一优势吗 这取决于您的部署计划 在单个服务器上 损失很小 但好处同样有限
  • 如何在 NHibernate 查询中仅选择几列?

    我有一个一类到一表的映射 不幸的是 这个表有 110 多个列 查询需要很长时间 尤其是大多数时候我只想查看 我的问题是查询是根据用户想要查看的内容动态生成的 我无法真正使用不同的列创建不同的映射 因为会有大量的组合 我正在使用条件 API
  • NHibernate 克服 NotSupportedException

    有谁知道有什么方法可以克服 NotSupportedException 我有一个针对用户的方法 public virtual bool IsAbove User otherUser return HeirarchyString Starts
  • Roslyn,通过 hostObject 传递值

    我正在尝试通过 hostObject 发送一个类 但显然它不想工作 using Roslyn Compilers using Roslyn Compilers CSharp using Roslyn Scripting using Rosl
  • NHibernate HQL 相当于 T-SQL 的 TOP 关键字

    NHibernate HQL 相当于 T SQL 的 TOP 关键字是什么 另外 用非 HQL 方式说 给我一门课的前 15 个 是什么意思 在 HQL 中这实际上非常简单 var top15 session CreateQuery fro
  • 是一对一的关系不好的策略

    用户始终拥有一个钱包 一个钱包始终属于一位用户 由于我想分离与钱夹相关的属性 我创建了 Wallet 对象并能够跟踪钱交易 我创建了 public Wallet Entity
  • 当SESSION_COOKIE_SECURE = True时如何在HTTP中获取一些用户身份信息

    以下是我正在开发的网站的简短描述 公共页面可以通过 HTTP 或 HTTPS 访问 其他一些页面 认证页面 账户详情页面等 需要通过HTTPS访问 Apache2 负责进行相关的 HTTP 到 HTTPS 链接重定向 我使用标准 Djang
  • 测试 CodeIgniter 会话变量的正确方法是什么?

    获取以下代码片段 测试确保会话变量不为空的最佳方法是什么 如果稍后在我的脚本中 我调用以下内容 第一个打印正确 但在第二个我收到消息 未定义的变量 已登录 我尝试过使用 empty and isset 但两者均未成功 我还尝试使用向后执行
  • Rails 中的会话、子域和 authlogic 问题

    我有一个带有 authlogic 身份验证的 Rails 应用程序和一个使用 subdomain fu 构建的 username domain com 结构 但是当从domain com转到username domain com时 我的会话
  • Firebase 3.0 会话持久性

    在 firebase 3 0 中使用会话持久性似乎是不可能的 这在以前的版本中是可能的 https www firebase com docs web guide login password html https www firebase
  • 为什么Windsor只能拦截虚方法或接口方法?

    我正在阅读文档 发现如果不使用接口 那么 Windsor 只能拦截虚拟方法 这是 Windsor 的限制还是 C 语言的限制 我正在寻找深入的答案 C 语言在这里完全无关 问题是拦截在运行时级别如何工作 一种技术是从类继承 实现接口并将其用
  • 登录后,Codeigniter 会话数据在其他页面不可用

    因此 我设置了一个登录页面来验证用户的凭据 然后设置 codeigniter 会话数据 email 和 is logged in 以及其他一些项目 登录后第一页 数据即可访问 在该页面之后 我无法再访问会话数据 事实上 如果我尝试重新加载第
  • 如何使用python登录页面,该页面需要服务器在第一次请求时响应会话ID?

    我正在编写一个脚本来登录某个网页 我使用 request 和 request session 模块来实现此目的 在使用登录参数的第一个请求时 服务器响应一个会话 ID 如何设置该会话 ID 以进一步登录到同一页面 url some url
  • 生成 Flask 中使用的签名会话 cookie 值

    我正在用另一个需要将项目注入会话的 Flask 服务器代理 Flask 服务器 两台服务器具有相同的密钥 因此加密签名将相同 当使用 Flask 和会话时 http 响应包含一个 Set Cookie 标头session text 其中 t
  • 在nhibernate中设置聚集索引

    我试图在 nhibernate 中定义一个不是 id 的属性作为聚集索引 但我发现没有办法做到这一点 谁能给我指点一下这是如何完成的 或者它是当前在 nhibernate 中不可用的东西 提前致谢 您可以使用

随机推荐

  • SharePoint 自定义 JS 文件最佳实践

    我制作了一个自定义母版页 我还制作了一个自定义 CSS 文件 并将其上传到 样式库 我通过以下方式链接到此 CSS 文件
  • AWS Lambda 是否支持 aws-sdk v3?

    我在 cdk 研讨会上创建了一个小型 lambda 函数here https cdkworkshop com 20 typescript 我正在打字稿中编写 lambda 函数 通过管道进行部署 该管道创建包含 lambda 函数的云形成堆
  • 如何在2008R2中从包含多个mdf文件的单个bak文件恢复数据

    我在一个 bak 文件中有多个 mdf 文件 如何恢复数据库中的 bak 文件 Run restore headeronly列出文件 设备 中的备份集 然后restore filelistonly查看要恢复的备份集的详细信息 然后resto
  • 浏览器如何检测哪个 HTTP 响应是他们的?

    假设您有多个正在运行的 Web 浏览器 所有这些浏览器显然都在端口 80 上侦听 那么浏览器如何判断传入的 HTTP 响应是否是由其自身发起的 是否捕捉到响应并显示出来 作为连接过程的一部分 TCP IP 连接被分配一个客户端端口 浏览器做
  • 为什么一类有效而另一类无效?

    正如您所看到的 具有非 void 返回类型很重要 class TestValid public String f List
  • Presto - 十六进制字符串到 int

    我正在尝试使用 presto 将十六进制字符串 以 0x 开头 转换为其整数值 例如0x100到 256 我的十六进制字符串称为 msg id 我尝试使用这个 from hex substr msg id 3 但我遇到了一个问题 因为fro
  • 迄今为止的字符串 - hive SQL

    我正在配置单元环境中运行查询 我有一列有时间戳 但在表中设置了一个字符串 我尝试了以下操作 全部返回 Null SELECT To date activitydate Cast cast activitydate as timestamp
  • 返回数组的动态编程硬币找零

    我试图获得目标金额总和的所有硬币 我能够获得所需数量的硬币 我将如何解决它 您可以无限次使用相同的硬币 例如 change 2 10 gt 2 2 2 2 2 def change coins amount result amount 1
  • 为什么我的条件格式在用VBA添加时会偏移?

    我试图添加这样的条件格式 如果表达式 G5 lt gt 然后将设置内部设置为绿色 使用此价格为 A 5 H 25 尝试了这个 工作正常 正如预期的那样 然后尝试使用以下代码将其改编为 VBA 代码 该代码可以工作 但不符合预期 With A
  • 如何处理“Cmake错误:无法找到请求的Boost库”?

    我正在尝试构建这个项目https github com DLuensch StereoVision ADCensus https github com DLuensch StereoVision ADCensus 在Windows10环境下
  • glib 是否可以以不引人注目的方式使用?

    我正在寻找一个良好的 C 通用库 https stackoverflow com q 2540 1593077在标准 C 库之上 并且看到了一些使用建议glib https developer gnome org glib 您的代码中的 干
  • 使用 CSS 垂直和水平对齐(中间和居中)[重复]

    这个问题在这里已经有答案了 我很困惑我该如何强迫自己div元素为中心 vertically and horizontally 在我的页面 意味着跨浏览器兼容性的一种或多种方式 有很多方法 具有固定度量的元素的中心水平和垂直对齐 CSS di
  • 如何淡出 MPMusicPlayerController 播放的声音?

    我想淡出播放的声音MPMusicPlayerController在特定时间段内 我怎样才能做到这一点 没有淡入淡出功能 因此您必须自己实现 循环直到音量为0 并为每一步添加延迟 如果您希望这一切在 2 秒后发生 请将代码放在一个块上 MPM
  • 在 C# 中签署 POST 表单以上传到 Amazon S3

    我在签署 Amazon S3 保单文件时遇到问题 有一些关于如何在 Ruby Java 和 Python 中执行此操作的示例 但当我尝试在 C 中执行此操作时 却行不通 我不断收到无效签名 我不确定我哪里出了问题 http aws amaz
  • 使用 Wix 安装字体而不是本地字体文件夹

    我正在使用 Wix 为网站创建安装 添加字体时 WiX 会选择 ttf 扩展名 并要求您将其安装到本地字体文件夹 当使用目录 Id FontsFolder 和 TrueType yes 时 如果你删除这些属性 它就会崩溃 有没有办法让 Wi
  • 从现有目标文件创建共享库

    我的 IDE 中有一个项目 我需要创建一个共享库以在扩展中使用 我不想使用共享库设置复制该项目 有没有办法使用我现有项目中的目标文件 o 构建共享库 据我了解 我可以为此编写一个 makefile 我假设您使用的是某种 Unix 并且可能正
  • 调整 XAML Grid.Background 图像的大小

    我有一个简单的 XAML 片段 它布置了一组图块 每个图块都有一个背景图像图标
  • Drive.DriveApi.getAppFolder(mGoogleApiClient) 已弃用

    在尝试设置适用于 Android 的 Google Drive API 时 在这一行中 Drive DriveApi getAppFolder mGoogleApiClient 我明白了 DriveApi and getAppFolder已
  • 重新启用 touchmove 事件侦听器。带有 Phonegap 的 iPhone 应用程序

    我的 js 顶部有以下内容 这是 iScroll 插件工作所必需的 document addEventListener touchmove function e e preventDefault false 在某些页面上 我需要重新启用此功
  • 这是将 NHibernate Isession 作为 PerWebRequest 处理的好解决方案吗

    我一直在努力研究 NHibernate 会话管理 现在最终找到了两种可能的解决方案来满足每个 Web 请求的会话 我在 ASPNET mvc 项目中使用 Windsor 进行 IoC 第一个解决方案是在 begin request 中打开会