中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

回顧.NET Remoting分布式開發(fā)

  記得在下第一次接觸.NET Remoting分布式開發(fā)是在2003年,那時(shí)候是Framework1.0初次亮相之時(shí),Remoting分布式開發(fā)是Framework1.0其中一個(gè)亮點(diǎn)。經(jīng)過(guò)多年的發(fā)展,在2005年,WCF隨著Framework2.0首先亮相。WCF是結(jié)合Remoting,Web服務(wù),TCP/IP套接字,MSMQ信息,P2P,WSE等多方通訊的混合體。

  隨著WCF的出現(xiàn)是否意昧著Remoting即將沒(méi)落,答案是否定的。因?yàn)镽emoting有其獨(dú)到之處,在通訊效率,信息交換,安全性等多方面都有其特點(diǎn),所以在企業(yè)內(nèi)部系統(tǒng)的信息化交換層的開發(fā)當(dāng)中,很多時(shí)候會(huì)使用Remoting進(jìn)行開發(fā),在下面幾章為大家回顧一下Remoting的開發(fā)。

  一、基礎(chǔ)概念

  Remoting是采用分布式進(jìn)行編程的一種技術(shù),主要用于管理跨應(yīng)用程序域的同步和異步RPC 會(huì)話。在默認(rèn)情況下,Remoting可從使用 HTTP 或 TCP 協(xié)議進(jìn)行信息通訊,并使用 XML 編碼的 SOAP 或二進(jìn)制消息格式進(jìn)行數(shù)據(jù)交換。.NET Remoting 提供了非常靈活和可擴(kuò)展的編程框架,并且可以管理對(duì)象的狀態(tài)。Remoting跟Web服務(wù)不同,它并不依賴于IIS,用戶可以自己開發(fā)(Development)并部署(Dispose)宿主服務(wù)器,只需要服務(wù)器支持Framework。

  二、Remoting的特點(diǎn)

  Remoting可以靈活的定義其所基于的協(xié)議,比如http,tcp等。在使用TCP/IP的時(shí)候,Remoting能發(fā)揮更高的效率,其性能接近于DCOM。

  Remoting一般需要通過(guò)一個(gè)應(yīng)用程序或是Windows服務(wù)來(lái)承載,也可以使用iis部署。

  Remoting必須要在一個(gè)支持Framework的開發(fā)環(huán)境下進(jìn)行開發(fā),無(wú)論客戶端跟服務(wù)器端都必須支持Framework。

  Remoting 支持許多狀態(tài)管理選項(xiàng),并且可能與來(lái)自同一個(gè)用戶的多個(gè)調(diào)用相關(guān)或不相關(guān),這取決于您選擇的對(duì)象生命周期架構(gòu)。

  三、利用Remoting實(shí)現(xiàn)分布式開發(fā)的優(yōu)點(diǎn)

  • 容錯(cuò)性

  容錯(cuò)性是指一個(gè)系統(tǒng)在出現(xiàn)故障時(shí),系統(tǒng)應(yīng)當(dāng)能及時(shí)恢復(fù)。利用Remoting實(shí)現(xiàn)分布式應(yīng)用開發(fā)可以建立容錯(cuò)軟件系統(tǒng),當(dāng)某個(gè)功能發(fā)生錯(cuò)誤時(shí),不會(huì)影響整體系統(tǒng)的工作。使系統(tǒng)能夠及時(shí)維護(hù)及更新。

    • 可擴(kuò)展性

      可擴(kuò)展性是指系統(tǒng)可以利用性能上的遞增處理日益增加的負(fù)載量。利用Remoting實(shí)現(xiàn)分布式開發(fā),可以將最重要的核心功能模塊放置于性能強(qiáng)大的幾臺(tái)主機(jī)上,把其他的功能放置于功能稍差的客戶端機(jī)上,隨著客戶的增加而加大客戶端主機(jī)的服務(wù)。這樣做可以減少開發(fā)成本,提高主體性能。

    • 易于管理

      一個(gè)大型計(jì)算機(jī)管理系統(tǒng)是非常復(fù)雜的,可能涉及的是異地機(jī)器之間的代碼調(diào)節(jié)。利用Remoting實(shí)現(xiàn)分布式開發(fā),可以把核心的功能代碼移植到中央服務(wù)器,把頁(yè)面層,UI層等功能于客戶端實(shí)現(xiàn)。這樣系統(tǒng)的性能調(diào)節(jié),代碼升級(jí)都可以在中央服務(wù)器里綜合實(shí)現(xiàn),而忽略對(duì)客戶端的影響。

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

      下面詳細(xì)介紹一下Remoting的體系結(jié)構(gòu),如下圖。

      在客戶發(fā)送請(qǐng)求時(shí)可以通過(guò)Activator.GetObject()和Activator.CreateInstance()返回一個(gè)透明代理對(duì)象。實(shí)際上透明代理就像一個(gè)遠(yuǎn)程對(duì)象,它執(zhí)行遠(yuǎn)程對(duì)象的所有公共方法,這些方法調(diào)用真實(shí)對(duì)象的Invoke()方法,傳送包含方法調(diào)用的消息。

      當(dāng)消息進(jìn)入Channel通道后,就會(huì)經(jīng)過(guò)接收器處理。接收器包含格式接收器、通道接收器和傳輸接收器,其中格式接收器和傳輸接收器是必要的。首先格式接收器會(huì)使用SoapFormatter或BinaryFormatter的方式對(duì)傳輸?shù)膶?duì)象進(jìn)行序列化,如果用戶設(shè)定了通道接收器,系統(tǒng)將會(huì)對(duì)其進(jìn)行對(duì)應(yīng)處理,最后把信息送到傳輸接收器,對(duì)應(yīng)設(shè)定TCP或HTTP傳輸方式加入傳輸接收器頭。當(dāng)信息發(fā)送到服務(wù)器服務(wù)器將會(huì)根據(jù)傳輸接收器頭對(duì)信息進(jìn)行處理,然后在格式化接收器中對(duì)信息進(jìn)行反序列化,最后通過(guò)真實(shí)代理處理遠(yuǎn)程對(duì)象。至于通道接收器的處理方式,將在后幾章為大家進(jìn)一步地介紹。


      五、簡(jiǎn)單實(shí)例

      說(shuō)了這么多,下面就以一個(gè)簡(jiǎn)單的例子說(shuō)明一下Remoting的開發(fā)過(guò)程吧。

      首先建立一個(gè)Model.dll,注意因?yàn)閷?duì)象要進(jìn)行序列化轉(zhuǎn)化,必須對(duì)其加上Serializable特性!

    代碼
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Model
    {
    [Serializable]
    public class Person
    {
    public int ID
    {
    get;
    set;
    }

    public String Name
    {
    get;
    set;
    }

    public int Age
    {
    get;
    set;
    }
    }
    }

    NET技術(shù)回顧.NET Remoting分布式開發(fā),轉(zhuǎn)載需保留來(lái)源!

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

    主站蜘蛛池模板: 超碰成人在线观看 | 人人插人人 | 99这里只有精品视频 | 黄视频网站免费观看 | 99免费视频| 国产午夜精品一区二区三区四区 | 精品成人佐山爱一区二区 | av资源网站 | 夜夜操天天干 | 东方伊人免费在线观看 | 99亚洲精品| 成人精品一区二区三区四区 | 久草青青草 | 国产二区三区 | 精品一区二区视频 | 亚洲性在线 | 亚洲国产精品久久 | 亚洲第一福利视频 | 成人日韩av | 久久一二 | 99成人| 黄色一级毛片 | 欧美黄色片在线观看 | 少妇一级淫片免费放播放 | 久久av网 | 天堂在线中文 | 天天操夜夜艹 | 高清免费av | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 免费久| 久久91精品久久久久久9鸭 | 天天综合网7799精品 | 亚洲精品一区二区 | 可以在线看的黄色网址 | 在线国产欧美 | 狠狠干综合视频 | 久久日韩粉嫩一区二区三区 | 中文字幕高清av | 在线播放国产一区二区三区 | 亚洲精品91 | 美女天天操 |