我正在Azure Compute Emulator下测试一个简单的Web角色,并在我的类中覆盖了从OnStart()
派生的Run()
,OnStop()
和RoleEntryPoint
方法。
OnStart()
和Run()
被调用但OnStop()
不是 - 我将在Visual Studio中按“停止调试”或关闭浏览器窗口,角色将被终止,但{永远不会调用{1}}。我已经检查过了OnStop()
定义中存在override
关键字。
这不太方便 - 这意味着我无法在实时云外测试我的OnStop()
。
我可以以某种方式在我的角色中使用Compute Emulator调用OnStop()
吗?
答案 0 :(得分:6)
我怀疑(但我不确定),如果您打开计算模拟器UI并“停止”部署,则应调用OnStop()。
答案 1 :(得分:2)
您可以使用csrun更新正在运行的部署的配置。当您提供命令时,实例将调用OnStop()方法。
更新ServiceConfigure:
在我的计算模拟器中它将是:
答案 2 :(得分:1)
如果你故意退出Run()方法,我相信应该调用OnStop()。