次のコードがあります。
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 とチャネル自体を破棄していますが、接続を開いたままにしています。私がこれを知っているのは、パフォーマンス テストでは、呼び出しが 10 回目の呼び出しでタイムアウトになり、コマンド ラインで netstat -a を実行すると、ポート 80 でローカル マシンとそれ自体の間で多数のソケットが開いていることがわかるからです。
プロキシのソケットを閉じるにはどうすればよいですか?