亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        分布式系統(tǒng)的新型框架—.NETRemoting

        2012-09-21 07:14:12范文廣黃存東
        長春大學學報 2012年10期
        關(guān)鍵詞:接收器調(diào)用生存期

        范文廣,黃存東

        (安徽國防科技職業(yè)學院,安徽 六安 237011)

        隨著計算機的發(fā)展,特別是軟件技術(shù)的開發(fā),對開發(fā)人員的開發(fā)效率要求越來越高,而傳統(tǒng)的開發(fā)工具和技術(shù)存在較大的限制,.NET是專門為程序員設計,具有很強大的功能,在此平臺上開發(fā)應用程序?qū)⒆兊姆浅H菀住?NET Framework[1]是.NET的精髓,在.NET Framework中所創(chuàng)建的對象不可避免地將同其他主機上的對象通信,在此過程體系結(jié)構(gòu)中都要通過Remoting來實現(xiàn)。

        1 Remoting

        在.NET Framework中,對象與對象之間或進程與進程之間相互通信[2]的方式是Remoting。在調(diào)用系統(tǒng)服務提供的方法時,不能把所有的服務導入應用程序且運行它的一個方法,而是通過調(diào)用請求,按照一定的規(guī)則插入正在運行的進程,這樣才能使對象的運行保持安全、有效。

        進程之間的通信是由多種線程模型和調(diào)度機制來完成,在分布式應用中,進程邊界問題會大量增加,通過向應用服務器調(diào)度一個線程時,必須遵守一定的規(guī)則獲得對象的訪問權(quán),同時按照一定的方式包裝對象以便傳送。在.NET[3]中,對于邊界問題的處理通過應用程序域去實現(xiàn),通過.NET Remoting提供的服務會使不同應用程序域中的對象相互交互和通信。通信選項的設置可以在配置文件中進行控制,一般可以選用TCP/IP、HTTP或其他任何一種傳輸協(xié)議;選用XML/SOAP或其他通用的串行化格式;可以通過服務器或客戶機激活對象。

        2 Remoting體系結(jié)構(gòu)

        2.1 通道

        通道是一種消息傳輸機制,是通過設置一定的協(xié)議和格式實現(xiàn)遠程應用程序與.NET Framework之間對話,是通道接收器的集合,又稱之為接收器鏈,它為信息的傳送和接收提供特殊的協(xié)議。.NET Framework為我們提供了兩個完整的通道:TcpCHannel和HttpCHannel,它們分別在Tcp和Http命名空間中,可供服務器和客戶端收發(fā)消息使用,可在對象中使用這類型而不必考慮通道接口的細節(jié)。

        若要利用Remoting進行通信,就必須有可用的通道,.NET Framework通過Configuration類來處理通道的注冊。在服務器和客戶端對象的通信過程中,若客戶端應用程序要從服務器對象返回一個對象或值時,就必須注冊一個客戶端偵聽通道并與服務器使用的通道相兼容,使用相同格式化接收器和協(xié)議,使消息串行化和解串。通道注冊的端口往往是唯一的,它們的結(jié)合也形成了一個唯一傳輸路徑。

        2.2 應用程序域

        應用程序域[4]是整個Framework內(nèi)的隔離機制,是為應用程序設立的執(zhí)行邊界,在不同域的對象之間通信和調(diào)用對象時,必然要用Remoting使得通信和調(diào)用順利進行,如同操作系統(tǒng)中的進程隔離。在一個應用程序域中可以有多個進程,其本身可作為一個邏輯進程,在有托管代碼的地方使用隔離。

        應用程序域通常用在不同服務器間通信的時候和出于安全原因,前者主要是不同物理服務器創(chuàng)建的對象不能存于同一個域中,后者是一個應用程序失敗不會導致其他應用程序失敗,在邏輯進程之外也不能復制對象的內(nèi)部狀態(tài),不會影響域外的其他對象。一般可以通過System.AppDomain類來配置應用程序域,域的邊界可由.NET Framework運行主機如ASP.NET、internet Explorer等進行設置。

        2.3 Remoting體系結(jié)構(gòu)

        在服務器和客戶端進行通信過程中,當調(diào)用遠程對象的方法時,需要在客戶端配置一個合適的通道來實現(xiàn),比如:

        注冊完通道后,可以在配置文件中通過指定的URI的方法來訪問遠程對象。

        通道注冊完并請求對象后,在遠程運行時將在客戶端應用程序域中創(chuàng)建一個代理,遠程系統(tǒng)將處理發(fā)送給對象的信息,經(jīng)過格式化接收器串行化[1]后,在通道中傳送,這些信息通過服務器格式化接收器解串,按來時的路徑回送返回值。具體過程如圖1所示。

        圖1 Remoting過程中涉及的對象

        3 Remoting激活

        遠程對象一般可通過服務器或客戶端兩種方式激活,根據(jù)激活方式的不同來決定對象的位置以及其生存期,他們的主要區(qū)別是,創(chuàng)建對象的時間和對象的生存期。

        3.1 服務器激活

        服務器激活對象是指對象的生存期是由服務器上的主機服務來控制,只有在客戶端發(fā)出方法調(diào)用請求時才被激活。其中主機服務是為某個或多個庫的集合充當主機角色的應用程序,對象的創(chuàng)建方法是由客戶端配置所控制??蛻舳伺渲昧薟ell-Known對象時并且是服務器激活的,在客戶端有兩種對象引用的方法,一種是用Activator.GetObject調(diào)用:

        這兩種引用都依賴于使SimpleLibrary對象在指定的終點可用的本地引用的類型信息,因此無論Well-Known配置使用new操作符,還是在客戶端使用GetObject時,都要從已知類型創(chuàng)建一個本地代理而無須向服務器發(fā)出請求,從而不能在遠程對象上使用參數(shù)化的構(gòu)造函數(shù)。

        3.2 客戶端激活

        客戶端激活對象的生存期由客戶端控制,是在對象引用時向服務器發(fā)出請求以創(chuàng)建對象的實例,服務器上的對象會在客戶端對象調(diào)用完后自動銷毀。客戶端在向同一個對象發(fā)出請求后,會收到該對象的新實例,這時我們可以調(diào)用RemotingConfiguration.RegisterActivatedClientType來把遠程對象設置成客戶端激活對象,該調(diào)用要使用對象類型及其URI。

        在此調(diào)用中,沒有服務器的類型名稱,因為在服務器上注冊客戶端激活時無須調(diào)用一個終點。為使服務器根據(jù)客戶端的請求激活對象,必須使用RemotingConfiguration.RegisterActivatedServiceType而不是Wellknown類型。

        3.3 生存期服務

        服務器激活對象是通過配置為Singletons或SingleCall對象來控制其生存期[5]。SingleCall對象是在客戶端第一次調(diào)用時創(chuàng)建的,當返回后就銷毀。Singletons則是由一個方法調(diào)用創(chuàng)建的,其生存期在服務器上是可以配置的,無論對象有沒有使用,它都會生存到其租借期結(jié)束為止。租借期作為對象上的租借時間,可以由對象創(chuàng)建者設置,或由對象自己設置,在租借期過期后將由無用單元回收器回收,在租借期內(nèi)被使用的話,對象可以續(xù)借新的租借時間。

        Well-Know類型可以由主機服務配置租借期,也可自己控制其生存期。一般在機器配置文件中,第一次激活為30秒,租借期過期前再次請求是2秒鐘;客戶端激活租借期是通過RemotingServicee.GetLifetimeService來獲得租借期引用。

        4 結(jié)語

        在.NET Framework中,Remoting Framework處理遠程對象間的交互。客戶端通過一定的通道和終點URI向遠程對象發(fā)出請求,此時由Remoting為客戶端創(chuàng)建引用,并可以使用服務器激活或客戶端激活方式,前者可以在已注冊的Well-known類型[6]上用new操作符創(chuàng)建,也可用GetObject創(chuàng)建基于本地注冊類型的代理來實現(xiàn);后者可通過new操作符或CreateInstance來獲取客戶端激活對象。

        [1]Kevin Hoffman.NET Framework高級編程[M].北京:清華大學出版社,2002.

        [2]李乃乾.NET Remoting及其在證券實時分析系統(tǒng)中的應用[J].計算機與數(shù)字工程,2010(1):164-189.

        [3]葉嵩.基于Web技術(shù)的協(xié)同辦公系統(tǒng)設計[M].成都:電子科技大學出版社,2005.

        [4]欒成軍,譚聞捷.基于Remoting設計安全的數(shù)據(jù)庫系統(tǒng)[J].電腦知識與技術(shù),2008(7):1191-1194.

        [5]王翔.基于.NET Remoting的CNG管理系統(tǒng)的設計與實現(xiàn)[J].計算機系統(tǒng)應用,2009(5):5-8.

        猜你喜歡
        接收器調(diào)用生存期
        核電項目物項調(diào)用管理的應用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        JXG-50S型相敏軌道電路接收器自動測試臺
        埃及
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        鼻咽癌患者長期生存期的危險因素分析
        胃癌術(shù)后患者營養(yǎng)狀況及生存期對生存質(zhì)量的影響
        癌癥進展(2016年11期)2016-03-20 13:16:04
        術(shù)中淋巴結(jié)清掃個數(shù)對胃癌3年總生存期的影響
        ZPW-2000A軌道電路接收器冗余電路存在問題分析及對策
        健脾散結(jié)法聯(lián)合化療對56例大腸癌Ⅲ、Ⅳ期患者生存期的影響
        又硬又粗进去好爽免费| 91极品尤物在线观看播放| 亚洲精品女优中文字幕| 中文字幕乱码亚洲无限码| 国产女人的高潮国语对白| 99精品视频69V精品视频| 产精品无码久久_亚洲国产精| av在线播放免费观看| 亚洲av无码精品色午夜app| 国产午夜精品一区二区三区不卡 | 亚洲一区二区自偷自拍另类| 99在线精品免费视频| 国产欧美亚洲精品a| 中文字幕久久精品波多野结百度| 亚洲一区二区三区免费的视频| 激情内射亚洲一区二区三区| 少妇人妻200篇白洁| 欧美v日韩v亚洲综合国产高清| 天堂一区二区三区精品| 日韩精品专区av无码| 亚洲国产区男人本色| 亚洲免费不卡av网站| 亚洲国产精品久久无人区| 色欲色欲天天天www亚洲伊| 国产第一草草影院| 国产一区二区三区免费小视频| 精品综合一区二区三区| a级大胆欧美人体大胆666| 色综合久久久久综合999| 成年人视频在线观看麻豆| 综合色就爱涩涩涩综合婷婷| 亚洲第一成人网站| 亚洲一区二区三区成人在线| 精品国产成人av久久| 一本色道久久99一综合| 国产高潮流白浆免费观看不卡| 亚洲一区二区精品在线| 极品白嫩的小少妇| 国产精品一区高清在线观看| 国产精品天堂在线观看| 久久无码字幕中文久久无码|