【发布时间】:2010-08-24 23:09:04
【问题描述】:
我有一个我们正在开发的简单 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(在本地主机上)并向http://localhost/MemberService.svc/xml/members/memberid 发出请求(使用提琴手)时,我收到一个 404 错误,还有一个带有 http://localhost/MemberService.svc/soap/ 的 404 但是,http://localhost/MemberService.svc/members/memberid 按预期工作和序列化数据。我们还想在不久的将来添加 JSON 的功能,我们认为这将是另一个具有不同行为的端点。我的 web.config 是根据我在 here 上找到的帖子建模的
【问题讨论】:
-
您使用的是哪个版本的 .NET?
标签: wcf web-services iis-7 wcf-binding