注意:我也在尖锐的架构Google组上发布了此内容。

说明:在执行期间发生未处理的异常
当前的Web请求。请查看堆栈跟踪以获取更多信息
有关错误及其在代码中起源的信息。

异常详细信息:SharpArch.Core.PreconditionException:会话
工厂已经配置了密钥
nhibernate.current_session

源错误:

第49行:base.Init();
第50行:
第51行:NHibernateSession.Init(新的WebSessionStorage
(这个),
第52行:新字符串[] {Server.MapPath(“〜/ bin /
GCBA.Data.dll“)});
第53行:}

源文件:C:\ Users \ Matt \ Desktop \ Matt \ GCBA \ GCBA \ GCBA.Web
\ Global.asax.cs行:51

堆栈跟踪:

[PreconditionException:会话工厂已经配置
使用nhibernate.current_session的键]

SharpArch.Core.Check.Require(布尔断言,字符串消息)在
C:\ MyStuff \ Projects \ SharpArchitecture \ src \ SharpArch \ SharpArch.Core
\ DesignByContract.cs:62

SharpArch.Data.NHibernate.NHibernateSession.Init(ISessionStorage
存储,String [] mappingAssemblies,AutoPersistenceModel
autoPersistenceModel,字符串cfgFile,IDictionary`2 cfgProperties,
字符串验证器(CfgFile,IPersistenceConfigurer persistenceConfigurer)
在C:\ MyStuff \ Projects \ SharpArchitecture \ src \ SharpArch \ SharpArch.Data
\ NHibernate \ NHibernateSession.cs:70

SharpArch.Data.NHibernate.NHibernateSession.Init(ISessionStorage
存储,C:\ MyStuff \ Projects中的String [] mappingAssemblies)
\ SharpArchitecture \ src \ SharpArch \ SharpArch.Data \ NHibernate
\ NHibernateSession.cs:26

C:\ Users \ Matt \ Desktop \ Matt \ GCBA中的GCBA.Web.MvcApplication.Init()
\ GCBA \ GCBA.Web \ Global.asax.cs:51

System.Web.HttpApplication.InitInternal(HttpContext上下文,
HttpApplicationState状态,MethodInfo []处理程序)+335



这是我尝试从IIS7运行的错误...我可以正常运行
似乎不在VS2008 Cassini中。...所以我不确定是什么问题
是的,我有S#arp和MVC.Net 1.0的7/16/2009主干版本。的
失败的一段代码位于global.asax.cs Init()中
方法。对于这个问题,我真的很沮丧,因为我有
只发现了另一篇与此相关的文章,而且是在测试案例中,
我的实际在哪里尝试从iis7和所有网站运行该网站
我的测试通过了。

如果有人知道什么可能导致此问题,那将是
太好了谢谢。

最佳答案

我最近有同样的问题。我使用了S#arp拱门,但使用了一个普通的asp.net网站项目(集成在cms中)。对我而言,整个问题是Global.asax不会在未知文件类型或虚拟URL上触发。我通过编写自己的HttpModule并分别加载来解决它,这具有NHibernate会启动的副作用,即使有人只在获取图像。但对我来说,这不是问题。

希望这能给您正确的方向...

关于asp.net-mvc - 已经使用nhibernate.current_session的 key 配置了 session 工厂,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1272317/

10-10 07:36