Я пытаюсь перенести существующий веб-сайт MVC 3 в веб-роль Azure.Моя среда разработки использует заголовок хоста:
lcladmin.mysite.com
В файле хоста настроен заголовок хоста, указывающий на 127.0.0.1.Если я использую настройки по умолчанию в ServiceConfiguration.csdef, сайт нормально загружается как 127.0.0.1, но функции, которые зависят от использования заголовков хоста, не работают.Поэтому я попытался установить атрибут hostHeader для Binding в SericeConfiguration.csdef, и теперь я получаю следующее диалоговое окно с ошибкой в Visual Studio 2010:
* При подключении отладчика к рабочему процессу IIS для URL-адреса произошла ошибка 'http://lcladmin.mysite.com:81/' для экземпляра роли 'развертывание (17) .Azure.Admin_IN_0'.Невозможно начать отладку на веб-сервере.Запрос на отладку не может быть обработан сервером из-за неправильного синтаксиса. *
На данный момент я могу просматривать сайт в своем веб-браузере, и все, кажется, работает как надо, и любые существующие точки останова будут пораженыв ВСОднако VS не работает из-за диалогового окна с модальной ошибкой с указанным выше сообщением.
Вот содержимое моего ServiceConfiguration.csdef:
<ServiceDefinition name="Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> <WebRole name="Admin" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Admin" hostHeader="lcladmin.mysite.com" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Admin" protocol="http" port="81" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
Я недумаю, что это проблема, специфичная для сайта, на который я перехожу.Если я добавляю новый проект Azure в свое решение, новую веб-роль MVC 3 и единственное изменение, которое я делаю, это добавление атрибута hostHeader, он делает то же самое.