我有以下代码:
using (var fact = new WebChannelFactory<IService<Message>>(binding,
commsSettings.MessageEndPoint()))
{
using (IDisposable channel = (IDisposable)fact.CreateChannel())
{
service = (IService<Message>)channel;
service.Create(AlertMessage);
((IClientChannel)channel).Close();
}
fact.Close();
}
即使我正在处理 WebChannelFactory 和 Channel 本身,它们也会打开连接。我知道这一点,因为在性能测试中,调用在第 10 次调用时开始超时,如果我在命令行中执行 netstat -a,我可以看到在我的本地机器和它自身之间的端口 80 上打开了一大堆套接字。
如何让代理关闭其套接字?