现在的位置: 首页 > 综合 > 正文

IIS7中使用Nhibernate Burrow的问题.

2013年04月17日 ⁄ 综合 ⁄ 共 944字 ⁄ 字号 评论关闭

Nhibernate Borrow 作为一个轻量级的Nhibernate session管理工具的确很方便. 不过最近发现在IIS7中Burrow有个问题. 错误提示为:"Either workspace is not initialized yet or it is closed", 看样子是Burrow的OpenSessionInView模式有问题了,经检查是NHibernate.Burrow.WebUtil.HttpModule没有工作, 查了下资料,原来是IIS7需要特别的配置.

原来的配置方式是

  <system.web>
    
<httpModules>
      
<add name="NHibernate.Burrow.WebUtil.HttpModule" type="NHibernate.Burrow.WebUtil.WebUtilHTTPModule, NHibernate.Burrow.WebUtil"/>
    
</httpModules>
  
</system.web>

现在需要再添加一条即可.

  <system.webServer>
    
<modules>
      
<remove name="ScriptModule"/>
      
<add name="NHibernate.Burrow.WebUtil.HttpModule" type="NHibernate.Burrow.WebUtil.WebUtilHTTPModule, NHibernate.Burrow.WebUtil"/>
    
</modules>
  
</system.webServer>

另外IIS7中链接Ms SQL Server 2008的时候会提示"

用户 'IIS APPPOOL\DefaultAppPool' 登录失败。

"

查了下,原来是应用程序池安全设置问题,简单的办法就是找到程序对应的应用程序池,然后对应的程序池上右键->高级设置->进程模块_标识->选择NetworkService即可.

如果还不行,请打开打开sql server 2005(2008) management studio, 设置安全性->登录名->右击新建登录名->常规->搜索->添加SERVICE用户->服务器角色->勾上sysadmin.

抱歉!评论已关闭.