[英]WCF rest api - [WebGet] working, but endpoint not found for [WebInvoke(…GET…)]
配置任何服務器端的新手...預先感謝您的幫助!
我試圖在VisualStudio2008 / .NET 3.5中獲得一個簡單的HelloWorld REST API; 最終,我將使用它對本地無線局域網上運行的各種移動設備進行CRUD測試數據/結果返回到服務器。
我發現了許多其他問題,誰的答案更改了我app.config的相關部分,但似乎沒有一個適用於此特定問題(反復試驗未產生任何結果)
這是我的服務合同:
[ServiceContract]
public interface IRestService
{
[OperationContract]
[WebInvoke(
Method = "GET",
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "xml/{id}")]
string XMLData(string id); //Implemented as 'return "you requested " + id;'
[OperationContract]
[WebGet]
string Test(); //Implemented as 'return "foobar";'
[OperationContract]
[WebGet]
string Test2(string foo); //Implemented as 'return "foobar=" + foo;'
}
這是我的app.config
<services>
<service name="MyRestService.IRestServiceImpl" behaviorConfiguration="MyServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost/foo/bar"/>
</baseAddresses>
</host>
<endpoint address ="" binding="webHttpBinding" contract="MyRestService.IRestService" behaviorConfiguration="myRestBehavior" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="myRestBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
我正在visualstudio中通過f5運行(我認為這意味着我沒有任何可擔心的.svc / IIS東西?),並嘗試通過
http://localhost/foo/bar/Test
http://localhost/foo/bar/Test2 ( /ParamIgnored if I add one )
http://localhost/foo/bar/XMLData/123
在我的瀏覽器上。
非常感謝
您已經覆蓋了要在xml / {id}上訪問的XMLData端點,但是您將其稱為XMLData / {id}。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.