我有一个简单的WCF双工TCP服务,我试图以编程方式停止.如果我没有任何连接
用户,ServiceHost.Close()非常快,但如果我有一个连接
用户,我发现Close()
函数需要花费相当多的时间,有时> 30秒.这是通常的行为吗?
另一方面,Abort()几乎是瞬间的,我很想用它代替.
它可能是.
docs表示
The Close method allows any unfinished
work to be completed before returning.
For example,finish sending any
buffered messages.
Close()有一个重载,它接受TimeSpan(如果超过时间跨度则抛出)
Abort()看起来是无延迟地停止WCF主机的最佳方法.