有没有办法将vm角色实例的状态从busy更改为ready。 如果有可能,我想用wcf服务这样做。 非常感谢。
答案 0 :(得分:4)
Fabric Controller将定期检查您的实例的状态,这样一来,您将能够让它知道实例是否繁忙。
您只需处理 StatusCheck 事件并将其设置为忙碌(通过调用 SetBusy 方法)。一旦您确定实例已准备就绪(不再忙),请停止调用 SetBusy 方法。
public override bool OnStart()
{
RoleEnvironment.StatusCheck += RoleEnvironmentStatusCheck;
return base.OnStart();
}
// Use the busy object to indicate that the status of the role instance must be Busy
private volatile bool busy = true;
private void RoleEnvironmentStatusCheck(object sender, RoleInstanceStatusCheckEventArgs e)
{
If (this.busy)
{
// Sets the status of the role instance to Busy for a short interval.
// If you want the role instance to remain busy, add code to
// continue to call the SetBusy method
e.SetBusy();
}
}