WCF(http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24644)のための「Rest toolkit」のHttpClientクラスを使用して、作成したRest-serverを統合しています。WCFのHttpClientとの接続を強制的に終了する
"接続"ヘッダーに関係なく、サーバーは現在接続を常に閉じています(これは開発中ですので、今は問題ありません)。
HttpClientインスタンスに接続を常に閉じる(またはサーバーが閉じることを承認する)ようにするにはどうすればよいですか。私は "Connection:close"ヘッダーを追加しようとしましたが、例外として "接続"が許可されたヘッダーではありませんでした。私もDefaultHeaders.Connection.Close = trueを設定しようとしましたが、これは何の違いもないようです。私はまだPOSTが完了した後にnetstatとの接続を見ることができます。
(体とURIは文字列です)
HttpClient client = new HttpClient();
client.DefaultHeaders.Connection = new Connection();
client.DefaultHeaders.Connection.Close = true;
HttpContent content = HttpContent.Create(body);
HttpResponseMessage res = client.Post(new Uri(uri), content);
ここでの問題は、私たちがPOST、呼び出しがわずか数ブロックを行う次回ということです。これは、クライアントによって接続が維持されているため、これはサーバーによってサポートされていないためです。
HttpClientのIDisposable.Dispose(bool)実装が空白です。 – Anders