我正在使用以下代码与MQQueue和MQQueueManager断开连接:
有什么想法为什么TCP连接没有完全关闭吗?是否有任何方法可以从代码中杀死它们?目前,我必须重新启动客户端应用程序以清理打开的连接。
WebSphere MQ版本为6.0.2.6,.NET库来自MQ 7。
Queue.Close(); log.Info( "Queue IsOpen: " + Queue.IsOpen.ToString() ); Queue = null;这是我的日志记录:
QueueManager.Disconnect(); QueueManager.Close(); log.Info( "QM IsOpen: " + QueueManager.IsOpen.ToString() ); log.Info( "QM IsConnected: " + QueueManager.IsConnected.ToString() ); QueueManager = null;
Queue IsOpen: false QM IsOpen: false QM IsConnected: false但是几个小时后,当我从命令提示符运行netstat -n命令时,我会得到一个长列表,其中的连接状态为CLOSE_WAIT。
有什么想法为什么TCP连接没有完全关闭吗?是否有任何方法可以从代码中杀死它们?目前,我必须重新启动客户端应用程序以清理打开的连接。
WebSphere MQ版本为6.0.2.6,.NET库来自MQ 7。