2014-02-07 48 views
0

我使用NServicebus 4.3.3與SqlServer的。我發現禁用超時管理器和二級重試(SLR)之間存在關聯。這是爲什麼 ?有沒有辦法使SLR能夠在沒有啓用超時管理器的情況下工作?我沒有使用傳奇故事,所以不需要超時經理,如果我啓用它,我的應用程序不會再啓動。它由IIS(快遞)託管。第二級重試不NServiceBus工作時超時管理器被禁用

回答

0

找到了解決辦法。我必須禁用saga功能(Configure.Features.Disable();)。然後,我沒有禁用超時經理和二級重試工作

1

我試圖通過轉換ErrorHandling中的樣品,特別是使用單反相機使用的SqlServer運輸的一個複製本,它按預期工作對我來說。我沒有看到你正在經歷什麼。

其可能的,我可能失去了一些東西。你能否在這裏提出一個關於如何重現這個問題的細節? https://github.com/particular/nservicebus.sqlserver/issues?state=open

我使用NServiceBus 4.3.4版和SqlServer 1.1.0進行測試。

+0

感謝INDU我也只是用ErrorHandling中的例子。默認版本可以工作,但不會與數據庫建立連接。所以我添加了實現IWantToRunBeforeConfiguration接口的代碼。在那裏我把下一行放在Init方法中:Configure.With()。DisableTimeoutManager();我刪除了之前創建的所有運行默認代碼的隊列。我運行更改後的代碼,然後單反會引發很多錯誤。所以我有一些關於超時管理器的禁用(這是我需要的,否則我的應用程序無法啓動)它是一個ASP.net MVC託管在IIS expr中。 –

+0

我發現disabletimeoutmanager和第二級重試之間有關聯。如果超時管理器被禁用,則第二級重試將不起作用。沒有創建slr的隊列。這就是NServiceBus的人員如何實現它。我不需要傳奇。如果我啓用了timeoutmanager,那麼我的asp.net mvc應用程序不會再啓動了似乎是我對saga和sql server有問題也許你可以告訴我這個Indu有什麼問題? –