如何在Azure计算模拟器中调用RoleEntryPoint.OnStop()?
我在Azure计算模拟器下测试了一个简单的web角色,并且覆盖了我的类中从RoleEntryPoint
派生的OnStart()
,Run()
和OnStop()
方法。如何在Azure计算模拟器中调用RoleEntryPoint.OnStop()?
OnStart()
和Run()
被称为但是OnStop()
是不是 - 我要么按“停止调试”在Visual Studio或关闭浏览器窗口和作用将被终止,但OnStop()
不会被调用。我已检查 - override
关键字存在于OnStop()
的定义中。
这不是很方便 - 这意味着我无法在实时云外测试OnStop()
。
我可以以某种方式使计算模拟器调用OnStop()
在我的角色?
我怀疑(但我不确定),如果你打开计算模拟器UI并在那里“停止”部署,应该调用OnStop()。
是的,那有效。 – sharptooth 2011-06-17 07:26:45
这不再有效。调用RoleEnvironment.RequestRecycle();作品 – RickAndMSFT 2012-11-18 22:36:10
据我可以告诉这是再次工作,虽然现在在模拟器用户界面中的选项是“暂停”或“重新启动”。 – user1454265 2015-04-23 20:02:38
您可以使用csrun更新正在运行的部署的配置。当你给出命令时,实例将调用OnStop()方法。
要更新ServiceConfigure:
- 打开通过命令行
- 发出命令csrun.exe /更新在Azure SDK bin文件夹:{部署ID,只是数量}; {的路径cscfg文件}
在我的计算仿真这将是:
- csrun.exe /更新:252;“d:\使用r \ My Documents \ Visual Studio 2010 \ Projects \ CSM \ CSC \ bin \ Debug \ ServiceConfiguration.cscfg“
从2012年11月起,您必须使用RoleEnvironment.RequestRecycle(); – RickAndMSFT 2012-11-18 22:31:40