我试图了解如何以及是否可以在wcf服务上保持会话开放。
问题是,如果我选择一个实体并将其传递给客户端而不是将其返回到具有相同会话的服务器,我得到一个异常因为会话不再知道该实体(由于wcf而引用了更改)
所以我必须打开一个新的更新会话,当我打开一个新会话时,我松开了nhibernate的greate cache mechaniz。
我该怎么做才能解决这个问题?
如果我需要为每次通话打开会话,我想保留缓存我不在乎。
答案 0 :(得分:1)
通常,您将使用wcf进行每次通话的会话。当您从客户端收回实体时,您应该能够调用Session.Merge(实体)并完成所需的工作。