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