IIS7下的WCF多个端点

时间:2010-08-24 23:09:04

标签: wcf web-services iis-7 wcf-binding

我有一个简单的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

上找到的帖子之后建模的

1 个答案:

答案 0 :(得分:0)

关注this tutorial ....

我能够快速部署Web服务。然后使用fiddler,我可以将请求的内容类型更改为“text / xml”和“text / json”,服务将自动以正确的格式返回数据。