Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试删除时侦听器挂起_C#_Listener_Trace - Fatal编程技术网

C# 尝试删除时侦听器挂起

C# 尝试删除时侦听器挂起,c#,listener,trace,C#,Listener,Trace,我有一个按钮连接到下面的开始和停止。多次单击按钮后,应用程序将挂起到Trace.Listeners.Remove(\u listener)上。知道为什么吗 public void StartListener(ITraceTextSink sink) { if (_listener != null) return; _listener = new TraceSource(sink); Trace.AutoFlush = true; Trace.Listeners.A

我有一个按钮连接到下面的开始和停止。多次单击按钮后,应用程序将挂起到Trace.Listeners.Remove(\u listener)上。知道为什么吗

public void StartListener(ITraceTextSink sink)
{
    if (_listener != null) return;
    _listener = new TraceSource(sink);
    Trace.AutoFlush = true;
    Trace.Listeners.Add(_listener);
 }

public void StopListener()
{
    if (_listener == null) return;
    Trace.Listeners.Remove(_listener);
    _listener.Dispose();
    _listener = null;
}

套接字关闭,等待基于超时的客户端确认。如果没有正确连接客户端,它将挂起。首先,永远不要关闭与服务器的连接,因为如果客户端和服务器同时尝试关闭连接,则可能会发生潜在错误。我将实现一个Keep-Alive,它将自动关闭空闲连接。然后在尝试停止连接之前测试套接字是否关闭。不确定我是否理解。我正在对UI使用WPF跟踪项。侦听器是TCP套接字。好的,谢谢您提供的信息!我将尝试其他方法。