0
學習從INGO RAMMER的「高級.NET遠程」,我試圖用下面的代碼觸發事件給客戶:事件問題在.NET遠程
foreach (Delegate del in MessageArrived.GetInvocationList())
{
try
{
mah = (MessageArrivedHandler) del;
mah(msg);
}
catch (Exception e)
{
Console.WriteLine("Exception occured, will remove Delegate");
MessageArrived -= mah;
}
}
當我模擬了客戶端的網絡問題,客戶的委託被 - =按預期移除,並且MessageArrived變爲空。
但隨着網絡恢復,客戶端將嘗試連接,獲取遠程對象並重新註冊事件,因爲它對於啓動而言是一樣的,因爲MessageArrived不爲空,似乎重新註冊成功。
問題是我仍然有異常將調用委託,然後刪除。據我瞭解,這不會提高expcetion因爲。客戶端再次聯機並重新連接()和連接()方法共享相同的代碼...
任何人都可以幫我嗎?