我看到Azure如何定期检查我的辅助角色的状态,但是如何?
RoleEntryPoint
中没有方法可以做到这一点,我正在使用ILSpy看一下Microsoft.WindowsAzure.ServiceRuntime
的类,但没有发现任何相关的内容。
这里是blog post,描述Windows Azure Fabric Controller如何监视实例运行状况。
除此之外,控制器每隔15秒调用一次StatusCheck事件,您可以处理该事件。如果要退出负载均衡器(可能基于实例拥有的一些内部数据),只需在RoleEnvironmentStatusCheckEventArgs对象上调用SetBusy()。这将使您脱离负载均衡器,直到进行下一次检查。
我认为该机制与用于WebRoles的机制相同
Azure RoleEnvironment执行状态检查-请参阅http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.roleenvironment.statuscheck.aspx
如果要告诉服务您正忙,则在此事件触发时调用SetBusy()