加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

在Windows Azure角色中OnStop()方法和Stopping事件之间有什么区

发布时间:2020-12-14 04:04:11 所属栏目:Windows 来源:网络整理
导读:每当 Windows Azure角色停止时,都会调用其OnStop()方法.事实证明,在调用OnStop()之前触发了 RoleEnvironment.Stopping event. MSDN说这个事件是角色清理关闭代码的正确位置. 两者有什么区别?为什么我会在Stopping事件中放置角色干净关闭代码而不在OnStop()
每当 Windows Azure角色停止时,都会调用其OnStop()方法.事实证明,在调用OnStop()之前触发了 RoleEnvironment.Stopping event. MSDN说这个事件是角色清理关闭代码的正确位置.

两者有什么区别?为什么我会在Stopping事件中放置角色干净关闭代码而不在OnStop()方法覆盖中?

除了事件机制提供一种灵活的方式来附加处理程序这一事实,而OnStop方法必须直接在从RoleEntryPoint派生的类上定义,一个相关的区别是:
The Stopping event is not raised when the virtual machine of the role
instance is rebooted.

因此,不会引发停止事件,例如,当VM重新引导以进行客户操作系统升级时.

另一个区别是:

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

虽然文档中没有提到Stopping事件有这样的限制.

资源:

> MSDN – RoleEnvironment.Stopping Event
> MSDN – RoleEntryPoint.OnStop Method

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读