我有一个简单的WCF服务,我们正在开发......我们在WinServer2k8上的IIS7中托管(虽然我无法让它在Win7上的IIS7中工作)
我想为同一个服务合同使用多个端点,但端点的行为却不同。例如,我希望一个端点以XML格式返回数据,另一个端点用于在SOAP消息中返回数据。
这是我的web.config
<system.serviceModel>
<services>
<service name="MemberService">
<endpoint address="soap" binding="basicHttpBinding" contract="IMemberService" />
<endpoint address="xml" binding="webHttpBinding" contract="IMemberService" behaviorConfiguration="xmlBehavior" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="xmlBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
在我的服务合同中,我有一个定义为:
的方法 [OperationContract]
[WebGet(UriTemplate = "members/{id}")]
Member GetMember(string id);
当我部署到IIS(在localhost上)并向http://localhost/MemberService.svc/xml/members/memberid发出请求(使用fiddler)时,我收到404错误,也是404 http://localhost/MemberService.svc/soap/ 但是,http://localhost/MemberService.svc/members/memberid按预期工作并序列化数据。我们希望在不久的将来添加JSON的功能,我们认为它将是另一个具有不同行为的端点。我的web.config是在here
上找到的帖子之后建模的答案 0 :(得分:0)
关注this tutorial ....
我能够快速部署Web服务。然后使用fiddler,我可以将请求的内容类型更改为“text / xml”和“text / json”,服务将自动以正确的格式返回数据。