2013-03-08 17 views
1

我在寫一個將使用Azure服務總線的應用程序。對於本地開發,我使用Windows Server Service Bus來提供相同的服務(使用的代碼是相同的)。模擬服務總線的瞬態錯誤

我想寫應用程序發送或接收消息時容忍瞬態錯誤。爲此,我希望能夠測試故障處理代碼,以處理在執行各種操作期間突然不可用的本地服務總線實例。理想情況下,我希望圍繞這些場景編寫一些自動化集成測試,但是我很欣賞這可能不會實際實現。

怎樣才能模擬我本地服務總線上的瞬態錯誤?

回答

1

一個簡單的事情就是調用stop-sbservice(影響一個節點)或stop-sbfarm(影響整個場)cmdlet。這可以讓你在本地模擬一個服務總線中斷。然後,您可以調用start-sbservice或start-sbfarm來恢復服務並驗證您的代碼是否可以正常恢復。這種方法還具有您在服務返回時控制的額外好處(與剛剛崩潰的流程相比)。 This page包含有關可用cmdlet的信息。

如果這還不夠,我過去使用的另一種方法是關閉網絡接口,或者如果服務器在另一臺計算機上,則在用於與服務總線通信的端口上放置防火牆。