在Azure角色服务中更改Web角色中托管的WCF服务的绑定

时间:2013-08-21 07:17:12

标签: wcf azure wcf-binding

我在Azure Cloud Service中的Web角色中创建了一个WCF Web服务。我通过在云上部署云服务并让客户端应用程序调用该服务来验证实现的完整性。但是,当我查看承载WCF Web服务的Web角色的web.config时,我找不到对Web服务的任何引用。在哪里可以找到与Web服务相关的配置?显然,Web角色中托管的Web服务使用HTTP绑定;我需要更改我的服务绑定以使用JSON进行所有通信。你能告诉我如何实现这个目标。

1 个答案:

答案 0 :(得分:1)

您现在可能正在使用basicHttpBinding - 这就是WCF默认使用的HTTP。您在web.config中看不到对服务的引用的原因是因为.NET Framework 4.0中引入了simplified configuration。您仍然可以像在早期版本中那样在web.config中显式配置服务(如果需要),但这不是必需的。

要做你想问的事,这就是你需要做的事情:

更改protocolMapping以使用webHttpBinding而不是basicHttpBinding。

enter image description here

添加webHttp端点行为并将DefaultOutgoingResponseFormat设置为“Json”。

enter image description here

更改.svc标记文件以包含Factory属性并指定WebServiceHostFactory。例如:

Factory="System.ServiceModel.Activation.WebServiceHostFactory"

最后,将[WebGet]属性添加到服务合同中的方法中。