如何故意使Azure角色崩溃?

| 我想使Windows Azure应用程序尽可能地容错,并且我需要能够故意使角色崩溃,以测试整个应用程序如何从此类崩溃中恢复。 我想我可以将代码正确插入角色中,以获取随机数并决定以极低的概率崩溃。真正的问题是
if( isTimeToCrash() ) {
   //what exactly do I do here?
}
一旦确定时间,如何使角色崩溃。 如何可靠地使Azure角色崩溃?     
已邀请:
您可以将RDP放入计算机中,也可以使用启动任务来添加计划任务,该任务将定期终止\'WaAppAgent \'进程。 Powershell在这里可以找到并杀死进程,这非常好。您需要成为管理员才能执行此操作。这将切断与结构控制器的通信一段时间,直到它恢复并重新开始该过程。 IIRC,它也会杀死您的RoleEntryPoint代码(在WaWebHost或WaWorkerHost下运行)。那将模拟一个很大的失败。 如果您真的想花哨的话,请运行一个后台启动任务,该任务可侦听队列,并在看到队列消息时按需终止该进程。请注意,您不会将此代码放在RoleEntryPoint中,它需要是一个以\'background \'运行的启动任务,否则您将杀死使您的角色崩溃的进程。     
我不确定角色是否崩溃,但是使用角色管理API可以重新启动角色。你可以看一下这个样本     
对于辅助角色,可以从Run()引发异常,并使其不被处理。但是,我不知道这是否符合您的“崩溃”资格-该角色将被适当地回收。 我们的角色往往会通过IIS捕获未处理的异常,因此dunnry的建议可能使您更接近所要寻找的ASOD(死亡的蔚蓝画面)。     

要回复问题请先登录注册