private void EndPointCreatedEventHandler(object sender, AdapterEndPointEventArgs e) { ContextTraceListener contextListener = ((ContextTraceListener)MessageEngine.Instance.Tracing.Listeners["ContextTraceListener"]); if (contextListener != null) { contextListener.ResetContext(); } }
private void EndPointDestroyedEventHandler(object sender, AdapterEndPointEventArgs e) { string sessionId = e.EndPoint.Uri.Host; ClientSession session = SessionManager.Instance[sessionId]; if (session != null) { session.Kill(); } }
private void EndPointDestroyedEventHandler(object sender, AdapterEndPointEventArgs e) { syncLock.AcquireWriterLock(MessageEngine.Instance.LockMillisecondsTimeout); try { instanceDictionary.Remove(e.EndPoint); } finally { syncLock.ReleaseWriterLock(); } if ((MessageEngine.Instance.Tracing.Switch.Level & SourceLevels.Verbose) == SourceLevels.Verbose) { MessageEngine.Instance.Tracing.TraceEvent(TraceEventType.Verbose, 0, "{0}: Instance destroyed for EndPoint: \"{1}\".", componentType.Name, e.EndPoint.Uri); } }
private void EndPointDestroyedEventHandler(object sender, AdapterEndPointEventArgs e) { TcpAdapterEndPoint endPoint = (TcpAdapterEndPoint)e.EndPoint; VocollectSession session = null; lock (endPointDictionary) { if (endPointDictionary.ContainsKey(endPoint)) { session = endPointDictionary[endPoint]; endPointDictionary.Remove(endPoint); } } if (session != null) { try { if (endPoint.Exception != null) { session.ReleaseLock(false); /* Do not log ObjectDisposedException since this indicates we got a timeout */ if (!(endPoint.Exception is ObjectDisposedException)) { if ((MessageEngine.Instance.Tracing.Switch.Level & SourceLevels.Error) == SourceLevels.Error) { MessageEngine.Instance.Tracing.TraceData(TraceEventType.Error, 0, endPoint.Exception); } } } else { session.ReleaseLock(true); } } catch (ObjectDisposedException) { //Session has been disposed } } }