我有一个REST Web服务,它有一个这样的方法:
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "?T={TransmissionReference}&ID={CustomerId}")]
ResponseArray DoLookup(string TransmissionReference, string CustomerId);
在我的web.config文件中,我已经设置了一个服务:
<services>
<service name="PropertyWS.Service">
<endpoint address="http://localhost:51173/Service.svc/DoLookup"
behaviorConfiguration="webBehavior"
binding="webHttpBinding"
bindingConfiguration="webHttpBindingConfig"
bindingNamespace="urn:mdWebServiceProperty"
contract="PropertyWS.IService"
name="PropertyWSRESTEndpoint"/>
</service>
</services>
然而,这很笨拙,因为它迫使我的IIS人员在将其安装到IIS时“修复”端点地址。理想情况下,我希望我的WebInvoke的UriTemplate为:
/DoLookup?T={TransmissionReference}&ID={CustomerId}
我的web.config端点地址为“”。这适用于同一Web服务的XML和SOAP版本,但不适用于REST。相反,我得到了一个“未找到端点”的WCF页面。