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

问题描述:

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

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

做你问什么,这里就是你需要做什么:

更改使用的WebHttpBinding代替basicHttpBinding的的protocolMapping。

enter image description here

添加webHttp端点的行为,并设置DefaultOutgoingResponseFormat到 “类JSON”。

enter image description here

更改您的.svc标记文件,包括工厂的属性,并指定WebServiceHostFactory。例如:

Factory="System.ServiceModel.Activation.WebServiceHostFactory" 

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