【发布时间】:2011-09-26 14:04:41
【问题描述】:
我正在尝试将现有的 MVC 3 网站迁移到 Azure Web 角色。我的开发环境使用了主机头:
lcladmin.mysite.com
主机头在我的主机文件中设置为指向 127.0.0.1。如果我使用 ServiceConfiguration.csdef 中的默认设置,则站点可以正常加载为 127.0.0.1,但依赖于使用主机标头的功能不起作用。所以我尝试在 SericeConfiguration.csdef 中的 Binding 上设置 hostHeader 属性,现在我在 Visual Studio 2010 中得到了这个错误对话框:
*将调试器附加到角色实例“deployment(17).Azure.Admin_IN_0”的 URL“http://lcladmin.mysite.com:81/”的 IIS 工作进程时出错。无法在 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 运行,但我想知道是否有办法解决这个问题,以便我可以自动附加。
-
您是否尝试将域添加到 Windows 中的主机文件?
标签: azure