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

深入挖掘WCF REST服務(wù)

開(kāi)發(fā) 后端
這里主要介紹了WCF REST服務(wù)它采用了Simon Evan所說(shuō)的三步走的方式,文章有詳細(xì)的介紹,希望對(duì)大家有幫助。

學(xué)習(xí)了WCF很長(zhǎng)時(shí)間,在網(wǎng)上也收集了許多資料,在這里分享一下關(guān)于使用WCF REST服務(wù)。.NET Framework 3.5引入了REST風(fēng)格的Windows Communication Foundation(簡(jiǎn)稱(chēng)WCF)服務(wù)。除了開(kāi)發(fā)和托管RESTful服務(wù),還提供了多種選項(xiàng)來(lái)消費(fèi)這些服務(wù)。WCF通過(guò)“web”綁定和允許發(fā)布RESTful服務(wù)的web編程模型提供對(duì)REST支持。RESTful服務(wù)返回普通的XML,JSON編碼,或者聚合種子(syndication feed)。網(wǎng)絡(luò)上有很多關(guān)于如何編寫(xiě)這類(lèi)服務(wù)的資源,可是對(duì)在.NET Framework中如何消費(fèi)
WCF REST服務(wù)卻言之甚少。

#T#在Simon Evan的文章“使用Silverlight 2.0消費(fèi)服務(wù)”中,他指出目前不支持類(lèi)似SOAP Web Service中那樣的自動(dòng)生成代理:消費(fèi)其它服務(wù)(例如REST)有一點(diǎn)難度,并且的確使我們驚奇的一件事是,目前還不能自動(dòng)產(chǎn)生由 ASP.net AJAX(通過(guò)WebHttpBinding)使用的代理。你不得不手動(dòng)構(gòu)建一個(gè)URI字符串,在HTTP GET請(qǐng)求(REST)時(shí)使用WebClient類(lèi);對(duì)于其他HTTP動(dòng)詞,使用HttpWebRequest類(lèi)。如果這個(gè)服務(wù)使用了JSON編碼,解析響應(yīng)可用這兩種方法中的任意一種:使用WCF的DataContractJSONSerializer(在概念上與XmlSerializer類(lèi)似),或者使用LinqToJSON……

Json.NET(LinqToJSON)可以在Codeplex網(wǎng)站找到。作為.NET Framework 3.5組成部分, LINQ to XML可以方便地解析和消費(fèi)XML數(shù)據(jù)。Pedram Rezaei解釋了如何為“來(lái)自Flickr的興趣列表操作”開(kāi)發(fā)一個(gè)消費(fèi)者。起初他采用了Simon Evan所說(shuō)的三步走的方式:
◆制作HTTP請(qǐng)求,并將所有的參數(shù)組為URI的一部分包含進(jìn)來(lái)
◆得到XML格式的響應(yīng)
◆要么解析它,要么把它反序列化成一個(gè)對(duì)象

他采用了一種“WCF方式”,WCF REST服務(wù)包含如下步驟:
◆定義一個(gè)表示服務(wù)提供者的ServiceContract。
◆UriTemplate 包含了所有必要的參數(shù),這些參數(shù)與其對(duì)應(yīng)接口方法的參數(shù)列表完全一致。這個(gè)方法的簽名還定義了一個(gè)CLR返回類(lèi)型,它從服務(wù)響應(yīng)中反序列化出XML內(nèi)容。這個(gè)方法必須被用WebGet或者WebInvoke屬性做注解;而且為了盡可能匹配服務(wù)返回的XML,ServiceContract必須被配置為使用 XmlSerializerFormat,而不是DataContractSerializer格式。
◆配置客戶端端點(diǎn)使用“webHttpBinding”。
◆為返回值和參數(shù)定義XML serializable類(lèi)型。創(chuàng)建客戶端代理,創(chuàng)建方法:要么通過(guò)直接實(shí)例化ChannelFactory,要么由ClientBase繼承。

即便這是一個(gè)可行的方式,但Pedram批評(píng)說(shuō):我們并沒(méi)有使用WCF提供的統(tǒng)一編程模型,而且URL也是通過(guò)字符串連接搞出來(lái)的。響應(yīng)也是被手工反序列化成一個(gè)對(duì)象的。使用WCF和WebHttpBinding我們可以將絕大部分的工作自動(dòng)化。

欲知細(xì)節(jié),請(qǐng)閱讀Pedram的文章。Mihailo Lalevic使用了相同的方式來(lái)為eBay API開(kāi)發(fā)了一個(gè)消費(fèi)者,同時(shí)提供了一個(gè)WPF示例應(yīng)用(源碼)作為他文章的附件。

責(zé)任編輯:田樹(shù) 來(lái)源: 博客
相關(guān)推薦

2009-11-05 09:59:59

WCF綁定

2011-10-27 16:24:48

API

2010-02-25 16:07:28

WCF REST

2009-11-06 14:40:34

WCF REST架構(gòu)

2009-11-05 13:16:59

WCF代理

2009-11-09 09:34:07

WCF集合

2009-11-06 10:11:34

WCF和Web Ser

2009-11-05 13:00:25

WCF客戶端

2009-11-05 15:18:19

WCF擴(kuò)展

2009-11-09 13:23:35

WCF協(xié)定

2009-12-04 17:47:04

WCF 服務(wù)

2011-04-28 09:23:36

REST

2022-10-24 00:18:41

Elasticsea分布式數(shù)量

2009-11-09 17:40:33

WCF配置可靠性

2010-03-02 13:36:23

WCF事務(wù)投票

2010-02-22 14:18:34

WCF服務(wù)驗(yàn)證

2010-02-24 16:58:14

WCF Session

2009-11-06 09:30:35

WCF服務(wù)框架

2010-02-22 13:56:35

WCF服務(wù)契約

2009-12-04 17:35:51

WCF 服務(wù)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 色www精品视频在线观看 | 色天堂视频 | 精品视频www | 国产视频二区 | 美女一区二区在线观看 | 欧美一级黄色网 | 成人三级视频 | 日韩成人在线电影 | 一级a爱片性色毛片免费 | 中文字幕在线观看国产 | 91麻豆精品国产91久久久久久 | 成年人在线电影 | 日韩中文av在线 | 人人干在线 | 色综合视频 | 国产日产精品一区二区三区四区 | 成人在线国产 | 蜜桃免费一区二区三区 | 欧美黄色性生活视频 | 日韩福利在线 | 久久久久久久久久久蜜桃 | 成人免费淫片aa视频免费 | 色欧美片视频在线观看 | 鲁视频| 亚洲精品一区二区在线观看 | 国产精品成人一区二区三区夜夜夜 | 日韩精品一区在线 | 国产超碰人人爽人人做人人爱 | 亚洲一区二区三区在线观看免费 | 色综合久| 亚洲视频一区二区三区 | 婷婷丁香在线视频 | 精品欧美一区二区三区精品久久 | 日本精品视频 | 国产福利在线播放麻豆 | 中文字幕三区 | 91av免费版| 在线一区二区国产 | 欧美久久久久 | 免费av手机在线观看 | av一区二区三区四区 |