在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

運用 .NET 框架將現有代碼作為 Web 服務提供

運用 .NET 框架將現有代碼作為 Web 服務提供

更新時間:2022-05-09 文章作者:未知 信息來源:網絡 閱讀次數:

使用 .NET 框架將現有代碼作為 Web 服務提供
使用 .NET 建立分布式應用程序
Steve Kirk 和 Priya Dhawan
Microsoft Developer Network

摘要:本文介紹了使用 ASP.NET 將現有 Microsoft Visual Basic 6.0 代碼作為 Web 服務提供時所進行的數據轉換。適用于 Microsoft .NET SDK 和 Microsoft Visual Studio.NET 的 Beta 1 版。

目錄
簡介
現有代碼提供的數據類型
ADO 2x Command 對象
ADO 2x Recordset 對象
Stream 對象
XMLDOM 對象
XML 字符串
總結

簡介
.NET 框架簡化了將 .NET 代碼作為 Web 服務提供的任務。.NET 框架開發人員指南中的 ASP.NET Web 服務和 ASP.NET Web 服務客戶機(英文)對此進行了說明。之所以能夠實現這種簡化,其中一個原因是 .NET 框架提供了一系列規則,用于將復雜的 .NET 數據類型轉換為 XML(序列化)以及反向轉換(反序列化)。

編寫為 .NET 之前的類的現有代碼通過特定于語言的數據類型或 COM 對象來傳遞數據,因此不能依賴于相同的標準規則將這些數據類型序列化為 XML。本文介紹了將現有 Microsoft® Visual Basic 6.0 代碼作為 ASP.NET Web 服務提供時所需的數據轉換。

評估現有代碼是否適合于作為 Web 服務提供時,本文討論的數據轉換問題并不是唯一需要考慮的問題。應考慮的其它因素包括對象和狀態模型、返回的數據大小、如何表示已經成功、如何返回錯誤信息、安全模型(包括訪問控制、身份驗證和加密)、執行模型(同步或異步)、如何分發代碼,以及事務模型(COM+ 事務或聲明型事務),等等。這些問題將在即將發表的體系結構主題(英文)文章中進行討論。

現有代碼提供的數據類型
討論現有代碼傳遞的所有數據類型的轉換將是一個相當大的工程,因此本文只介紹一些最常用的數據類型,以及 XML(作為字符串),因為如果使用 XML 對現有代碼進行擴展,那么 XML 就可以涵蓋幾乎所有其它的數據類型。本文討論以下數據類型的轉換方法:

ADO 2x Command 對象
ADO2x Recordset 對象
Stream 對象
XMLDOM 對象
XML
ADO 2x Command 對象
直接訪問數據庫的現有代碼經常會提供 Microsoft ActiveX® 數據對象 (ADO) 的 Command 對象。雖然不能在運行于不同進程中的應用程序層之間傳遞 Command 對象,但可以在同一進程內傳遞該對象。對于單行數據實體,通過 Command 對象的輸出參數返回數據比通過 ADO 記錄集返回數據效率更高。因此,ADO Command 對象對于返回單行實體數據十分有用。

讀數據
以下示例中的現有代碼返回一個 ADO Command 對象,它包含作為輸出參數的數據。Command 對象的 Parameters 集合轉換為 XML 并返回給 Web 服務的客戶:

' 現有代碼返回 ADO Command 對象
Cmd = CType(EC.Example1(), ADODB.Command)
' 使用 XmlTextWriter 和 StringWriter 轉換 Command 對象的 Parameters 集合
' 初始化 stringwriter 和 xmlwriter 以返回 xml 字符串
strWriter = New StringWriter()
xmlWriter = New XmlTextWriter(strWriter)
' 在 Parameters 集合內循環,寫入名稱和值
For i = 0 To Cmd.Parameters.Count - 1
xmlwriter.WriteElementString(Cmd.Parameters(i).Name.Substring(1),_
Cmd.Parameters(i).Value.ToString)
Next
' 將 xml 作為字符串返回
Example1 = strWriter.GetStringBuilder.ToString()
寫數據
將數據作為 Command 對象的參數傳遞是一種非常有效的數據傳遞方法。它還可以進行擴展,并提供了一些類型檢查功能。不幸的是,由于 Beta 1 中存在缺陷,Command 對象產生的數據無法傳遞到現有代碼。Beta 2 中解決了這個問題。Beta 1 的解決方法是對現有的 VB 6 代碼進行擴展,接受 XML。

ADO2x Recordset 對象
ADO 2x 斷開連接的記錄集通常用于在多層應用程序的各層之間傳遞數據。數據可以是單行、多行或分層次的行。

讀數據
本示例中,現有代碼返回一個 ADO Recordset 對象,它包含的層次行數據將被轉換為 XML,然后由 Web 服務返回:

' 現有代碼返回記錄集
RS = CType(EC.Example3(), ADODB.Recordset)
' 實例化一個接收記錄集數據的流
Stream = New ADODB.Stream()
' 將記錄集的 XML 表示寫入流
RS.Save(Stream, ADODB.PersistFormatEnum.adPersistXML)
' 將 XML 作為字符串從流返回
Example3 = Stream.ReadText
寫數據
以下示例中,使用表示層次行數據的 XML 填充 ADO Recordset 對象,該對象將被傳遞到現有代碼:

' 實例化一個記錄集對象
RS = New ADODB.Recordset()
' 實例化一個流對象
Stream = New ADODB.Stream()
' 打開流對象
Stream.Open()
' 將 XML 寫入流
Stream.WriteText(RsXML)
' 將指針定位到流的開頭
Stream.Position = 0
' 使用流中的 XML 數據打開記錄集
RS.Open(Stream)
' 將記錄集傳遞到現有代碼
EC.Example4(RS)
Stream 對象
流提供了一種在應用程序的本地層之間傳遞數據的有效方法。它是從 Microsoft SQL Server™2000 中讀取 XML 的主要方法。

讀數據
以下示例中,現有代碼返回表示層次行數據的 XML 流,它被作為字符串讀取,并由 Web 服務返回:

Dim Stream As ADODB.Stream
Stream = CType(EC.Example5(), adodb.stream)
Example5 = Stream.ReadText
XMLDOM 對象
XMLDOM 對象是一種在多層應用程序的本地層之間傳遞數據的好方法。它提供了接口可擴展性、類型檢查和架構驗證功能。

讀數據
以下示例中,現有代碼返回一個 XML 文檔對象模型 (XMLDOM),它被轉換為 XML 字符串并由 Web 服務返回:

Dim Doc As MSXML2.DOMDocument
' 現有代碼返回 XMLDOM 對象
Doc = CType(EC.Example6(), msxml2.DOMDocument)
' 從 DOM 對象返回 XML
Example6 = Doc.xml
寫數據
以下示例中,使用表示層次行數據的 XML 填充 XMLDOM 對象,并將該對象傳遞到現有代碼:

Dim Doc As MSXML2.DOMDocument
' 實例化一個 XMLDOMDocument 對象
Doc = New MSXML2.DOMDocument()
' 將 XML 載入 DOM
Doc.loadXML(orderXML)
' 將 DOM 傳遞到現有代碼
EC.Example7(Doc)
XML 字符串
XML 是一種在層與層之間傳遞數據的簡單方法。它還將數據的 XML 轉換過程推到 COM 互操作邊界的“現有代碼”端,根據接口的不同,這可能會比在 COM 互操作邊界將數據轉換為 XML 更有效。

讀數據
以下示例中,現有代碼返回一個包含 XML 數據的字符串,然后,該字符串由 Web 服務傳遞給客戶:

EC = New ExCode.ExClass()
' 將 XML 字符串直接從現有代碼傳遞給客戶
Example8 = EC.Example8()
寫數據
以下示例中,層次行數據的 XML 表示作為字符串傳遞到現有代碼:

EC = New ExCode.ExClass()
' 將 XML 字符串直接從客戶傳遞到現有代碼
EC.Example9(orderXML)

總結
本文及附帶的示例介紹了有關數據轉換的信息。通過數據轉換,可以使用 ASP.NET 將現有代碼作為 Web 服務提供。本文討論了一些常用的接口對象,其中包括 XML 字符串,如果使用相應的接口對現有代碼進行擴展,它可以涵蓋大多數數據。

這些解決方案的性能各異,并且受所傳遞的數據大小影響。在本系列后面的文章中,我們將對這些實現方法進行比較。

評估現有代碼是否適合作為 Web 服務時,接口只不過是應當考慮的諸多因素之一。應考慮的其它因素包括安全性(包括授權、身份驗證和加密)、事務模型、狀態模型、返回錯誤和結果的方式,以及代碼是同步還是異步執行,等等。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • aaaaaaaa毛片| 五月婷婷丁香综合网| 最新av免费在线观看| 国产妇女馒头高清泬20p多| 天天操精品视频| 中文字幕在线导航| 91国视频在线| 男女视频网站在线观看| www.xxx麻豆| 亚洲热在线视频| 99亚洲精品视频| 好色先生视频污| 欧美日韩dvd| 国产免费裸体视频| 国产黄色片免费在线观看| 国产手机免费视频| 日本成年人网址| 中文av一区二区三区| 欧美日韩在线免费观看视频| 亚洲综合123| 日韩黄色片在线| 成人免费毛片网| av网站在线不卡| 永久免费网站视频在线观看| 福利视频免费在线观看| 欧洲黄色一级视频| 一路向西2在线观看| 欧美一级黄色录像片| 噜噜噜久久亚洲精品国产品麻豆 | youjizz.com亚洲| 亚洲av首页在线| 黄色免费观看视频网站| 在线免费视频a| 99热都是精品| 波多结衣在线观看| 久久香蕉视频网站| 波多野结衣天堂| 精品久久免费观看| av无码精品一区二区三区| 国产av第一区| 久久九九国产视频| 男人添女荫道口女人有什么感觉| 少妇高清精品毛片在线视频| 亚洲一级片免费观看| 91九色在线观看视频| wwwjizzjizzcom| 免费看涩涩视频| 黄色片网址在线观看| 伊人免费视频二| 亚洲激情在线观看视频| www.亚洲视频.com| 久久久精品视频国产| 人妻熟女一二三区夜夜爱| 91看片淫黄大片91| 亚洲天堂一区二区在线观看| 黄色免费视频大全| 国产日韩欧美精品在线观看| 欧美a级黄色大片| 性鲍视频在线观看| 亚洲欧美日本一区二区| 久久久国产欧美| 日本成人黄色网| 免费国产成人av| 国产精品99久久免费黑人人妻| 日本国产中文字幕| 黄色污污在线观看| 国产成人三级视频| 香蕉视频免费版| 国产精品视频一二三四区| 亚洲三级在线观看视频| 看看黄色一级片| 国产精品视频中文字幕| 麻豆一区二区三区视频| 午夜国产一区二区三区| 久久国产这里只有精品| 三区视频在线观看| 欧美国产日韩在线视频| 91社在线播放| 国产在线视频在线| 日本道在线视频| 精品无码一区二区三区爱欲| 国产av天堂无码一区二区三区| 欧美亚洲黄色片| 日本毛片在线免费观看| 午夜久久久精品| 国产女人18毛片| 欧洲av无码放荡人妇网站| 国产精彩免费视频| 欧美美女一级片| 成人手机在线播放| 免费看黄在线看| 日本久久久久久久久久久久| 日本中文字幕在线不卡| 韩日视频在线观看| 国产成人av影视| 国产树林野战在线播放| 黄色动漫在线免费看| 一区二区三区 欧美| 天天操夜夜操很很操| 精品中文字幕av| 久久久久久久久久久久久久久国产| 国产又黄又爽免费视频| 成年人免费在线播放| 国产欧美激情视频| 激情深爱综合网| 色婷婷一区二区三区在线观看| 久久精品xxx| 性久久久久久久久久久久久久| 欧美视频在线播放一区| 色爽爽爽爽爽爽爽爽| 超碰av在线免费观看| 精品国产一区三区| 午夜啪啪免费视频| 91热这里只有精品| 黄色一级视频在线播放| 亚洲女人在线观看| 日本三级黄色网址| 成年人观看网站| 男人c女人视频| 福利在线小视频| 污视频网址在线观看| 国产综合免费视频| 少妇高潮毛片色欲ava片| 熟女视频一区二区三区| 免费av不卡在线| 熟女少妇精品一区二区| 欧美 日韩 国产在线观看| av动漫在线免费观看| 中文字幕亚洲乱码| 欧美国产日韩在线播放| 欧洲黄色一级视频| 国产黄页在线观看| 欧美日韩在线一| 无码粉嫩虎白一线天在线观看| 激情成人开心网| 国产情侣第一页| japanese在线播放| 少妇久久久久久被弄到高潮| 在线播放 亚洲| 免费看污污视频| 成人免费看片'免费看| www.激情网| 国产精品又粗又长| 人妻熟女一二三区夜夜爱| 丰满少妇在线观看| 色婷婷综合网站| 一本一道久久a久久综合蜜桃| 伊人影院综合在线| 日本一级淫片演员| 性一交一乱一伧国产女士spa| 国产日韩av网站| 免费激情视频在线观看| 日韩高清第一页| 国产成人强伦免费视频网站| www.亚洲成人网| 777米奇影视第四色| 亚洲36d大奶网| www.18av.com| 妞干网在线免费视频| 日本中文字幕影院| 日本一级黄视频| 午夜精品久久久内射近拍高清| 日韩爱爱小视频| 免费看欧美黑人毛片| 日韩网址在线观看| 三日本三级少妇三级99| 999一区二区三区| 一区二区三区欧美精品| 玖玖精品在线视频| 91看片在线免费观看| 欧美精品一区二区性色a+v| 日本中文字幕亚洲| 国产aⅴ爽av久久久久| 丁香六月激情网| 一级 黄 色 片一| 国产免费黄色av| 2022中文字幕| 日本美女高潮视频| av在线com| 老司机av福利| 精品久久久久av| 国产精品一色哟哟| 国产性生活一级片| 另类小说第一页| 欧美视频在线免费播放| 中文字幕精品在线播放| 亚洲欧洲日本精品| 久久久久久久久久久99| 精品一区二区三区毛片| 污污网站免费观看| 日本www.色| 日韩少妇内射免费播放18禁裸乳| 老司机午夜网站| www.偷拍.com| 亚洲精品中文字幕乱码无线| www.色就是色| 天天操天天摸天天爽| 免费观看成人在线视频| 动漫av免费观看| 欧美精品无码一区二区三区|