currentsessioncontext流畅nhibernate怎么办呢?

2024-01-20

我正在尝试根据请求使用流利的会话。我正在遵循 nhibernate 食谱中的“食谱”,但它使用 nhibernate 配置文件。

我不确定什么更好,但现在我坚持使用流畅的配置,只是因为我不知道如何设置 nhibernate 配置文件以使用流畅的映射和普通 nhibernate 映射(hbm 文件)。

namespace Demo.WebUI
{
    public class MvcApplication : NinjectHttpApplication
    {
        public static ISessionFactory SessionFactory { get; private set; }

        protected override void OnApplicationStarted()
        {
            SessionFactory = Fluently.Configure()
                .Database(MsSqlConfiguration.MsSql2008.ConnectionString(
                    c => c.FromConnectionStringWithKey("test")))
                .Mappings(m => m.FluentMappings
                    .AddFromAssemblyOf
                     <Demo.Framework.Data.NhibernateMapping.UserMap>())
                .ExposeConfiguration(BuidSchema)
                .BuildSessionFactory();
        }

        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            var session = SessionFactory.OpenSession();
            //CurrentSessionContext.Bind(session);
        }

        protected void Application_EndRequest(object sender, EventArgs e)
        {
            //var session = CurrentSessionContext.Unbind(SessionFactory);
            SessionFactory.Dispose();
        }
    }
}

正如您在 Begin_Request 中看到的,书籍教程有

CurrentSessionContext.Bind(session);

但是,如果我使用它,它会抛出一个错误,因为我没有使用 nhibernate 配置文件。

那么如何更改它以使用流畅的配置呢?或者我什至不需要执行此步骤?(即它是在内部完成的吗?)


您需要告诉 NHibernate 如何处理会话上下文。以下方法可能有效:

Fluently.Configure()
        ...
        .ExposeConfiguration(cfg => cfg.SetProperty(
                                        Environment.CurrentSessionContextClass,
                                        "web")

另外,与此无关:您正在 EndRequest 上处置 SessionFactory。这是一个错误。

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

currentsessioncontext流畅nhibernate怎么办呢? 的相关文章

随机推荐

  • 将类添加到特定类名上的 .hover 功能 - jQuery

    因此 在我的整个文档中 我希望每次用户将鼠标悬停在具有特定类名称的元素上时 我都希望添加一个类 我的 CSS 看起来像这样 hotspot hover hotspothover border 4px solid fff box shadow
  • 查找并重命名所有文件扩展名不正确的图片

    我正在寻找一种方法来自动重命名所有文件扩展名错误的图像 到目前为止 我至少找到了如何获取所有这些文件的列表 find media folder name jpg exec file grep PNG GIF gt foobar txt fi
  • 在scala中玩框架表单验证

    scala 中 play 框架表单验证的工作 跟随我的 Signup 对象 它在 mapping missing 对象表单中方法映射的参数 遵循此方法与 如果你想 将其视为部分应用函数 case class UserRegistration
  • getAllCellInfo 在 android 4.2.1 中返回 null

    我的 Android 版本是 4 2 1 我正在尝试使用TelephonyManager getAllCellInfo 方法 在我的清单文件中我有ACCESS COARSE UPDATES ACCESS COARSE LOCATION AC
  • Jquery Ajax 中的函数作为参数

    是否可以将函数放入 Jquery Ajax 的参数中 如下所示 dataType 和 data 作为函数给出 如果返回类型为 JSON 则 dataType 返回 JSON 值 如果 isJson 为 false 则返回文本 dataVal
  • 裸机 RISC-V CPU - 处理器如何知道从哪个地址开始获取指令?

    我正在设计自己的 RISC V CPU 并且已经能够实现一些指令代码 我已经安装了 RV32I 版本的 GCC 编译器 所以我现在有了汇编器riscv32 unknown elf as可用的 我正在尝试仅用一条指令来汇编一个程序 simpl
  • 尝试理解异步操作子类

    我正在尝试开始使用Operation在一个副项目中 而不是在我的网络代码中散布基于闭包的回调 以帮助消除嵌套调用 所以我在读一些关于这个主题的书 然后我发现this https gist github com calebd 93fa3473
  • 在每个应用程序的事件循环迭代上执行槽

    如何在应用程序事件循环的每次迭代中调用我的槽 我知道的唯一方法是使用 QTimer 并且在每次超时 每毫秒 信号时我可以调用我的插槽 但我不喜欢这个选项 它看起来像是解决方法 有什么建议如何更正确地做到这一点 来自 Qt 4 7 QCore
  • META“过期”标签

    因此 使用 FF 中的 pagespeed 我能够找到一些关于如何减少页面加载时间的区域 其中提到的部分使用 META 过期 标签 它列出了我的所有 CSS 和 JS 文件以及 IMG 文件 现在 如果我只是将此标记合并到我网站的主页 in
  • Java - “\n”是什么意思? [复制]

    这个问题在这里已经有答案了 我用 Java 创建了一个二维数组 我正在寻找一种在控制台上打印它的方法 以便我可以确认我正在制作的东西是正确的 我在网上找到了一些为我执行此任务的代码 但我对代码的特定部分的含义有疑问 int n 10 int
  • 在 ClearCase 中手动撤消交付

    我目前在 ClearCase 中从子流到父级的传输被提升 如果我尝试撤消交付 它会告诉我不能 因为 集成活动已签入 或 签入版本 如果我尝试恢复交付 它会说尝试签出或合并元素时遇到错误 但没有具体告诉我是哪一个 所以我正在寻找一种方法 手动
  • Ping google 关于分页站点地图 django

    I have sitemap xml有 150k 行 我正在使用分页 所以有sitemap xml p 1 sitemap xml p 2 etc 我应该如何使用 Django 向 Google 告知这些页面 或者谷歌会发现sitemap
  • 删除常规数组的元素

    我有一个 Foo 对象数组 如何删除数组的第二个元素 我需要类似的东西RemoveAt 但对于常规数组 如果您不想使用列表 var foos new List
  • 在Python中使用正则表达式解析PDF文件

    我正在尝试使用 Python 的 re 模块解析 PDF 文件中的一些对象元素 我的目标是使用正则表达式解析每个 PDF 对象 PDF 对象示例如下 1 0 obj lt lt Type Catalog Pages 2 0 R gt gt
  • Java char 数组转int

    是否可以转换char 包含数字的数组 一个int 是否char 包含组成数字数字的 unicode 字符 在这种情况下 只需从char 并使用 Integer parseInt char digits 1 2 3 int number In
  • 如何在android中使用volley下载视频文件?

    我想使用 volley 库下载视频 我正在使用 volley 库来处理应用程序中的所有网络调用 首先 我们需要创建一个扩展 Volley Request 类的自定义类 要下载文件数据 我们可以创建自定义字节数组请求 该字节数组可以转换为输入
  • 模板类的编译时计数器

    想象一下 您有很多带有很多不同模板参数的类 每个类都有一个方法static void f 你想将所有这些函数指针收集到一个列表 L 中 运行时解决方案很简单 typedef void p std vector p L int reg p x
  • AnTLR4 C# 中的解析树

    我目前正在使用针对 C 的 AnTLR4 创建语法 但在开发访问者时遇到问题 我找不到书中提到的 ParseTree 类 书中我们有 LabeledExprLexer lexer new LabeledExprLexer input Com
  • 只读 mutableStateListOf

    在 Jetpack Compose 中 如果我有MutableState变量 我可以将其状态公开为 只读 对其他类的价值为State
  • currentsessioncontext流畅nhibernate怎么办呢?

    我正在尝试根据请求使用流利的会话 我正在遵循 nhibernate 食谱中的 食谱 但它使用 nhibernate 配置文件 我不确定什么更好 但现在我坚持使用流畅的配置 只是因为我不知道如何设置 nhibernate 配置文件以使用流畅的