2

当我在正常模式下运行 WCF 时,它可以工作,但是当我在本地 PC 上通过 Azure 计算机模拟器运行时,端口号不同。例如,WCF 页面在 address: 下打开http://localhost:81/ServiceName1.svc,但 WSDL 地址显示

您还可以将服务描述作为单个文件访问:

http://pc-name1:82/ServiceName1.svc?singleWsdl

http://localhost:81/ServiceName1.svc当我尝试使用 WCF 测试客户端进行连接时,当我尝试获取地址或地址时它不起作用http://pc-name1:82/ServiceName1.svc

你知道可能会发生什么吗?有人在使用 Azure 模拟器时注意到这一点吗?

4

1 回答 1

1

您是否参加过在 Windows Azure 中托管 WCF 练习?解释了这种行为。您需要更新 WCF - KB981002- WCF:修补程序汇总更新,这将为您的 WCF 服务添加特殊行为:

7.关于上面的System.ServiceModel配置:

  1. 对于此示例,除了服务主端点外,我们还公开了元数据交换 (MEX) 端点。这将公开服务元数据,从而允许将服务引用添加到 Visual Studio 中的此服务。
  2. useRequestHeadersForMetadataAddress 行为是在 KB981002-WCF:修补程序汇总更新中定义的特殊行为。它允许 WCF 在负载均衡器后面提供正确的元数据。Windows Azure Web 角色在一台或多台物理服务器之间进行负载平衡。
于 2012-09-01T05:11:39.123 回答