我正嘗試將現有的MVC 3網站遷移到Azure Web角色。我的開發環境中使用主機頭:將MVC 3網站遷移到Azure網絡角色
lcladmin.mysite.com
主機頭在我的主機文件指向127.0.0.1設置。如果我使用ServiceConfiguration.csdef中的默認設置,則該站點將正常加載爲127.0.0.1,但依賴於使用主機頭的功能不起作用。所以我嘗試在SericeConfiguration.csdef的Binding上設置hostHeader屬性,現在我在Visual Studio 2010中得到了這個錯誤對話框:
*將解除器附加到URL'http://的IIS工作進程時發生錯誤lcladmin.mysite.com:81/'for role instance'deployment(17).Azure.Admin_IN_0'。無法在Web服務器上啓動調試。由於語法無效,因此服務器無法處理調試請求。*
此時,我可以在我的Web瀏覽器中瀏覽網站,並且所有內容似乎都能正常工作,並且任何現有的斷點都將在VS 。但是,由於與上述消息的模態錯誤對話框,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 Web角色,並且我所做的唯一更改是添加hostHeader屬性,它也會執行相同的操作。
我意識到我可以從Visual Studio W/O調試,但我想知道是否有辦法解決這個問題,我可以自動附加。 –
您是否嘗試將域添加到Windows中的hosts文件? –