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

首頁 > 編程 > .NET > 正文

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

2024-07-21 02:21:44
字體:
來源:轉載
供稿:網友
國內最大的酷站演示中心!
.net框架與網絡服務(下)
(作者:msdn 2001年02月06日 10:47)

  ■數據訪問服務
  幾乎所有的網絡服務都需要查詢和更新永久性數據,不論是以簡單文件,還是以相關數據庫,或是以其它的存儲類型存在。為了提供對數據的訪問,服務框架包括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運行語言假定失敗必會發生,因此它通常可以自動地從訪問沖突、內存泄漏、死鎖等事故中恢復過來。

  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
国产精品丝袜久久久久久不卡| 91色视频在线观看| 国产精品电影网| 久久国产精品久久久久久久久久| 国产精品久久网| 亚洲美女精品成人在线视频| 在线精品国产欧美| 色播久久人人爽人人爽人人片视av| 欧美日韩国产成人高清视频| 91高清免费在线观看| 精品国产欧美一区二区五十路| 精品色蜜蜜精品视频在线观看| 97av视频在线| 精品久久久久久久中文字幕| 一区二区三区久久精品| 欧美激情xxxx| 亚洲国产高清自拍| 欧美天天综合色影久久精品| 国产美女扒开尿口久久久| 中文字幕一区日韩电影| 国产乱肥老妇国产一区二| 国产精品精品久久久| 一个人看的www欧美| 亚洲国产天堂久久综合网| 国产精品免费视频xxxx| 国产午夜精品美女视频明星a级| 久久人人爽人人爽人人片av高清| 亚洲欧美国产精品va在线观看| 日韩av综合网| 亚洲电影免费观看高清完整版| 欧美精品videosex极品1| 精品久久久中文| 日韩精品有码在线观看| 亚洲欧美国产日韩中文字幕| 国产精品成av人在线视午夜片| xvideos国产精品| 亚洲一区999| 日韩av片免费在线观看| 久久在线精品视频| 国产一区二区三区欧美| 亚洲欧美激情另类校园| 国产亚洲欧美另类中文| 亚洲欧美国内爽妇网| 国产一区二区免费| 亚洲成人999| 最近2019年日本中文免费字幕| 日韩av在线影院| 国产精品视频男人的天堂| 91精品国产精品| 国产精品第一第二| www.国产一区| 久久精品亚洲国产| 亚州精品天堂中文字幕| 81精品国产乱码久久久久久| 国产精品旅馆在线| 欧美一区视频在线| 国产精品在线看| 亚洲欧美中文字幕| 中文字幕精品网| 一本色道久久88综合亚洲精品ⅰ| 成人免费在线视频网址| 91精品国产色综合久久不卡98口| 国产不卡精品视男人的天堂| 亚洲综合色av| 日韩三级成人av网| 亚洲最新在线视频| 91理论片午午论夜理片久久| 精品中文字幕在线2019| 欧美日韩视频在线| 热久久视久久精品18亚洲精品| 羞羞色国产精品| 国产中文欧美精品| 亚洲a级在线播放观看| 精品久久久999| 日韩av免费在线看| 亚洲电影在线看| 精品国产自在精品国产浪潮| 国产成人精品电影久久久| 欧美成人中文字幕在线| 97在线日本国产| 国产伦精品一区二区三区精品视频| 91精品国产91| 亚洲护士老师的毛茸茸最新章节| 国产欧美一区二区三区视频| 久久99国产综合精品女同| 岛国av一区二区在线在线观看| 日韩中文在线中文网三级| 91久久精品国产91性色| 日韩电影中文字幕在线观看| 青青精品视频播放| 精品中文字幕在线2019| 国产午夜精品美女视频明星a级| 国产在线视频2019最新视频| 国产噜噜噜噜噜久久久久久久久| 成人做爰www免费看视频网站| 亚洲香蕉成人av网站在线观看| 欧美成人午夜剧场免费观看| 亚洲va电影大全| 国产v综合v亚洲欧美久久| 裸体女人亚洲精品一区| 色阁综合伊人av| 国产999精品久久久影片官网| 国产精品永久免费观看| 美女精品视频一区| 91tv亚洲精品香蕉国产一区7ujn| 欧美综合在线观看| 国产精品亚洲网站| 国产精品99久久久久久久久久久久| 国产精品视频久久久久| 97视频免费看| 亚洲国产古装精品网站| 亚洲国产成人一区| 欧美中文字幕在线观看| 成人有码视频在线播放| 911国产网站尤物在线观看| 日韩成人av在线播放| 992tv成人免费视频| 久久精品国产成人精品| 亚洲人在线视频| 欧洲成人午夜免费大片| 日韩黄色av网站| 日韩电影免费观看在线观看| 久久男人资源视频| 国产成人精品a视频一区www| 国产免费一区二区三区在线能观看| 国产精品久久国产精品99gif| 97婷婷大伊香蕉精品视频| 国产精品久久久久久久9999| 精品久久香蕉国产线看观看亚洲| 日韩高清有码在线| 欧美成人小视频| 夜夜嗨av一区二区三区免费区| 性欧美长视频免费观看不卡| 国产精品久久久久久婷婷天堂| 亚洲欧洲一区二区三区久久| 欧美洲成人男女午夜视频| 亚洲成**性毛茸茸| 都市激情亚洲色图| 欧美高清理论片| 色偷偷av亚洲男人的天堂| 亚洲激情视频在线播放| 97成人精品区在线播放| 91精品国产成人| 亚洲欧美变态国产另类| 亚洲人成在线观看| 国产欧美最新羞羞视频在线观看| 欧美最猛性xxxx| 国产精品欧美一区二区三区奶水| 国产精品久久久久久久电影| 亚洲成人免费网站| 精品视频在线播放| 精品欧美aⅴ在线网站| 国产在线拍偷自揄拍精品| 久久精品中文字幕一区| 日韩av免费在线观看| 成人在线免费观看视视频| 亚洲自拍高清视频网站| 亚洲人成电影在线观看天堂色| 亚洲xxx大片| 色噜噜狠狠狠综合曰曰曰88av| 在线不卡国产精品| 久久精品国产亚洲精品2020| 久久天天躁夜夜躁狠狠躁2022| 亚洲二区中文字幕|