2011-11-22 35 views

回答

2

活动允许其他类其他用户执行一些动作,而该方法允许子类作家如自己把它放在实际的类(例如)修改的事件引起人们的关注。

1

Brent Stineman(Windows Azure MVP)最近blogged关于RoleEntryPoint和相关的启动/运行/停止序列,并描述了序列描述中的Stopping和OnStop。

+1

好了,他说,'调用OnStop()被调用'之前的事件被触发。除此之外,我没有看到任何东西。 – sharptooth

+4

据我了解,诚然我还没有集中在测试这一点,停车是你的第一个清理警报。因此,在这一点上,您可能会停止承担更多工作(从队列中拉出,关闭内部端点侦听器)。它也更像是一个异步事件。 OnStop是您最终停止的工作,您只需5分钟即可完成操作,并直接由Azure Fabric代理调用。这一切都需要更多的探索,但仅仅是我的优先级列表并不是很高。它甚至可能是这两个项目在不同的安全环境中运行。 – BrentDaCodeMonkey

4

除此之外事件机制提供了一种灵活的方式来附接处理程序,而OnStop方法必须直接从RoleEntryPoint派生的类中定义的事实,一个相关差是这样的:

The Stopping event is not raised when the virtual machine of the role 
instance is rebooted. 

所以例如,当虚拟机重新启动以进行guest虚拟机操作系统升级时,不会引发停止事件。

另一个不同之处是:

Code running in the OnStop method has 5 minutes to finish when it is called 
for reasons other than a user-initiated shutdown. 

虽然是在阻止事件有这样一个限制的文件中没有提及。

来源:

+0

如果你看看Azure的处理日志,你会看到5分钟限制是针对整个停止序列,所以这只是MSDN稍微错了。 – sharptooth

相关问题