当我在正常模式下运行我的WCF时,它可以工作,但是当我在本地PC上运行Azure计算机模拟器时,端口号是不同的。例如,WCF页面在地址http://localhost:81/ServiceName1.svc
下打开,但WSDL地址显示
您还可以将服务描述作为单个文件访问:
http://pc-name1:82/ServiceName1.svc?singleWsdl
当我尝试使用WCF测试客户端进行连接时,当我尝试获取地址http://localhost:81/ServiceName1.svc
或地址http://pc-name1:82/ServiceName1.svc
你知道会发生什么吗?有没有人在使用Azure模拟器时注意到这一点?
答案 0 :(得分:1)
你经历过Hosting WCF within Windows Azure exercise吗?解释了这种行为。您需要更新WCF - KB981002- WCF:修补程序汇总更新,这将为您的WCF服务添加特殊行为:
7.关于上面的System.ServiceModel配置:
- 对于此示例,除了服务主端点之外,我们还公开了元数据交换(MEX)端点。这将揭露 服务元数据,从而允许添加服务引用 Visual Studio中的这项服务。
- useRequestHeadersForMetadataAddress行为是KB981002-WCF:修补程序汇总更新中定义的特殊行为。它 允许WCF在负载均衡器后面提供正确的元数据。视窗 Azure Web角色在一个或多个物理上进行负载平衡 服务器。
醇>