国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

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

運用 .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 服務時,接口只不過是應當考慮的諸多因素之一。應考慮的其它因素包括安全性(包括授權、身份驗證和加密)、事務模型、狀態模型、返回錯誤和結果的方式,以及代碼是同步還是異步執行,等等。

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

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        欧美三级一区二区| 欧美日韩国产三级| 欧美无人高清视频在线观看| ㊣最新国产の精品bt伙计久久| 成人福利视频在线| 国产精品成人免费在线| 91视频国产资源| 国产高清成人在线| 亚洲欧洲性图库| 色哟哟欧美精品| 亚洲v中文字幕| 2014亚洲片线观看视频免费| 国产在线播放一区| 一区二区在线免费观看| 5月丁香婷婷综合| 国产成人午夜精品影院观看视频 | 玖玖九九国产精品| 国产色91在线| 99久精品国产| 久久av资源站| 日本中文字幕一区二区视频 | 欧美性猛交xxxx黑人交| 91精品国产色综合久久ai换脸| 色综合天天狠狠| 成人免费观看男女羞羞视频| 成人av电影在线网| 欧美性猛片aaaaaaa做受| 亚洲国产精品国自产拍av| 国产一区二区三区国产| 欧美精品99久久久**| 亚洲三级在线观看| 91免费观看视频在线| 亚洲成人免费看| 欧美成人精品福利| 精品一区二区三区久久久| 久久综合五月天婷婷伊人| eeuss鲁片一区二区三区| 粉嫩蜜臀av国产精品网站| 国产精品影视在线观看| 成人av集中营| 精品视频1区2区| 精品国产一区二区三区不卡| 国产亚洲一区二区在线观看| 久久久亚洲午夜电影| 2020国产成人综合网| 久久免费偷拍视频| 中文字幕 久热精品 视频在线| 久久久综合激的五月天| 欧美一区二区性放荡片| 在线精品视频一区二区| 毛片基地黄久久久久久天堂| 国产精品久久久久影视| 国产欧美日韩在线| 国产精品少妇自拍| 日韩欧美国产一区在线观看| 国产成人精品免费一区二区| 亚洲国产综合色| 午夜在线电影亚洲一区| 日韩主播视频在线| 成人sese在线| 成人成人成人在线视频| 成人午夜在线视频| 波波电影院一区二区三区| 精品一区二区三区在线视频| 日韩国产一区二| 免费在线观看视频一区| 精品一区二区三区在线播放| 日本亚洲电影天堂| 精品一区二区三区在线观看| 美女视频黄频大全不卡视频在线播放| 18欧美乱大交hd1984| 亚洲色图欧洲色图| 日韩成人精品视频| 国产一区欧美二区| 在线播放中文一区| 中文字幕一区二区日韩精品绯色| 亚洲精选在线视频| 另类人妖一区二区av| 91浏览器在线视频| 久久久蜜桃精品| 亚洲桃色在线一区| 国产精品77777竹菊影视小说| 欧美一a一片一级一片| 久久久一区二区| 裸体健美xxxx欧美裸体表演| 99久免费精品视频在线观看| 91精品国产综合久久香蕉麻豆| 亚洲欧洲日韩综合一区二区| 极品美女销魂一区二区三区| 6080亚洲精品一区二区| 石原莉奈一区二区三区在线观看| 色婷婷综合久久久久中文| 91蝌蚪porny成人天涯| 91在线丨porny丨国产| 在线一区二区三区四区| 无吗不卡中文字幕| 亚洲男人天堂一区| 欧美色图在线观看| 国产精品一区二区男女羞羞无遮挡| 制服丝袜av成人在线看| 婷婷夜色潮精品综合在线| 91精品久久久久久久91蜜桃| 成人av手机在线观看| 久久久久国色av免费看影院| 日韩欧美成人激情| 亚洲三级小视频| 日韩欧美一区二区久久婷婷| 国产91综合网| 婷婷丁香久久五月婷婷| 夜夜嗨av一区二区三区四季av| 国产精品色哟哟网站| 久久午夜国产精品| 欧美一级欧美三级在线观看| 亚洲婷婷在线视频| 久久99国产精品久久99| 91一区一区三区| 久久久激情视频| 国产精品免费aⅴ片在线观看| 欧美一级专区免费大片| 日日夜夜免费精品| 欧美岛国在线观看| 91免费小视频| 日韩电影一区二区三区| 久久网站最新地址| 欧美性猛交一区二区三区精品 | 日韩精品一区二区三区在线观看| 午夜精品久久久久久久99樱桃| 色欧美日韩亚洲| 国产原创一区二区| 国产午夜精品一区二区 | 亚洲一二三区不卡| 亚洲欧洲综合另类| 性做久久久久久久免费看| 在线免费不卡视频| 亚洲欧美国产高清| 国产精品久久看| 亚洲另类一区二区| 蜜臀久久99精品久久久画质超高清 | 亚洲一区中文在线| 国产成人av福利| 欧美国产禁国产网站cc| 欧洲精品中文字幕| 日韩在线卡一卡二| 一本大道久久a久久精二百| 成人av午夜电影| 欧美视频一区在线| 欧美四级电影在线观看| 91麻豆福利精品推荐| 欧美在线免费播放| 国产午夜精品久久久久久久 | 成人国产电影网| 欧美日韩久久一区| 亚洲一区二区四区蜜桃| 久久久久国产精品人| www.日韩精品| 麻豆视频一区二区| 成人国产精品免费网站| 欧美一二三在线| 日本特黄久久久高潮| 日韩一区二区在线看片| 国内精品不卡在线| 亚洲激情中文1区| 国产成人在线影院| 日韩av电影一区| 奇米888四色在线精品| 亚洲欧美一区二区三区久本道91| 久久综合九色综合欧美98| 91精品久久久久久久99蜜桃| 91精品国产综合久久久久久久久久 | 久久成人免费日本黄色| 国产一区二区按摩在线观看| 日本精品一区二区三区高清| 首页综合国产亚洲丝袜| 99久久精品一区二区| 久久超碰97人人做人人爱| 成人精品小蝌蚪| 亚洲三级电影全部在线观看高清| 91麻豆国产在线观看| 久久se精品一区二区| 日韩一区二区视频| 蜜桃视频一区二区三区 | 国产成人精品影视| 99re热视频这里只精品 | 欧美大肚乱孕交hd孕妇| 一区在线播放视频| 不卡欧美aaaaa| 亚洲最大的成人av| 国产在线乱码一区二区三区| 99久久免费国产| 久久免费看少妇高潮| 久久精品国产99| 欧洲一区二区三区在线| 国产不卡免费视频| 日本aⅴ免费视频一区二区三区| 中文一区二区在线观看| 久久久久久久电影| 欧美激情一区二区三区四区| 精品美女一区二区| 欧美成人综合网站| 91精品国产综合久久久久久久久久 |