#c# #asp.net-mvc-3 #razor
#c# #asp.net-mvc-3 #razor
Вопрос:
Я не могу использовать RoleEnvironment.CurrentRoleInstance.Идентификатор в файле cshtml mvc 3 razor. Ошибка для RoleEnvironment говорит о том, что он не существует в текущем контексте. Тем не менее, я добавил пространство имен, как показано ниже, в файл web.config папки Views. Обратите внимание, что «Microsoft.WindowsAzure.Пространство имен ServiceRuntime» добавляется в качестве последнего пространства имен. Не могли бы вы, пожалуйста, сообщить мне, как это исправить? Я хочу выводить идентификатор текущего экземпляра в верхней части страницы для каждой страницы без необходимости кодирования на всех страницах.
Ответ №1:
Значит, его компиляция и выполнение корректны? Вы уверены, что запускаете проект Azure (чтобы он запускался под эмулятором вычислений), а не запускаете сайт напрямую для отладки?
Я только что попробовал, и у меня все работает нормально, пришлось добавить это в конфигурацию:
<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