0
我有一个Windows服务和ASP.NET MVC 2应用程序,它们都使用Fluent nHibernate(nHibernate 3)连接到同一个数据库。NHibernate并发Windows服务ASP.NET MVC网站
其中一个实体(称为Profile)具有包含图像的url的字符串属性。
此属性随机丢失它的值,我无法弄清楚是什么导致它。用户通过MVC前端进行更新,但我的直觉是Windows服务正在用实体的旧实例覆盖其值(Windows服务更新同一类中的另一个属性)。
有人可以请解释/帮助如何调试这个或最好的方式来管理并发,我已经读过这个主题,但我对nHibernate的乐观和悲观锁定感到困惑。
亲切的问候
山姆
所以当Windows服务做的更新和StaleObjectException异常被抛出,我可以做另一次读管理这种(以获取最新版本并重新应用更改?)如果那么我怎么能在一个通用的Repository中做到这一点?我是否会使用反射来更新每个不同的值? –
@SamLad不要使用反射,使存储库能够处理这种情况 –
感谢Felice,因此,如果我使用下面的通用存储库管理并发性的存储库,因为每个方法都知道哪些属性已更改。比我希望的工作更大,但这是有道理的。 –