我已经玩nservicebus几个星期了,因为我的本地机器一切顺利,所以我决定尝试建立一个测试环境并进行部署。我正在使用nservicebus附带的通用主机,并在本地运行时使用nservicebus.Integration配置文件,但是想在测试环境中使用Nservicebus.Production。我设置了一个sql server 2008数据库,对我的app.config进行了更改,一切似乎都运行正常。但经过几次尝试,我注意到我的订户没有收到消息。我检查了订阅表,它是空的。检查日志后,我注意到以下情况:
2010-05-06 15:07:57,416 [1] DEBUG NHibernate.Persister.Entity.AbstractEntityPers ister [(null)]<(null)> - 插入0:INSERT INTO [订阅](SubscriberEndpo int,MessageType)VALUES(?,?) 2010-05-06 15:07:57,416 [1] DEBUG NHibernate.Persister.Entity.AbstractEntityPers ister [(null)]<(null)> - 更新0: 2010-05-06 15:07:57,416 [1] DEBUG NHibernate.Persister.Entity.AbstractEntityPers ister [(null)]<(null)> - 删除0:删除[订阅] WHERE订阅者 端点=? AND MessageType =?
为什么要插入然后立即删除我的订阅?为了排除nhibernate方言问题,我尝试将我的订阅存储切换到oracle 10g数据库。它表现完全相同,前两次工作,然后我开始看到我的订阅在插入后立即被删除。是什么原因导致了这种行为?
答案 0 :(得分:0)
删除仅在订阅者收到取消订阅请求时发生。你能否验证你没有调用总线。在代码中的任何地方取消订阅?
答案 1 :(得分:0)
自升级到2.0.0.1145版本以来,我没有遇到过这个问题。我没有做任何其他更改(除了记录配置)所以我假设这是以前版本的错误。