火星文 技术研习社

Noname Cat, Keep Thinking
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Castle AR 在 Web 应用时一定要配置 isWeb 为 true

Posted on 2006-09-25 15:52  剑廿三  阅读(335)  评论(0编辑  收藏  举报
在书写 ActiveRecord 配置的地方一定要加上 isWeb=true,例如

<activerecord isWeb="true">

看起来这不是可加可不加的选项,而是非加不可的选项。

由于 AR 源代码中按线程管理 NHibernate Session ,不同于桌面应用的单线程,Web 是使用当前的线程 HttpContext.Current 处理事情,isWeb=true 的作用就是使 AR 的 Session 管理符合 Web 服务端的多线程特性,来区分来自不同客户端的数据操作。如果不设定 isWeb=true 的话,有可能当第一个客户打开了 session 后第二个客户拿不到 session,或者出现其他功能上的问题。