2014-11-25 183 views

回答

1

WCF支持用於與將在HTTP請求/響應消息被髮送的資源表示工作的各種不同的機制。您可以直接處理原始請求/響應消息,方法是使用System.ServiceModel.Channels.Message定義方法簽名,這允許您使用XML或JSON API來處理消息。

大多數開發,然而,更喜歡使用的消息以及.NET對象,如WCF DataContractSerializer(缺省值)之間自動移動的序列化引擎或這允許不支持的DataContractSerializer更先進的結構XmlSerializer

http://msdn.microsoft.com/en-us/library/dd203052.aspx

當承載您的RESTful WCF服務,有需要爲了使運行中的新的「網絡」的行爲配置兩個關鍵組件。首先,您需要公開使用新綁定進行RESTful服務的端點 - WebHttpBinding。然後,您需要使用WebHttpBehavior配置「Web」端點。

<service name="BookmarkService"> 
    <endpoint binding="webHttpBinding" contract="yourContractHere" /> 
</service> 

的結合指示WCF不使用SOAP了,但同時新的行爲注入基礎上,[WebGet][WebInvoke]屬性及其相應UriTemplates定製調度邏輯,而純XML消息。

[ServiceContract] 
public partial class yourService 
{ 
    ... 
    [WebInvoke(Method = "POST", RequestFormat=WebMessageFormat.Json, 
     UriTemplate = "service/url/here?format=json")] 
    [OperationContract] 
    void yourMethod(string newValue) 
    { 
    … 

http://msdn.microsoft.com/en-us/magazine/dd315413.aspx

+0

謝謝它真棒:) – 2014-11-26 03:44:24

1

你必須遵循兩個主要constraints

  • 統一的接口(使用標準 - 如HTTP,IRI,URI模板,超媒體格式,MIME類型,等等來描述客戶端和服務之間的合同)
  • 無國籍(無服務器側會話)