.net romoting 的EventWrapper類

.net romoting 的EventWrapper類?

注意:防火墻的問題

---------------------------------------------------

//定義廣播服務接口
? ? [Serializable]
? ? public delegate void BroadCastEventHandler(string info);


? ? public interface IBroadCastService
? ? {
? ? ? ? event BroadCastEventHandler BroadCastEvent;
? ? ? ? void BroadCastingInfo(string info);
? ? }


? ? //事件封裝類
? ? [Serializable]
? ? public class EventWrapper : MarshalByRefObject,IRegisterSelf
? ? {
? ? ? ? public event BroadCastEventHandler LocalBroadCastEvent;
? ? ? ? //[OneWay]
? ? ? ? public void BroadCasting(string info)
? ? ? ? {
? ? ? ? ? ? if (LocalBroadCastEvent != null)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? //LocalBroadCastEvent(message);
? ? ? ? ? ? ? ? BroadCastEventHandler tempEvent = null;
? ? ? ? ? ? ? ? int index = 1; //記錄事件訂閱者委托的索引,為方便標識,從1開始。
? ? ? ? ? ? ? ? foreach (Delegate del in LocalBroadCastEvent.GetInvocationList())
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? try
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? tempEvent = (BroadCastEventHandler)del;
? ? ? ? ? ? ? ? ? ? ? ? tempEvent(info);
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? catch(Exception ee)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? errorlog.WriteLine(ee.ToString());
? ? ? ? ? ? ? ? ? ? ? ? errorlog.WriteLine("事件訂閱者" + index.ToString() + "發生錯誤,系統將取消事件訂閱!");
? ? ? ? ? ? ? ? ? ? ? ? LocalBroadCastEvent -= tempEvent;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? index++;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? errorlog.WriteLine("EventWrapper中代理本地BroadCast事件為空!");
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? public override object InitializeLifetimeService()
? ? ? ? {
? ? ? ? ? ? return null;
? ? ? ? }


? ? ? ? #region IRegisterSelf 成員


? ? ? ? public void RegisterSelf()
? ? ? ? {
? ? ? ? ? ? RemotingConfiguration.RegisterWellKnownServiceType(typeof(EventWrapper), "EventWrapper", WellKnownObjectMode.Singleton);


? ? ? ? }


? ? ? ? #endregion
? ? }


? ? [Serializable]
? ? public class BroadcastEventArgs : EventArgs
? ? {
? ? ? ? private string msg = null;
? ? ? ? public BroadcastEventArgs(string message)
? ? ? ? {
? ? ? ? ? ? msg = message;
? ? ? ? }
? ? ? ? public string Message
? ? ? ? {
? ? ? ? ? ? get { return msg; }
? ? ? ? }
? ? }

轉載于:https://www.cnblogs.com/sqlite3/archive/2011/09/30/2566814.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/378139.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378139.shtml
英文地址,請注明出處:http://en.pswp.cn/news/378139.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一、織物組織相關基本概念

一、織物形成的五大運動:開口、引緯、打緯、送經、卷取 開口運動(先開口讓織物形成上下兩層) 引緯運動(在上下兩層經紗之間進行引緯,把緯紗穿入上下兩層經紗之間,從而實現經紗緯紗之間的交織) …

達爾豪斯大學計算機科學世界排名,達爾豪斯大學成了全加最好,這又是個什么排名?...

原標題:達爾豪斯大學成了全加最好,這又是個什么排名?沒有“八大”的知名,沒有“常春藤”的受寵,雖然它只是眾多名校中的普通一個,但只要你對它有個稍微的了解,你一定會愛上它的!它雖…

tag標簽記錄

看到項目代碼中有一個自定義的tag標簽,想起以前自己寫過的標簽,竟然忘記的差不多了,手一癢,自己寫個簡單的tag標簽,回顧一下歷史知識 首先建一個servlet工程,然后寫個index.jsp,項目跑起來&…

java類只讀怎么辦_如何在Java中制作一個只讀類?

java類只讀怎么辦The question is that "can we make a read-only class in Java?" 問題是“我們可以用Java制作一個只讀類嗎?” The answer is: "Yes, we can make a read-only in java." 答案是: “是的,我們可以在J…

LeetCode 53:最大子序和解題以及優化思路(第一次獨立刷題記錄)

給定一個整數數組 nums ,找到一個具有最大和的連續子數組(子數組最少包含一個元素),返回其最大和。 示例: 輸入: [-2,1,-3,4,-1,2,1,-5,4] 輸出: 6 解釋: 連續子數組 [4,-1,2,1] 的和最大,為 6。 進階: 如果你已經實現…

NHibernate 的 ID 標識選擇器

在 Hibernate 中,每個對象需要一個標識 ID,通過這個標識 ID 建立對象與數據庫中記錄的對應關系。 Nhibernate 提供了多種方式來建立這個 POID。基于不同的生成策略,可以選擇更佳的方式。 首先是賦值方式:assigned,這種…

三、規則組織的衍生組織——經山形組織數學模型的建立

基礎概念公式推到可參考該專欄下的前幾篇博文。 經山形組織圖: 左半部分:,3上2下1上2下,右斜,飛數為1 右半部分:,3上2下1上2下,左斜,飛數為-1 左右兩部分只有飛數是相…

c語言 函數的參數傳遞示例_scalbln()函數以及C ++中的示例

c語言 函數的參數傳遞示例C scalbln()函數 (C scalbln() function) scalbln() function is a library function of cmath header. It scales the significand using floating-point base exponent (long int) i.e. it is used to calculate the product of the given signific…

上周熱點回顧(7.8-7.14)

熱點隨筆: MingQQ v1.0高仿版開源了,使用WebQQ協議實現了QQ客戶端基本的聊天功能...(ZYM) 我的新書--《從員工到經理人》(Jimmy Zhang) MVC實用架構設計(三&#xff0…

儲存過程生成器

/Files/qanholas/SPGen_ReleaseCandidate1_Binaries.zip ---- Dropping stored procedure sp_費用表_SelectAll : --IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id OBJECT_ID(N[sp_費用表_SelectAll]) AND OBJECTPROPERTY(id, NIsProcedure) 1)DROP PROCEDURE [dbo].[sp…

基于計算機控制的溫度檢測系統,基于專用溫度傳感的溫度檢測系統.doc

基于專用溫度傳感的溫度檢測系統摘 要 在現代工業領域溫度檢測系統是指用某種方式顯示出當前的環境溫度。傳統使用PTC或NTC電阻作為溫度傳感器的方式在使用過程中存在著很多不足之處比如所采集溫度的精度比較低、系統的可靠性差、設計難度較大、整體設計成本較高等缺點已…

LeetCode 121:買賣股票的最佳時機 思考分析

題目描述: 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多只允許完成一筆交易(即買入和賣出一支股票一次),設計一個算法來計算你所能獲取的最大利潤。 注意:你不能在買入股票前賣出…

四、規則組織的衍生組織——經向破斜組織數學模型的建立

基礎概念公式推到可參考該專欄下的前幾篇博文。 經向破斜組織圖: 左半部分:,3上2下1上2下,右斜,飛數為1 右半部分:,2上1下2上3下。左斜,飛數為-1 左右兩部分,經緯紗組織…

EASYUI+MVC4通用權限管理平臺

通用權限案例平臺在經過幾年的實際項目使用,并取得了不錯的用戶好評。在平臺開發完成后,特抽空總結一下平臺知識,請各位在以后的時間里,關注博客的更新。 1.EASYUIMVC4通用權限管理平臺--前言 2.通用權限管理平臺--架構選型 3.通用…

int max+1小于0_INT_MAX常數,C ++中的示例

int max1小于0C INT_MAX宏常量 (C INT_MAX macro constant) INT_MAX constant is a macro constant which is defied in climits header, it is used to get the maximum value of a signed int object, it returns the maximum value that a signed int object can store, wh…

在計算機領域客觀事物的屬性表示為數據,數據與信息試題解析

一圖看懂數據與信息1、在計算機領域,信息是經過轉化而成為計算機能夠處理的__________。A.數據B.符號C.圖形D.數字答案:A。解析:本題考查有關信息基本概念的知識。信息是人們由客觀事物得到的。…

Mysql Data 目錄和 Binlog 目錄 搬遷

Mysql5.1.38 Data 目錄和 Binlog 目錄 搬遷 [mysql-bin.index not found (Errcode: 2)]Leave a comment Go to comments剛開始安裝時使用了默認目錄,使用一段時間,數據慢慢變在,發現當前設置的目錄空間不夠時,就要搬遷數據到另一個…

【數據結構基礎】【散列表】

散列表也叫做哈希表(hash table),這種數據結構提供了鍵(key)和值(value)的映射關系。只要給出一個key,就可以高效查找它匹配的value,時間復雜度接近O(1); 哈希函數 哈希函數通過某種方式,把key和數組下標進行轉換。 在java中,每…

VisualStudio運行C++項目檢測include<stdio.h>報錯解決方案

一、項目—>屬性 二、將SDL檢查更改為否即可

事業單位計算機技術崗工資,事業單位新入職的人員在管理崗位和技術崗位工資待遇是否有區別?...

解答于: 2016-05-24 17:17工傷保險條例對工傷工資待遇有說明: 第三十一條職工因工作遭受事故傷害或者患職業病需要暫停工作接受工傷醫療的,在停工留薪期內,原工資福利待遇不變,由所在單位按月支付。  停工留薪期一般…