将azure SDK更新为1.8后,我无法正常运行我们的项目.看起来本地模拟器使用相同的端口号以错误的方式创建IIS应用程序.如果我只创建一个具有5个Web角色的新云项目,然后在Azure项目属性中设置使用IIS Web服务器,则可以重现该问题
运行应用程序后,IIS显示大多数都已停止,因为已在使用相同的端口.所有这些都使用8085端口,必须分配给最后一个应用程序
默认的Visual Studio服务配置,不适用于SDK 1.8
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="WindowsAzure1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
<WebRole name="WebRole1" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="80" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
</WebRole>
<WebRole name="WebRole2" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="8080" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
</WebRole>
<WebRole name="WebRole3" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="8081" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
</WebRole>
<WebRole name="WebRole4" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="8082" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
</WebRole>
<WebRole name="WebRole5" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="8083" />
</Endpoints>
<Imports>
<Import moduleName="Diagnostics" />
</Imports>
</WebRole>
</ServiceDefinition>
最佳答案 这里发布了同样的问题:
Only one instance works with Azure October 2012 SDK on IIS7.5
我用相同的设置遇到了这个,尝试了一切合乎逻辑的解决方案,搜索网络……没有.我不明白这是怎么回事.相同的项目在旧版本的Azure模拟器上运行良好.谢谢MS.
更新:我在建议的注册表黑客攻击后解决了我的问题:
似乎问题是模拟器混淆选择VS2010与VS2012的设置.就我而言,我已安装了2010和2012,但即使仅使用2012年的全新安装,它似乎也会影响到您.
Microsoft.WindowsAzure.Common.Workarounds.TryGetVS2010SPVersion(仅限名称)看起来像一个黑客,它需要一个额外的注册黑客来解决它.再次感谢MS. 🙂
任何有此问题的人,请填写此连接错误以便MS修复:
https://connect.microsoft.com/VisualStudio/feedback/details/773786/azure-sdk-1-8-binds-several-web-roles-to-the-same-port-on-local-emulator