需要發生什麼才能允許HTTP POST至WCF服務?將HTTP POST發送至WCF服務
我想讓人們不僅可以使用SOAP與此服務,但他們也必須能夠HTTP POST到此服務,並理想地接收XML響應。
我找不到一個簡單的方法來允許WCF服務接受HTTP POST。
我已經過了HTTP 415錯誤,需要一些幫助,可能是關於端點的web.config更改,或者方法(WebInvoke)上方的其他屬性。
謝謝!
需要發生什麼才能允許HTTP POST至WCF服務?將HTTP POST發送至WCF服務
我想讓人們不僅可以使用SOAP與此服務,但他們也必須能夠HTTP POST到此服務,並理想地接收XML響應。
我找不到一個簡單的方法來允許WCF服務接受HTTP POST。
我已經過了HTTP 415錯誤,需要一些幫助,可能是關於端點的web.config更改,或者方法(WebInvoke)上方的其他屬性。
謝謝!
爲了通過標準HTTP動詞與WCF服務對話,您需要使用WCF REST組件。
在.NET 3.5 SP1中,您將需要WCF REST Starter Kit(它不是基本包的一部分)。
當你有這個,你可以在你的WCF服務中定義一個端點爲webHttpBinding
,基本上應該允許你定義GET,POST,PUT和DELETE操作。
查看WCF REST developer center瞭解大量白皮書,教程,演練和截屏視頻,向您展示如何完成所有這些工作。
簡而言之,你會裝飾要暴露在HTTP REST與WebGet
或WebInvoke
屬性和網址模板中您的服務方法(S) - 類似:
[ServiceContract]
public partial class YourService
{
[WebInvoke(Method = "POST", UriTemplate = "yourservice/{id}/save")]
[OperationContract]
SomeReturnType YourMethodCall(string someParam);
...
}
,然後在你的web.config
(在IIS託管)或app.config
你需要用正確的結合端點:
<endpoint name="webEndpoint"
address="...."
binding="webHttpBinding"
contract="IYourServiceContract" />
您可能還需要在你的配置了一些額外的東西 - WCF REST開發中心應該進入全細節非常深入。
感謝您的及時響應。我會看@初學者工具包和開發中心。 – 2010-11-21 23:56:36
我使用REST Starter Kit @爲POX(普通HTTP XML)WCF的東西找到了一個很棒的視頻:http://www.msdev.com/Directory/Description.aspx?eventId=1312 – 2010-11-22 21:33:13