亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

.NET框架與網絡服務(下)

2019-11-18 21:15:06
字體:
來源:轉載
供稿:網友



  ■數據訪問服務


  幾乎所有的網絡服務都需要查詢和更新永久性數據,不論是以簡單文件,還是以相關數據庫,或是以其它的存儲類型存在。為了提供對數據的訪問,服務框架包括ActiveX Data Objects+ (ADO+)類庫。如同名字所暗示的那樣,ADO+由ADO發展而來。ADO+為基于網絡的應用程序和服務提供數據訪問服務。圖1闡明了ADO+的體系結構,表明任何數據,不論這些數據實際上如何存儲的,都以xml或相關數據的格式被操作。


  ADO+定義了那些鏈接數據倉庫、對數據倉庫發送命令及從中獲取結果的類。這些類由受控數據提供者(managed data PRovider)實現。ADO+中鏈接和命令對象看上去和ADO中的是一樣的,并且一個名為DataReader的新類提供了通過高性能API流獲取結果的能力。DataReader在功能上與ADO的記錄集(Recordset)是相似的,但是DataReader被設計用來最小化內存中生成的對象的數量,用以提高性能、避免垃圾積累。在.NET Framework中包含了針對Microsoft SQL Server的受控數據提供者以及可通過OLE DB訪問的任何數據倉庫。


  ADO+的一個主要創新是引入了數據集(Dataset)。一個數據集是內存中提供數據關系圖的高速緩沖區。數據集對數據源一無所知,它們可以由程序或通過從數據倉庫中調入數據而被生成、填充。不論數據從何處獲取,數據集都是通過使用同樣的程序模板而被操作的,并且它使用相同的數據緩沖區。使用.NET平臺的開發人員能夠用數據集代替傳統ADO中無連接的記錄集。


  受控數據提供者為數據倉庫和數據集公開的、名為DataSetCommand的接口對象。DataSetCommand使用ADO+鏈接和命令從數據倉庫中提取數據集,并把在數據集中發生的變化解析到數據倉庫中。


  就像DataReaders顯示了對于相關數據的有效的流訪問一樣,XmlReaders顯示了對XML數據的流訪問。開發人員使用DataNavigator可以滾動和編輯內存中的XML文檔。DataNavigator在功能上和Document Object Model (DOM)是一樣的,但它更有效,并提供了能很好映射關系數據表的對象模板。ADO+為那些希望繼續使用DOM作為XML對象模板而不是使用更有效的DataNavigator模板的開發人員提供了一個XMLDocument類。


    


  圖1 ADO+體系結構


  ■表單應用模板


  從概念上講,在服務框架的最上面是兩個應用程序模板:Windows表單應用模板和網絡應用程序模板。盡管本文把重點放在把Microsft.NET框架用作開發網絡服務和網絡應用程序的一種途徑上,但框架也可用于開發較傳統的基于Windows的應用程序(當然,這些應用程序也能使用網絡服務)。


  編寫Windows客戶應用程序的開發人員可使用Win表單應用程序模板以利用Windows豐富的用戶接口特點,包括現在的ActiveX控件和Windows 2000的新特點,如透明的、分層的浮動窗口。開發人員會發現Win表單可編程模板和對設計階段的支持非常直觀。


  Win表單利用了Microsft.NET框架 runtime以減少基于Windows的客戶應用程序的開銷。只要應用程序和組件是用于Win表單應用程序的,那么它們就能被框架安全模板在客戶機上安全地執行。


  Microsft.NET框架裝配模板簡化了應用程序的配制和版本化。應用程序可被配制為使用它們在編譯和測試中所用的共享組件,而不是使用恰好在客戶機器上安裝的隨便什么版本的組件,這就提高了應用程序的可靠性,減少了應用程序所支持調用的主要因素:用戶接口控件和其它共享組件版本的不兼容性。


  ■網絡應用程序模板


  建立在Microsft.NET框架上網絡應用程序共享一個通用應用程序模板。包含用于生成在瀏覽器中觀看的網頁的網絡應用程序和網絡服務。下面,筆者將詳細介紹Active Server Pages+ (asp+)的網絡應用程序可編程模板,如圖2所示。


  ASP+是由活動服務器頁面(ASP)發展而來。ASP+利用common language runtime和服務框架網絡應用程序提供了一個可靠的、自動化的、可擴展的主機環境。ASP+也受益于common language runtime集成模板,簡化了應用程序的配制。另外,它提供簡化應用程序開發的服務(如狀態管理服務)以及高水平的編程模板(如ASP+網絡表單和ASP+網絡服務)。


  ASP+的核心是HTTP運行語言,一個高性能的用于處理基于低級結構的HTTP請求的運行語言,而基于的結構與Microsoft Internet Information Services (IIS)所提供的ISAPI結構相似。由圖2可知,HTTP運行語言(HTTP runtime)負責處理引入的所有HTTP請求,并對每個請求應用程序的URL進行解析,然后把請求分配到應用程序以進行進一步的處理。HTTP 運行語言是多線程的,并異步處理請求,因此劣質的應用程序代碼阻礙不了它對新請求的處理。而且HTTP運行語言假定失敗必會發生,因此它通??梢宰詣拥貜脑L問沖突、內存泄漏、死鎖等事故中恢復過來。


  ASP+使用基于構件的Microsft .NET框架配制模板,因此它獲得了如XCOPY配制、構件并行配制、基于XML配制等優點。ASP+另一個主要優點是,它支持應用程序的實時更新。管理員不必關掉網絡服務器,甚至不用停止應用程序的運行就可以更新應用文件。應用程序文件永遠不會被加鎖,甚至在程序運行時文件就可以被覆蓋。當文件更新后,系統會檢測到文件變化,并用新的應用程序代碼建立一個新的應用程序實例,然后將引入的請求傳遞到應用程序。當所有被現存的應用程序實例處理的未完成的請求處理完后,該實例就被銷毀。


  在應用程序中,HTTP請求(HTTP Request)通過HTTP模塊的管道路由,最終到達請求處理程序。HTTP模塊和請求處理程序是一些實現特殊接口的受控類,而這些接口是由ASP+定義的。這種管道結構使得為應用程序增加服務非常方便:只需補充一個HTTP模塊。例如安全、狀態管理及跟蹤都被實現為HTTP模塊。高級可編程模塊,如網絡服務和網絡表單,通常被用于請求處理程序。一個應用程序能鏈接多個請求處理程序,每個處理程序對應一個URL,但是所有的HTTP請求都要通過同樣的管道路由。


  網絡基本上是一個無狀態模型,并且在HTTP請求間沒有聯系,這使得編寫網絡應用程序很困難,因為應用程序通常需要維護跨多個請求的狀態。ASP+增強了由ASP引入的狀態管理服務,以便為網絡應用程序提供三種類型的狀態:應用程序、會話和用戶。就像在ASP中一樣,應用程序狀態特定于一個應用程序實例,并且不會持久。會話狀態是特定于一個用戶與應用程序間的會話的。與ASP會話狀態不同,ASP+會話狀態儲存在一個獨立的過程中,并且可把它配制成可以儲存到一個獨立的機器上。這使得會話狀態當應用程序在網絡群(Web farm)擴展時非常有用。用戶狀態類似于會話狀態,但通常它不會超時,并且是永久性的。因此,用戶狀態對儲存用戶參數和其它個性化的信息是有用的。所有狀態管理服務都被實現為HTTP模塊,因此它們容易增加到應用程序管道中,或從中刪除。


    


  圖2 ASP+網絡應用模型


  如果除了由ASP+提供的服務外,還需要額外的狀態管理服務,那么可由第三方的模塊提供。


  ASP+同樣提供高速緩沖服務,以改善性能。輸出緩沖可完全節省網頁翻譯,段緩沖儲存部分的網頁。由于提供了相應的類,所以只要需要,應用程序、HTTP模塊以及請求處理程序就可以在高速緩存中儲存任意數量的對象。


  下面讓我們認識一下建立在ASP+可編程模塊之上的兩個高級可編程模塊:ASP+網絡表單和ASP+網絡服務。


  ■ASP+網絡表單


  網絡表單把基于Visual Basic表單的高生產性優點帶到了網絡應用程序的開發中來。網絡表單支持傳統的將HTML內容與腳本代碼混合的ASP語法,但是它提出了一種將應用程序代碼和用戶接口內容分離的更加結構化的方法。引入的網絡表單控件用于為封裝通用用戶接口元素提供了一種機制。這些新的特點使得開發工具在支持VB小應用程序的同時,也支持設計模塊。


    


  圖3 ASP+網絡服務


  網絡表單控件負責生成用戶接口,典型情況是在HTML表單中。ASP+提供了一套映射傳統的HTML用戶接口小部件(包括列表框,文本框和按鈕)的網絡表單控件和一套附加的網絡控件(如日歷和廣告轉板)。這些控件的一個重要特點是,它們可以被編寫以適應客戶端的能力;同一網頁把大范圍的客戶端平臺和表單因素作為目標。換句話說,網絡表單控件能“嗅”到正在查找表單的客戶,然后返回合適的用戶經驗——可能是適合低級瀏覽器的HTML3.2或是適于IE5.0的動態HTML。


  考慮到網絡是一種無狀態的聯接模型,網絡應用程序開發人員所面臨的一個很復雜的問題是,他們要對用戶與基于網絡的接口的交互作用作出反應。網絡利用ASP+的體系架構提供了一套豐富的服務,以幫助開發人員建立交互式網頁。用戶與網頁交互作用的狀態管理的復雜性被ASP+網絡表單和網絡表單控件隱藏起來了。對開發人員來說,提供的豐富數據綁定服務使得顯示通過數據訪問服務得到的數據變得非常容易。


  代碼與內容的分離使ASP+網頁能動態地編譯到受控類中,用以提高性能。每個引入的HTTP請求都被傳遞到一個新的網頁實例中,因此開發人員不需要關心代碼中的線程安全性問題。


  ■ASP+網絡服務


  ASP+網絡服務體系架構為用ASP+建立網絡服務提供了一個高級可編程模板。雖然建立網絡服務并不需要使用網絡服務平臺,但是它提供許多的優點將簡化應用程序的開發過程,并且它使用的編程模型對用ASP或VB工作的開發人員來說是很熟悉的。使用這個可編程模型,開發人員可以不需要理解HTTP、SOAP或其它任何網絡服務規范。ASP+網絡服務可編程模型如圖3所示。


  開發人員用ASP+生成一個擴展名為 .ASMX的文件,并把此文件配制為網絡應用程序的一部分,就建立起了一個網絡服務。ASMX文件包含受控類的引用,或這個類的定義。這個類是由ASP+提供的WebService類所派生的。公有的類方法在標記上WebMethod屬性后,就會成為網絡服務方法,把HTTP請求發送到ASMX文件中的URL后,這些方法就會被調用。你不必手工為你的網絡服務建立一個契約。當被調用者發出請求時,ASP+會檢查類的元數據,從而自動生成SCL文件。


  客戶可通過SOAP、HTTP GET和HTTP POST提交請求。對方法和參數進行編碼的約定是:HTTP GET,將被編譯為查詢字符串;HTTP POST,將被編譯為表單數據。HTTP GET和HTTP POST 的機制不如SOAP有力,但是它們使得客戶在訪問網絡服務時不必支持SOAP。


  ASP+網絡服務模型假定了一個無狀態服務結構。無狀態結構通常比有狀態結構更具可擴展性。每次收到一個服務請求后,就生成一個新對象,請求被轉化為一個方法調用,當方法調用返回時對象被銷毀。如果這些服務需要跨請求維護狀態,那么它們將使用ASP+狀態管理服務?;贏SP+的網絡服務在網絡應用程序模型中運行,因此它們得到了該模型的所有安全、配制和其它優點。


  ASP+網絡服務還提供了一個為在SCL文件中描述的網絡服務生成分類的受控代理工具。代理生成器把SCL文件中描述的消息映射成受控類中的方法。代理對應用程序代碼隱藏了所有的網絡和引導設備,因此使用網絡服務看起來就象使用其它受控代碼一樣。代理將優先使用SOAP鏈接網絡服務,但是它同樣支持HTTP GET和HTTP POST機制。


  ■結論


  網絡服務為在Internet上綁定應用程序提供了簡單的、靈活的、基于多標準的模型,同時,最大可能地重用現存體系架構和應用程序。網絡應用程序可以很容易地與本地開發的服務或已存在的服務集成在一起,而不用考慮開發平臺、開發語言或使用的對象模型,以用于實現任何組成的服務或應用程序。


  Microsft.NET框架為開發人員提供了一個極為方便的開發環境,從而簡化了安全、可靠、可擴展、高可用性的網絡服務的建立、部署和不斷的發展。


  <全文完>


 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情免费观看| 欧美精品videofree1080p| 欧美成人激情在线| 久久精品亚洲94久久精品| 高潮白浆女日韩av免费看| 国产精品入口福利| 精品久久久久久久久久国产| 在线成人免费网站| 亚洲精品欧美日韩| 亚洲www在线观看| 亚洲国产97在线精品一区| 久久久久久久久久久免费精品| 国产精品久久久久高潮| 91在线国产电影| 亚洲精品国产suv| 97精品久久久中文字幕免费| 欧美日韩亚洲激情| 国产精品第2页| wwwwwwww亚洲| 日韩美女激情视频| 亚洲精品福利免费在线观看| 懂色av中文一区二区三区天美| 精品亚洲国产成av人片传媒| 欧美成人精品在线| 精品日韩美女的视频高清| 日韩国产精品亚洲а∨天堂免| 中文字幕精品在线| 亚洲成人网av| 精品色蜜蜜精品视频在线观看| 综合欧美国产视频二区| 92看片淫黄大片看国产片| 欧美亚州一区二区三区| 少妇久久久久久| 亚洲欧美制服第一页| 欧美性猛交xxxx偷拍洗澡| 97久久精品人人澡人人爽缅北| 成人午夜激情免费视频| 国产亚洲人成a一在线v站| 欧美—级a级欧美特级ar全黄| 久久精品国产免费观看| 精品一区二区三区四区| 亚洲欧美在线一区二区| 国产亚洲欧美一区| 一区二区三区视频在线| 国产在线98福利播放视频| 欧美老少做受xxxx高潮| 中文字幕精品在线视频| 日韩免费在线播放| 国产日韩换脸av一区在线观看| 亚洲国产成人久久综合一区| 国产精自产拍久久久久久蜜| 亚洲精品自拍第一页| 尤物九九久久国产精品的特点| 日韩精品极品在线观看| 亚洲男人av电影| 色综合久久88| 日韩有码在线观看| 理论片在线不卡免费观看| 美女少妇精品视频| 国产精品久久久久久av下载红粉| 欧美激情网站在线观看| 日本国产精品视频| 国产一区二区三区视频在线观看| 最新亚洲国产精品| 国产精品va在线| 亚洲精品乱码久久久久久按摩观| 国产日本欧美视频| 亚洲福利视频专区| 国产成人精品视频在线| 欧美日韩福利电影| 久久精品亚洲一区| 欧美亚洲在线播放| 在线中文字幕日韩| 亚洲一区二区三区四区在线播放| 日韩精品在线视频| 一区二区欧美久久| 欧美激情免费视频| 国产一区二区香蕉| 日韩欧美一区视频| 欧美一级片免费在线| 久久久影视精品| 久久免费视频网站| 97碰在线观看| 91免费视频国产| 亚洲一区二区三区777| 亚洲欧美日韩国产精品| 欧美精品一本久久男人的天堂| 欧美色图在线视频| 国产福利成人在线| 国产成人精品视频在线观看| 91久久精品一区| 欧美三级欧美成人高清www| 亚洲精品在线看| 国产精品视频专区| 亚洲香蕉伊综合在人在线视看| 亚洲国产又黄又爽女人高潮的| 国产一区二区三区在线观看网站| 国产精品一区二区三| 亚洲欧美自拍一区| 亚洲精品在线视频| 欧美激情亚洲自拍| 欧美一区二区三区艳史| 欧美日韩国产综合新一区| 亚洲精品一区二三区不卡| 亚洲人成啪啪网站| 亚洲免费av网址| 久久久久久久影视| 国产成人精品av在线| 国内精品美女av在线播放| 国产精品爽爽ⅴa在线观看| 91影院在线免费观看视频| 黑人巨大精品欧美一区二区一视频| 91亚洲国产精品| 国产精品亚洲视频在线观看| 日韩美女av在线| 8x拔播拔播x8国产精品| 亚洲激情视频网站| 亚洲久久久久久久久久| xxxxx成人.com| 日本91av在线播放| 国产精品爽爽ⅴa在线观看| 97国产精品人人爽人人做| 久热精品视频在线观看一区| 欧美另类老女人| 欧美国产第二页| 久久免费高清视频| 欧美理论电影网| 国产日韩欧美另类| 国产成人aa精品一区在线播放| 欧美另类第一页| 亚洲专区中文字幕| 欧美一区二区.| 日韩精品中文字| 日韩精品在线看| 亚洲最新av在线网站| 久久全国免费视频| 欧美午夜视频一区二区| 69av成年福利视频| 91精品国产色综合久久不卡98口| 一区二区中文字幕| 一区二区三区高清国产| www日韩欧美| 欧美成人免费一级人片100| 精品无码久久久久久国产| 日韩在线视频播放| 欧美在线播放视频| 欧美丰满少妇xxxxx| 夜夜狂射影院欧美极品| 红桃视频成人在线观看| 日韩高清中文字幕| 亚洲欧洲美洲在线综合| 久久久人成影片一区二区三区观看| 2019中文字幕在线观看| 91免费国产网站| 精品国产一区二区三区久久| 国产91精品久久久久久久| 欧美性受xxxx白人性爽| 国产欧美日韩中文| 国产一区二区免费| 91精品久久久久久久| 97国产精品视频人人做人人爱| 国产精品日日做人人爱| 久久久久久久国产精品视频| 久久艹在线视频|