private void OnNotifyError(MessageListener listener, Exception error) { if (this.NotifyError == null || listener == null) { return; } MessageNotifyErrorEventArgs args = new MessageNotifyErrorEventArgs(listener, error); ThreadPool.QueueUserWorkItem(delegate(object state) { this.NotifyError(this, state as MessageNotifyErrorEventArgs); }, args); }
static void Instance_NotifyError(object sender, MessageNotifyErrorEventArgs e) { Console.WriteLine("[{0}]消息发送失败!--IP:{1}; Port:{2}; Error:{3}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), e.Listener.FromIP, e.Listener.FromPort, e.Error.Message); Console.WriteLine("移除无效监听器……"); MessageCenter.Instance.RemoveListener(e.Listener); }