成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手教你如何應(yīng)用WCF中的REST

開發(fā) 后端
我們今天要給大家?guī)砣绾螒?yīng)用WCF中的REST,Representational State Transfer表述性狀態(tài)轉(zhuǎn)移是一種針對網(wǎng)絡(luò)應(yīng)用的設(shè)計(jì)和開發(fā)方式,可以降低開發(fā)的復(fù)雜性,提高系統(tǒng)的可伸縮性。

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

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

  1. [DataContract]  
  2. public class Product  
  3. {  
  4. [DataMember]  
  5. public Guid Id { get; set; }  
  6.  
  7. [DataMember]  
  8. public String Name { get; set; }  

3:新建服務(wù)契約IProductService:

  1.  
  2.  
  3. [ServiceContract]  
  4. public interface IProductService  
  5. {  
  6. [OperationContract]  
  7. [WebGet(UriTemplate="Product")]  
  8. List<Product> GetProducts();  
  9.  
  10. [OperationContract]  
  11. [WebInvoke(UriTemplate="Product",Method="PUT")]  
  12. bool CreateProduct(Product product);  
  13.  
  14. [OperationContract]  
  15. [WebInvoke(UriTemplate = "Product", Method = "POST")]  
  16. bool UpdateProduct(Product product);  
  17.  
  18. [OperationContract]  
  19. [WebInvoke(UriTemplate = "Product", Method = "DELETE")]  
  20. 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ù)接口,代碼如下:

  1. public class ProductService:IProductService  
  2. {  
  3. public List<Product> GetProducts()  
  4. {  
  5. return new List<Product>()  
  6. {  
  7. new Product(){ Id=Guid.NewGuid(), Name="111"},  
  8. new Product(){ Id=Guid.NewGuid(), Name="222"},  
  9. new Product(){ Id=Guid.NewGuid(), Name="333"},  
  10. };  
  11. }  
  12.  
  13. public bool CreateProduct(Product product)  
  14. {  
  15. return true;  
  16. }  
  17.  
  18. public bool UpdateProduct(Product product)  
  19. {  
  20. return true;  
  21. }  
  22.  
  23. public bool DeleteProduct(Product product)  
  24. {  
  25. return true;  
  26. }  
當(dāng)然了,實(shí)際上肯定是數(shù)據(jù)庫操作,在這里我們就先Mock一下吧。

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

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

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

6:配置web.config文件。

  1. <system.serviceModel> 
  2. <services> 
  3. <service name="RestWCF.ProductService"> 
  4. <endpoint address="" behaviorConfiguration="RestBehavior" binding="webHttpBinding" 
  5. bindingConfiguration="" contract="RestWCF.IProductService" /> 
  6. </service> 
  7. </services> 
  8. <behaviors> 
  9. <endpointBehaviors> 
  10. <behavior name="RestBehavior"> 
  11. <webHttp helpEnabled="true" defaultBodyStyle="Bare" defaultOutgoingResponseFormat="Json" /> 
  12. </behavior> 
  13. </endpointBehaviors> 
  14. <serviceBehaviors> 
  15. <behavior name=""> 
  16. <serviceMetadata httpGetEnabled="true" /> 
  17. <serviceDebug includeExceptionDetailInFaults="false" /> 
  18. </behavior> 
  19. </serviceBehaviors> 
  20. </behaviors> 
  21. <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
  22. </system.serviceModel> 

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

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

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

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

結(jié)果如下:

在這里我們提交下POST請求。

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

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

原文鏈接:http://www.cnblogs.com/LoveJenny/archive/2011/04/27/2028705.html

責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2009-11-09 14:57:37

WCF上傳文件

2022-07-27 08:16:22

搜索引擎Lucene

2022-12-07 08:42:35

2021-07-14 09:00:00

JavaFX開發(fā)應(yīng)用

2011-01-10 14:41:26

2025-05-07 00:31:30

2011-05-03 15:59:00

黑盒打印機(jī)

2022-11-28 08:23:14

IDEAGradle配置

2014-08-08 13:22:54

測試手機(jī)站點(diǎn)移動設(shè)備

2022-06-06 08:50:40

CIOIT轉(zhuǎn)型

2021-01-19 09:06:21

MysqlDjango數(shù)據(jù)庫

2021-11-09 06:55:03

水印圖像開發(fā)

2010-07-06 09:43:57

搭建私有云

2010-07-06 09:38:51

搭建私有云

2021-09-26 16:08:23

CC++clang_forma

2022-01-08 20:04:20

攔截系統(tǒng)調(diào)用

2022-03-14 14:47:21

HarmonyOS操作系統(tǒng)鴻蒙

2023-04-26 12:46:43

DockerSpringKubernetes

2011-02-22 13:46:27

微軟SQL.NET

2021-02-26 11:54:38

MyBatis 插件接口
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久躁日日躁aaaaxxxx | 国产精品一级在线观看 | 亚洲第一区国产精品 | 亚洲成av| 国产精品久久毛片av大全日韩 | 国产一区二区三区在线看 | 天天综合永久入口 | 国产精品mv在线观看 | 一区二区三区免费在线观看 | 日本色婷婷 | 91操操操 | 四虎午夜剧场 | 我要看免费一级毛片 | 成人h动漫精品一区二区器材 | 福利精品| 欧美精品乱码99久久影院 | 欧美一级大片 | 国产一级黄色网 | 国产欧美精品区一区二区三区 | 在线一区视频 | 国内精品视频在线 | 一级片成人 | 91久久久www播放日本观看 | 久久久久久久国产 | www.黄色网 | 男人午夜视频 | 日韩精品成人免费观看视频 | 男人阁久久 | 四虎成人精品永久免费av九九 | 在线观看www高清视频 | 国产伦精品一区二区三区精品视频 | 欧美韩一区二区三区 | www国产精品| 国产免费av网| 在线观看免费av网 | 国产激情精品 | 最新黄色毛片 | 91精品国产综合久久久久久 | 久久久久久国产一区二区三区 | aaaa日韩| 一级一级一级毛片 |