如何在Azure计算模拟器中调用RoleEntryPoint.OnStop()?

我正在Azure计算模拟器下testing一个简单的Webangular色,并在我的类中RoleEntryPoint了派生自RoleEntryPoint OnStart()Run()OnStop()方法。

OnStart()Run()被调用,但OnStop()不是 – 我将在Visual Studio中按“停止debugging”或closures浏览器窗口,angular色将被终止,但OnStop()永远不会被调用。 我已经检查 – 在OnStop()定义中存在override关键字。

这不是很方便 – 这意味着我不能在Live云上testing我的OnStop()

我可以以某种方式使计算模拟器调用OnStop()在我的angular色?

我怀疑(但我不确定),如果您打开计算模拟器用户界面,并在那里“停止”部署,应该调用OnStop()。

您可以使用csrun更新正在运行的部署的配置。 当你给这个命令的时候,这个实例会调用OnStop()方法。

要更新ServiceConfigure:

  • 通过命令行打开Azure SDK bin文件夹
  • 发出命令csrun.exe / update:{Deployment ID,只是数字}; {cscfg文件的路径}

在我的计算模拟器中,它将是:

  • csrun.exe / update:252;“D:\ user \ My Documents \ Visual Studio 2010 \ Projects \ CSM \ CSC \ bin \ Debug \ ServiceConfiguration.cscfg”

如果你故意退出Run()方法,我相信OnStop()应该被调用。