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

WCF元數(shù)據(jù)獲取方式技巧分享

開發(fā) 開發(fā)工具
WCF元數(shù)據(jù)的獲取方法多種,比如利用WS-MEX的方式來實現(xiàn)。或者還可以利用我們今天為大家介紹的這種HTTP-GET的實現(xiàn)方式。

我們知道,在WCF中,我們可以通過一種叫做WS-MEX方式的方式來進(jìn)行WCF元數(shù)據(jù)的發(fā)布。那么今天我們就會為大家詳細(xì)介紹一下另外一種叫做HTTP-GET的方式來幫助我們實現(xiàn)WCF元數(shù)據(jù)的發(fā)布。#t#

現(xiàn)在我們來是實現(xiàn)基于HTTP-GET的元數(shù)據(jù)獲取方式。既然服務(wù)端采用了基于HTTP-GET的元數(shù)據(jù)發(fā)布方式,那么就意味著我們可以通過簡單的HTTP請求的方式獲取相應(yīng)的元數(shù)據(jù)資源。

同樣是基于上面的例子,仔細(xì)的讀者相信已經(jīng)看到了,在計算服務(wù)的配置文件中,除了為服務(wù)添加MEX終結(jié)點之外,還通過ServiceMetadataBehavior開啟了基于HTTP-GET的元數(shù)據(jù)發(fā)布方式,并將元數(shù)據(jù)發(fā)布地址指定為:http://127.0.0.1:3721/calculatorservice/metadata。

下面的代碼實現(xiàn)了相應(yīng)的WCF元數(shù)據(jù)獲取,其中我通過指定目標(biāo)地址創(chuàng)建了一個HttpWebRequest對象,并通過該對象向元數(shù)據(jù)的發(fā)布地址發(fā)送請求。獲取的元數(shù)據(jù)將以HttpWebResponse的形式返回,由于獲取的元數(shù)據(jù)實際上是一個WSDL文檔,所以我們可以通過ServiceDescription的Read方法直接讀取生成一個ServiceDescription對象,并最終通過MetadataSection的靜態(tài)方法CreateFromServiceDescription將其轉(zhuǎn)換成一個MetadataSection對象。該MetadataSection對象被最終添加到創(chuàng)建的MetadataSet中,并被寫入一個XML文件。

  1. using System.Diagnostics;   
  2. using System.Net;   
  3. using System.ServiceModel.Description;   
  4. using System.Xml;   
  5. using System.Text;   
  6. namespace Artech.MetataRetrieval   
  7. {   
  8. class Program   
  9. {   
  10. static void Main(string[] args)   
  11. {   
  12. MetadataSet metadata = new MetadataSet();   
  13. HttpWebRequest request = (HttpWebRequest)WebRequest.Create
    ("http://127.0.0.1:3721/calculatorservice/metadata"); 
    request.Method = "Get";   
  14. HttpWebResponse response = (HttpWebResponse)request.GetResponse();   
  15. using (XmlReader reader = XmlDictionaryReader.CreateTextReader
    (response.GetResponseStream(), new XmlDictionaryReaderQuotas()))   
  16. {   
  17. System.Web.Services.Description.ServiceDescription serviceDesc = 
    System.Web.Services.Description.ServiceDescription.Read(reader);   
  18. metadata.MetadataSections.Add(MetadataSection.
    CreateFromServiceDescription(serviceDesc));   
  19. }   
  20. using (XmlWriter writer = new XmlTextWriter
    ("metadata.xml", Encoding.UTF8))   
  21. {   
  22. metadata.WriteTo(writer);   
  23. }   
  24. Process.Start("metadata.xml");   
  25. }   
  26. }   

當(dāng)上面的應(yīng)用程序成功執(zhí)行,包含獲取的WCF元數(shù)據(jù)的XML將會通過IE打開。通過兩種方式獲取的元數(shù)據(jù)本質(zhì)上是相同的,不過可能細(xì)心的讀者已經(jīng)發(fā)現(xiàn)了:與上面的例子(WS-MEX)獲取的MetadataSet不同,通過HTTP-GET獲取的MetadataSet僅僅包含一個元數(shù)據(jù)方言(Dialect)為WSDL的MetadataSection。這是因為,前面的例子實際上將WSDL中引用(通過終結(jié)點地址或者資源地址)的內(nèi)容都生成了相應(yīng)的MetadataSection,在這里由于篇幅所限,并沒有做這些工作。

責(zé)任編輯:曹凱 來源: CSDN
相關(guān)推薦

2010-03-02 10:50:57

WCF元數(shù)據(jù)交換

2010-02-22 17:21:02

WCF消息交換

2010-02-22 17:58:06

WCF異步上傳

2010-03-01 13:06:49

WCF繼承

2009-12-21 16:37:41

WCF獲取服務(wù)元數(shù)據(jù)

2010-02-24 11:22:04

WCF方法重載

2010-02-25 15:25:19

WCF通道

2009-12-22 19:00:08

WCF回調(diào)

2010-02-22 15:20:54

WCF WS-Disc

2010-02-23 16:46:47

WCF并發(fā)能力

2009-11-09 17:30:20

WCF元數(shù)據(jù)

2010-02-25 10:52:29

WCF響應(yīng)服務(wù)

2010-02-23 13:03:34

WCF序列化

2010-02-26 10:46:12

WCF行為擴(kuò)展

2010-03-01 09:48:23

WCF會話服務(wù)

2010-03-01 15:40:04

WCF實例停用

2010-02-25 18:04:02

WCF IIS宿主

2009-12-22 16:14:01

WCF服務(wù)元數(shù)據(jù)

2010-02-22 11:02:06

WCF元數(shù)據(jù)

2010-03-01 17:52:03

WCF選擇綁定
點贊
收藏

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

主站蜘蛛池模板: 狠狠干狠狠插 | 中文字幕亚洲区一区二 | 国产精品免费看 | 男人阁久久 | 91高清视频在线观看 | 情侣av| 能看的av | 在线日韩中文字幕 | 成人国产一区二区三区精品麻豆 | 久久久久久久久久久久91 | 国产高清视频在线观看 | 婷婷色国产偷v国产偷v小说 | 欧美日韩一区二区三区视频 | 黄色网址在线播放 | 中文字幕精品一区二区三区精品 | 激情欧美一区二区三区 | 欧美精品在线视频 | 成人av一区| 久草免费在线视频 | 天天玩天天操天天干 | 一级片在线视频 | 在线免费黄色小视频 | 国产99精品| 欧美一区二区三区四区在线 | 欧美成视频 | 久久大陆| 国产三级在线观看播放 | 亚洲精品视频一区 | 国产日韩欧美精品一区二区 | a视频在线播放 | 久久久久久99 | 中文字幕免费在线观看 | 日韩精品一区二区三区在线播放 | 国产成人一区二区三区久久久 | 国产伦一区二区三区视频 | 中文字幕成人在线 | 一区二区视屏 | 国产精彩视频 | 欧美视频在线看 | 九九热精品在线 | 污污免费网站 |