Compute Emulator中的“角色发现数据不可用”> 1个实例(在Web角色中)

时间:2011-06-16 10:07:15

标签: azure

在带有Azure 1.4 SDK的VS2010 SP1上

在Page_Load of default.aspx.cs中创建一个新的Azure项目和一个Web角色添加:

string id = RoleEnvironment.CurrentRoleInstance.Id;
Response.Write("CurrentRoleInstance.Id: " + id);

这样可行,现在将实例数更改为2或更多。

角色发现数据不可用“InvalidOperationException”

为什么会这样?

这适用于部署到Azure。

1 个答案:

答案 0 :(得分:0)

在Azure计算模拟器上运行您的应用程序吗?未在Azure实例或计算机模拟器上运行时发生此错误。

如果可能,您可以更改page_load方法:

        protected void Page_Load(object sender, EventArgs e)
    {
        if (RoleEnvironment.IsAvailable)
        {
            string id = RoleEnvironment.CurrentRoleInstance.Id;
            if (RoleEnvironment.IsEmulated)
            {
                Response.Write("(Emulator) CurrentRoleInstance.Id: " + id);
            }
            else
            {
                Response.Write("(Azure Platform) CurrentRoleInstance.Id: " + id);
            }
        }
        else
        {
            Response.Write("Not run on azure environment");
        }

    }