您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么應用WCF中的REST”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么應用WCF中的REST”吧!
1:新建WCF服務應用程序,名稱為RestWCF,選擇在新網站中承載.
2:新建實體類Product,代碼如下:
[DataContract] public class Product { [DataMember] public Guid Id { get; set; } [DataMember] public String Name { get; set; } }
3:新建服務契約IProductService:
[ServiceContract] public interface IProductService { [OperationContract] [WebGet(UriTemplate="Product")] List<Product> GetProducts(); [OperationContract] [WebInvoke(UriTemplate="Product",Method="PUT")] bool CreateProduct(Product product); [OperationContract] [WebInvoke(UriTemplate = "Product", Method = "POST")] bool UpdateProduct(Product product); [OperationContract] [WebInvoke(UriTemplate = "Product", Method = "DELETE")] bool DeleteProduct(Product product); }
注意的是這里都是一些CRUD操作,但是除了OperationContract修飾外,還有WebGet,WebInvoke特性來修飾。
UriTemplate就是Uri模版的意思,如果web地址為http://www.rest.com.那么rest服務的地址就是http://www.rest.com/Product.
OK.上面的契約大致表示
GET-----GetProducts方法。
PUT-----CreateProduct.
POST----UpdateProduct
DELETE---DeleteProduct。
4:新建服務類:ProductService,實現服務接口,代碼如下:
public class ProductService:IProductService { public List<Product> GetProducts() { return new List<Product>() { new Product(){ Id=Guid.NewGuid(), Name="111"}, new Product(){ Id=Guid.NewGuid(), Name="222"}, new Product(){ Id=Guid.NewGuid(), Name="333"}, }; } public bool CreateProduct(Product product) { return true; } public bool UpdateProduct(Product product) { return true; } public bool DeleteProduct(Product product) { return true; } }
當然了,實際上肯定是數據庫操作,在這里我們就先Mock一下吧。
5:新建ProductService.svc文件,代碼如下:
<%@ ServiceHost Language="C#" Debug="true" Service="RestWCF.ProductService" %>
這里有一點要注意。Service對應的是包含類的全部名稱=命名空間+類名.
6:配置web.config文件。
<system.serviceModel> <services> <service name="RestWCF.ProductService"> <endpoint address="" behaviorConfiguration="RestBehavior" binding="webHttpBinding" bindingConfiguration="" contract="RestWCF.IProductService" /> </service> </services> <behaviors> <endpointBehaviors> <behavior name="RestBehavior"> <webHttp helpEnabled="true" defaultBodyStyle="Bare" defaultOutgoingResponseFormat="Json" /> </behavior> </endpointBehaviors> <serviceBehaviors> <behavior name=""> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> </serviceBehaviors> </behaviors> <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> </system.serviceModel>
在這里因為要配置Rest服務,所以我們添加webHttp Behavior,并且啟用helpEnabled.在這里我們設置defaultBodyStyle="Bare"代表不包裝。
defaultOutgoingResonseFormat="Json",則代表默認輸出的格式是json,如果不設置的話,默認是xml。
7:在瀏覽器中瀏覽,因為我們啟用了HelpEnabled.所以我們輸入的地址是:
8:OK,服務我們已經配置完成了,我們還是測試下吧,打開fiddler.
結果如下:
在這里我們提交下POST請求。
下回我們將使用Silverlight來調用Get,Post,Put,Delete的Rest服務。
oh,我忘記了,這些全部是大寫,所以你***記住GET,POST,PUT,DELETE.
到此,相信大家對“怎么應用WCF中的REST”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。