一步一步學Remoting之六 事件

2021-05-09 02:26:31 字數 674 閱讀 4461

我們先來改造一下上次的程式,為上次的主線程方法新增事件,能不斷的引發事件來匯報處理的進度:

public

class

myeventargs }

public

myeventargs(

intrate) }

public

class

myobject

console.writeline(

"主線程方法結束

");

} protected

void

onmyevent(myeventargs e) }

} 再來為事件新增處理程式:

class

myclient

public

static

void

obj_myevent(

object

sender,myeventargs e)   }

執行程式可以看到:

這個是本地的,遠端物件的事件也這麼簡單嗎?其實沒有想象的簡單,因為物件是在遠端的,服務端的事件客戶端怎麼捕捉?應該說遠端物件的事件可以分成客戶端觸發-》伺服器應答,服務端觸發-》客戶端應答和客戶端觸發-》客戶端應答,第一種就很簡單了,後面2種都需要有乙個中介軟體。下面我們來要為程物件同樣來新增乙個進度機制,首先來建立我們的遠端物件:

一步一步學Remoting之六 事件(2)

原創 一步一步學remoting之六 事件 2 到了午休的時間,抓緊時間繼續寫,上次說有2個遺留問題 1 關閉乙個客戶端以後會影響其他的客戶端事件 原因 客戶端沒有取消事件訂閱就關閉了,觸發事件的時候找不到事件訂閱者 解決 遍歷委託鏈,找到異常的物件,從委託鏈中卸下 2 伺服器端對客戶端廣播,客戶端...

一步一步學Remoting之六 事件(2)

到了午休的時間,抓緊時間繼續寫,上次說有2個遺留問題 1 關閉乙個客戶端以後會影響其他的客戶端事件 原因 客戶端沒有取消事件訂閱就關閉了,觸發事件的時候找不到事件訂閱者 解決 遍歷委託鏈,找到異常的物件,從委託鏈中卸下 2 伺服器端對客戶端廣播,客戶端能收到其他客戶端的事件處理資訊 原因 使用了si...

原創 一步一步學Remoting之六 事件(2)

原創 一步一步學remoting之六 事件 2 到了午休的時間,抓緊時間繼續寫,上次說有2個遺留問題 1 關閉乙個客戶端以後會影響其他的客戶端事件 原因 客戶端沒有取消事件訂閱就關閉了,觸發事件的時候找不到事件訂閱者 解決 遍歷委託鏈,找到異常的物件,從委託鏈中卸下 2 伺服器端對客戶端廣播,客戶端...