如何在_LogOnPartial.cshtml或_Layout.cshtml文件中使用RoleEnvironment.CurrentRoleInstance.Id?

时间:2011-10-04 18:12:54

标签: c# asp.net-mvc-3 razor

我无法在mvc 3 razor的cshtml文件中使用RoleEnvironment.CurrentRoleInstance.Id。 RoleEnvironment的错误表示它在当前上下文中不存在。但是,我在Views文件夹的web.config文件中添加了如下命名空间。请注意,“Microsoft.WindowsAzure.ServiceRuntime”命名空间被添加为最后一个命名空间。你能告诉我怎么解决这个问题吗?我想在每个页面的页面顶部输出当前实例的id,而不必在所有页面中编码。

                                                                            

1 个答案:

答案 0 :(得分:4)

那么它的编译和执行是否正确?您确定要启动azure项目(因此它在Compute Emulator下运行)而不是直接启动站点进行调试吗?

我刚尝试过,它对我来说很好,不得不将其添加到配置:

<system.web>
<compilation debug="true" targetFramework="4.0">
  <assemblies>
      <add assembly="Microsoft.WindowsAzure.ServiceRuntime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

我的观点_Layout.cshtml:

@using Microsoft.WindowsAzure.ServiceRuntime
@RenderBody()
@RoleEnvironment.CurrentRoleInstance.Id

在我的调试中我得到类似的东西(AzureDelete是我的项目名称):

  

部署(1).AzureDelete.MvcWebRole1_IN_0