Ускоритель Azure для веб-ролей и службы HostingEnvironment aspNetCompatibilityEnabled="true"

Я не уверен, относится ли эта проблема к ускорителю для веб-ролей (WAAWR: http://waawebroles.codeplex.com/)

Изменить: я подтвердил, что эта ошибка появляется только в моем приложении WAAWR - если я разверну тот же код, что и в автономном веб-ролик, эта ошибка не выдается.

Я пытаюсь запустить WCF Routing / clean url для приложения, которое развертывается через WAAWR. Для этой функции требуется режим совместимости asp.net. Вот мой раздел конфигурации:

   <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true">
      <baseAddressPrefixFilters>
        <add prefix="http://api.mydomain.com"/>
      </baseAddressPrefixFilters>
    </serviceHostingEnvironment>
    <standardEndpoints>
      <webHttpEndpoint>
        <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
      </webHttpEndpoint>
    </standardEndpoints>
   </system.serviceModel>

Я застрял на этой ошибке в течение нескольких часов:

System.IO.FileLoadException: имя файла: \?\C:\Resources\directory\XXXXXXXXXXXXXXXXXXXXXXXXXXXXX \web.config Номер строки: 74 Ошибка: этот раздел конфигурации нельзя использовать по этому пути. Это происходит, когда раздел заблокирован на родительском уровне. Блокировка либо по умолчанию (overrideModeDefault="Deny"), либо устанавливается явно с помощью тега местоположения с помощью overrideMode="Deny" или устаревшего allowOverride="false". в Microsoft.Web.Administration.Interop.IAppHostAdminManager.GetAdminSection(String bstrSectionName, String bstrPath) в Microsoft.Web.Administration.WebConfigurationManager.GetSectionInternal(String siteName, String virtualPath, String sectionPath, String sectionPath,

Сначала я подумал, что приложения, которые вы развертываете через хост веб-роли, были подкаталогами / виртуальными каталогами, поэтому я бросил эту конфигурацию в файл.config самого приложения хоста развертывания, но это не помогло. Я удаленно подключился к рабочему столу, чтобы посмотреть, что происходит, и похоже, что каждое приложение, развернутое через хост, является отдельным приложением под IIS. Кроме того, когда вы исследуете приложение из диспетчера IIS, приложения не находятся на том же диске, что и узел развертывания. Так что я не уверен, почему эта ошибка выбрасывается.

Есть идеи?

1 ответ

Решение

Нашел мой ответ здесь:

http://cennest.wordpress.com/2010/09/20/azure-tip-wcf-4-0-servicerouting-in-azure/

Не уверен, почему это работает, найдите нормальную роль, и вы должны добавить объявление раздела для дочернего приложения - но рад, что это работает!

Другие вопросы по тегам