2013-03-08 58 views
1

我在写一个将使用Azure服务总线的应用程序。对于本地开发,我使用Windows Server Service Bus来提供相同的服务(使用的代码是相同的)。模拟服务总线的瞬态错误

我想写应用程序发送或接收消息时容忍瞬态错误。为此,我希望能够测试故障处理代码,以处理在执行各种操作期间突然不可用的本地服务总线实例。理想情况下,我希望围绕这些场景编写一些自动化集成测试,但是我很欣赏这可能不会实际实现。

怎样才能模拟我本地服务总线上的瞬态错误?

回答

1

一个简单的事情就是调用stop-sbservice(影响一个节点)或stop-sbfarm(影响整个场)cmdlet。这可以让你在本地模拟一个服务总线中断。然后,您可以调用start-sbservice或start-sbfarm来恢复服务并验证您的代码是否可以正常恢复。这种方法还具有您在服务返回时控制的额外好处(与刚刚崩溃的流程相比)。 This page包含有关可用cmdlet的信息。

如果这还不够,我过去使用的另一种方法是关闭网络接口,或者如果服务器在另一台计算机上,则在用于与服务总线通信的端口上放置防火墙。