一. .NET Remoting 簡介:
.NET Remoting 從某種意義上講是 DCOM 的替代品。 ASP.NET Web 服務十分有用,但是這項技術在企業內聯網的解決方案中,對于某些業務請求來說并不快,也沒有足夠的靈活性,而且, ASP.NET Web 服務需要有運行時的支持。使用 .NET Remoting 技術后,可以將 Web 服務提供給世界上的任何地方。而且可以在所有的應用程序類型中運行 Web 服務。
二. .NET Remoting 的基本原理:
體系結構圖如下:
三.幾個重要的概念:
1 .遠程對象:
遠程對象類是從 MarshalByRefObject 類中派生的??缭綉贸绦蛴蛘{用這個類需要使用代理。 .NET Remoting 支持兩種類型的遠程對象:知名的( Well-known )遠程對象和客戶激活( Client-activated )遠程對象。遠程對象其實包括兩層含義:
操作遠程對象:對象運行在遠程,客戶段向他發送消息;
傳遞遠程對象:將遠程對象拿到本地,或者將本地對象發送過去,對副本進行操作。
2 .激活:
使用 new 運算符可以激活遠程對象。還有其它一些方式也可以激活遠程對象,在以后的隨筆里面我會介紹。
3 .通道:
一個遠程對象使用通道發送和接收消息。服務器選擇一個通道來監聽請求,客戶端選擇通道來和服務器通訊。 Remoting 提供了內置的通道: TCP 通道和 HTTP 通道,我們也可以編寫自己的通道。
4 .編組:
數組通過應用程序域被傳遞的過程稱為編組。將變量作為遠程對象的參數來發送時,這個變量必須被轉換,以便能夠通過應用程序域發送該變量。
5 .監聽:
使用監聽,能夠將某些功能置入到方法調用鏈中。如果調用某個對象的方法,監聽層便能夠捕獲調用來轉換方法調用,或是完成某些日志記錄。 .NET Remoting 調用鏈的每一部分都是用監聽。
四.開發 Remoting 三步走:
開發 .NET Remoting 分三步走,在這里以一個簡單的例子來說明。
1 .創建遠程對象:
繼承
System.MarshalByRefObject

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

2.創建宿主應用程序:
注冊通道
注冊服務器激活的遠程對象
運行宿主程序

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

3.建立客戶端程序:
注冊通道
根據 URL 得到對象代理
使用代理調用遠程對象

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
