溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么應(yīng)用WCF中的REST

發(fā)布時(shí)間:2021-12-15 09:30:45 來源:億速云 閱讀:158 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“怎么應(yīng)用WCF中的REST”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么應(yīng)用WCF中的REST”吧!

1:新建WCF服務(wù)應(yīng)用程序,名稱為RestWCF,選擇在新網(wǎng)站中承載.

2:新建實(shí)體類Product,代碼如下:

[DataContract]  public class Product  {  [DataMember]  public Guid Id { get; set; }   [DataMember]  public String Name { get; set; }  }

3:新建服務(wù)契約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服務(wù)的地址就是http://www.rest.com/Product.

OK.上面的契約大致表示

GET-----GetProducts方法。

PUT-----CreateProduct.

POST----UpdateProduct

DELETE---DeleteProduct。

4:新建服務(wù)類:ProductService,實(shí)現(xiàn)服務(wù)接口,代碼如下:

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;  }  }

當(dāng)然了,實(shí)際上肯定是數(shù)據(jù)庫(kù)操作,在這里我們就先Mock一下吧。

5:新建ProductService.svc文件,代碼如下:

<%@ ServiceHost Language="C#" Debug="true" Service="RestWCF.ProductService" %>

這里有一點(diǎn)要注意。Service對(duì)應(yīng)的是包含類的全部名稱=命名空間+類名.

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>

在這里因?yàn)橐渲肦est服務(wù),所以我們添加webHttp Behavior,并且啟用helpEnabled.在這里我們?cè)O(shè)置defaultBodyStyle="Bare"代表不包裝。

defaultOutgoingResonseFormat="Json",則代表默認(rèn)輸出的格式是json,如果不設(shè)置的話,默認(rèn)是xml。

7:在瀏覽器中瀏覽,因?yàn)槲覀儐⒂昧薍elpEnabled.所以我們輸入的地址是:

怎么應(yīng)用WCF中的REST

8:OK,服務(wù)我們已經(jīng)配置完成了,我們還是測(cè)試下吧,打開fiddler.

怎么應(yīng)用WCF中的REST

結(jié)果如下:

怎么應(yīng)用WCF中的REST

在這里我們提交下POST請(qǐng)求。

怎么應(yīng)用WCF中的REST

下回我們將使用Silverlight來調(diào)用Get,Post,Put,Delete的Rest服務(wù)。

oh,我忘記了,這些全部是大寫,所以你***記住GET,POST,PUT,DELETE.

到此,相信大家對(duì)“怎么應(yīng)用WCF中的REST”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI