有个问题困扰了好久:
同样的程序,有时成功有时失败,怀疑和ASP的线程有关系
程序:

Nhibernate 的Session和Asp.net 的线程
Nhibernate 的Session和Asp.net 的线程        
public int Deposit(Guid AccountID, string sn)
        }

_coreRespository的源代码我的Blog上有,封装了一些简单的CRUD操作
以上代码,昨天突然运行不正常,运行到GetSnID时出错。可是单独调用GetSnID能正常运行。怀疑是Session的问题,检查Corespoitory的封装,发现他没有在每次操作中关闭Session而是让HttpModuel来处理的。
可跟踪程序发现Session是Open的,因此与Session的OPen,Close 无关
现在改代码如下:
Nhibernate 的Session和Asp.net 的线程public int Deposit(Guid AccountID, string sn)
            }

能正常运行。
认为问题已经解决。
可是晚上再运行以前出问题的代码(第一段),竟然又能正常工作了。
因为Session不是线程安全的,怀疑和Asp的线程有关。
第二段能解决问题,应该是再每次函数调用中都用到了新的Session,而没有用旧的。
有高手指教一下??

相关文章: