没有会话绑定到当前上下文

2023-11-26

我按照这个教程进行操作:http://nhforge.org/blogs/nhibernate/archive/2011/03/03/ effective-nhibernate-session-management-for-web-apps.aspx

尝试加载页面(mvc 3)时,我没有收到“没有会话绑定到当前上下文”错误。

public static ISessionFactory BuildSessionFactory()
        {

            return Fluently.Configure()
                .Database(MsSqlConfiguration.MsSql2008 // 
                              .ConnectionString(@"Server=.\SQLExpress;Database=db1;Uid=dev;Pwd=123;")
                              .ShowSql())
                //.ExposeConfiguration(c => c.SetProperty("current_session_context_class", "web"))
                //.CurrentSessionContext<CallSessionContext>()             
                .Mappings(m => m.FluentMappings
                                   .AddFromAssemblyOf<User>())
                .ExposeConfiguration(cfg => new SchemaExport(cfg)
                                                .Create(false, false))
                .BuildSessionFactory();
        }

实际错误在我的 Repository.cs 文件中:

第 114 行:public virtual T Get(int id) 第 115 行:{ 第 116 行: return _sessionFactory.GetCurrentSession().Get(id); 第 117 行:} 118号线:

当我调试它时, _sessionFactory 不为空或任何东西,它似乎找不到绑定的会话。

我在 web.config 中连接了 httpmodule,并且它确实运行了,所以这不是问题。

在我的 nhibernate 配置中,我尝试了以下两种方法:

.ExposeConfiguration(c => c.SetProperty("current_session_context_class", "web"))

and

.CurrentSessionContext<CallSessionContext>()

但这没有用。


听起来您没有将会话绑定到上下文。看下面的例子:

public class SessionFactory
{
    protected static ISessionFactory sessionFactory;
    private static ILog log = LogManager.GetLogger(typeof(SessionFactory));

    //Several functions omitted for brevity

    public static ISession GetCurrentSession()
    {
        if(!CurrentSessionContext.HasBind(GetSessionFactory()))
            CurrentSessionContext.Bind(GetSessionFactory().OpenSession());

        return GetSessionFactory().GetCurrentSession();
    }

    public static void DisposeCurrentSession()
    {
        ISession currentSession = CurrentSessionContext.Unbind(GetSessionFactory());

        currentSession.Close();
        currentSession.Dispose();
    }
}

上述的关键是,每当您检索第一个会话时,您都会将其绑定到您正在使用的任何上下文。

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

没有会话绑定到当前上下文 的相关文章

  • 注销租约抛出 InvalidOperationException

    我有一个使用插件的应用程序 我在另一个应用程序域中加载插件 我使用 RemoteHandle 类http www pocketsilicon com post Things That Make My Life Hell Part 1 App
  • 如何将非静态类成员“std::bind”绑定到 Win32 回调函数“WNDPROC”?

    我正在尝试将非静态类成员绑定到标准WNDPROC http msdn microsoft com en us library ms633573 aspx功能 我知道我可以通过将类成员设为静态来简单地做到这一点 但是 作为一名 C 11 ST
  • 如何使用 ViewBag 创建 BaseController

    我需要执行以下操作 我已经准备好一些控制器并正在运行 但现在我想创建一个BaseController 我的每一个Controllers应该像这样继承它 public class MySecondController BaseControll
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 如何使用 LINQ2SQL 连接两个不同上下文的表?

    我的应用程序中有 2 个数据上下文 不同的数据库 并且需要能够通过上下文 B 中的表的右连接来查询上下文 A 中的表 我该如何在 LINQ2SQL 中执行此操作 Why 我们正在使用 SaaS 产品来跟踪我们的时间 项目等 并希望向该产品发
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • 在一个平台上,对于所有数据类型,所有数据指针的大小是否相同? [复制]

    这个问题在这里已经有答案了 Are char int long 甚至long long 大小相同 在给定平台上 不能保证它们的大小相同 尽管在我有使用经验的平台上它们通常是相同的 C 2011 在线草稿 http www open std
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • SignalR 似乎正在减慢我的 MVC/Azure 应用程序的启动速度

    我有一个 MVC 应用程序在 Windows Azure 上的 WebRole 上的 NET 4 5 下运行 使用 SignalR 1 0 alpha2 并使用 ServiceBus 底板 在我的 App Start 文件夹中 我有 Reg
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • System.IO.FileNotFoundException:找不到网络路径。在 Windows 7 上使用 DirectoryEntry 对象时出现异常

    我正在尝试使用 DirectoryEntry 对象连接到远程 Windows 7 计算机 这是我的代码 DirectoryEntry obDirEntry new DirectoryEntry WinNT hostName hostName
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 我的班级应该订阅自己的公共活动吗?

    我正在使用 C 3 0 遵循标准事件模式我有 public event EventHandler
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData

随机推荐

  • 在 Emacs 上同时运行 Clojure 和其他 Lisp

    I use Aquamacs 并且 Aquamacs 预先配备了SLIME setq inferior lisp program usr local bin sbcl add to list load path Library Applic
  • 有没有可用于印度语言的词干分析器[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 是否有任何针对印度语言的词干分析器的实现 例如 印地语 泰卢固语 可用 印地语分析器 带有词干分析器 可在 Lucene 中使用 正是基于此算法 p
  • string1 >= string2 未在 Linq to SQL 中实现,有解决方法吗?

    如何在 Linq to SQL 中执行 string1 gt string2 如果您正在寻找 gt 通常会写成 gt 那么你不能直接用字符串来做到这一点 您可以通过以下方式获得相同的行为相比于 string1 CompareTo strin
  • 这是角度模板缓存清除的好方法吗?

    我正在尝试在我的角度应用程序上实现一些缓存清除 其方式仍然允许缓存 但在我们将新代码推送到生产环境时会破坏它 到目前为止 我的设置涉及使用 grunt 缓存破坏器https www npmjs org package grunt cache
  • 转到 HTML 中另一个页面的 div

    我想从不同的页面转到特定页面的 DIV 那可能吗 I tried a href file html product Hello a 但它只是去file html home thanks C 我的 file html 中有 但它不断被重定向到
  • Microchip PIC 的 Modbus 堆栈

    有人可以建议为 Microchip PIC18 处理器实现 Modbus RTU 从站的开源实现吗 我正在寻找 RS 232 RS 485 的 Modbus RTU 实现 但 Modbus TCP IP 实现也将受到欢迎 我已经为 PIC1
  • 如何在 IPython 笔记本中打开交互式 matplotlib 窗口?

    我正在使用 IPython pylab inline有时想要快速切换到交互式 可缩放的 matplotlib GUI 来查看绘图 当您在终端 Python 控制台中绘制某些内容时会弹出 我怎么能这么做呢 最好不要离开或重新启动我的笔记本 I
  • Android - 如何通过用户名以编程方式切换用户?

    我是 Android 新手 我必须在工作中创建一个执行以下任务的应用程序 我监听一个应该向我发送用户名的套接字 收到用户名后 我需要在平板电脑上切换到该用户帐户 如果我收到与当前活动用户相同的用户名 我不需要切换 显然 我们的平板电脑已获得
  • unaccent() 阻止 Postgres 中的索引使用

    我想从导入到 PostgreSQL 9 3 5 的 OpenStreetMap 数据库中检索给定名称的路线 操作系统是 Win7 64 位 为了具有一定的容错能力 我使用了 Postgres 的非重音扩展 我的查询如下所示 SELECT F
  • 使用补丁(Flask)进行单元测试行为

    我在尝试着patch我的 Flask api 中的方法 但似乎方法调用没有被替换 做app test client 做一些我所缺少的事情 例如 如果我跑 patch k stats mstats def test ps self mstat
  • 如果“设置”->“显示”->“显示尺寸”更改为“大”或“小”,则禁用应用程序或活动缩放

    在我的应用程序中 我不想允许它调整大小 因为它会产生设计问题 我尝试过android resizeableActivity false 在应用程序标签和启动器活动标签中 但它没有帮助 我已经找到了解决方案 如果系统文本大小更改或显示大小设置
  • socket.io 握手返回错误“传输未知”

    我正在尝试使用大象io将事件从我的 PHP 脚本发送到我的 Nodejs 服务器 使用这个库进行测试时 我注意到握手没有按预期发生 After 阅读有关客户端 服务器握手的规范使用socket io 我测试了对我的nodejs服务器的简单握
  • 春豆到底是什么?

    我还没有找到我能理解的 Spring bean 的高级定义 我在 Grails 文档和书籍中经常看到它们被引用 但我认为了解它们是什么会很有帮助 那么什么是Spring bean呢 如何使用它们 它们与依赖注入有什么关系吗 Spring核心
  • Symfony2:仅当复选框为真时,如何验证输入字段不为空?

    在 Symfony2 中 仅当复选框的值为 1 True 时 如何验证输入字段不是空白 否则允许空白 更准确地说 我有一个带有复选框的表单和一个带有文本类型的输入字段 在 Symfony 的实体上应该有一个检查 当复选框的值为 True 1
  • 根据接口生成表达式

    我遇到了例外无法将类型 MySomeTypeThatImplementsISomeInterfaceAndIsPassedAs T ToTheClass 转换为类型 ISomeInterface LINQ to Entities 仅支持转换
  • 重新分区(1) 和合并(1) 之间的区别

    在我们的项目中 我们使用repartition 1 将数据写入表中 我有兴趣知道为什么coalesce 1 不能在这里使用 因为repartition与coalesce I know repartition跨分区均匀分布数据 但是当输出文件
  • 如果使用.remove(),表单将无法提交?

    我对 Firefox jQuery 或两者都感到困扰 操作系统为 Windows 7 Firefox 版本为 4 0 1 jQuery 版本为 1 5 1 6 基本上我有一个表格button其中的元素 通过 jQuery 附加了一个单击事件
  • pandas.read_html 不支持小数逗号

    我正在使用读取 xlm 文件pandas read html并且工作几乎完美 问题是该文件使用逗号作为小数分隔符而不是点 默认在read html 我可以轻松地将一个文件中的逗号替换为点 但我有近 200 个具有该配置的文件 和pandas
  • 使用开发者工具时 IE9 是否启用“某些功能”?

    我正在使用 Google Maps Javascript API V3 最近我的地图上的图标没有显示在 IE9 中 为了弄清真相 我打开了IE的开发者工具 当我刷新地图时 图标出现了 然而 当我关闭 IE 并重新启动时 图标不存在 再一次
  • 没有会话绑定到当前上下文

    我按照这个教程进行操作 http nhforge org blogs nhibernate archive 2011 03 03 effective nhibernate session management for web apps as