使用 WCF 介紹 RESTful 服務 – 行動應用程式開發、Web 服務、SOA 架構 – 技術
跳至內容

使用 WCF 的 RESTful 服務簡介 – 移動應用程序開發、Web 服務、SOA 架構

廣告

首先,RESTFUL 服務遵循一種稱為表述性狀態傳輸 (REST) 的架構風格。架構風格是建構某些東西時可以應用的一組約束。軟體架構風格是描述可用於指導軟體系統實現的特徵的東西。 REST 是一種架構風格,可用於建立用戶端(用戶代理)可以向服務(端點)發出請求的軟體。 REST 是一種實作客戶端/伺服器架構風格的方法;事實上,REST 明確地基於客戶端/伺服器架構風格。

一位名叫 Roy Thomas Fielding 的人在他的博士論文(「基於網路的軟體架構的架構風格和設計」)中首次創造了 REST 一詞作為概念。他是製定當今大多數互聯網驅動的規範的人之一:超文本傳輸協定(HTTP)。通常,描述架構風格的人的背景與對該風格的解釋無關,但在這裡我認為它這很重要,因為我相信基本了解REST 的最佳方法之一就是思考Web 及其工作原理。

WCF 和 REST

WCF 是 Microsoft 的框架,用於建立透過網路進行通訊的應用程序,無論協定或風格如何。 WCF 的概念是創建一個可擴展、可插入的框架,用於學習有關程式設計和配置模型的信息,以便開發人員可以將這些知識應用於許多不同類型的分散式系統。

雖然 WCF 的大部分內容確實是針對 RPC(使用 SOAP)的,但自從它首次作為 .NET Framework 3.0 的一部分發布以來,它實際上有機會公開和使用 REST 服務。透過 .NET Framework 3.5 System.ServiceModel.Web 組件,新增了程式設計模型以及一些為與 REST 樣式配合使用而建構的基礎架構。 .NET Framework 3.5 SP1 增加了一些小改進,讓 REST 更容易使用。.

程式設計模型圍繞著兩個新屬性(WebGetAttribute 和 WebInvokeAttribute)以及 URI 模板機制(讓您可以聲明每個方法將回應的 URI 和動詞)展開。基礎設施以綁定 (WebHttpBinding) 和行為 (WebHttpBehavior) 的形式包含在內,為使用 REST 提供正確的網路堆疊。此外,自訂 ServiceHost (WebServiceHost) 和 ServiceHostFactory (WebServiceHostFactory) 也提供一些託管基礎架構協助。