すべてexamples私はあなたがレスポンスを廃棄する必要がないことを見てきました。 HttpResponseExceptionにソースコードを見てみると
public Product GetProduct(int id)
{
Product item = repository.Get(id);
if (item == null)
{
var resp = new HttpResponseMessage(HttpStatusCode.NotFound)
{
Content = new StringContent(string.Format("No product with ID = {0}", id)),
ReasonPhrase = "Product ID Not Found"
}
throw new HttpResponseException(resp);
}
return item;
}
、その値を持つプロパティ(HttpResponseMessage Response
)を移入し、それを処分することは、おそらくどちらかHttpResponseMessageを引き起こす説明ObjectDisposedExceptionが発生したり、クライアントに配信することができないだろうと思われます。
また、ソースコードにSupressMessageがあることがわかります:
[SuppressMessage("Microsoft.Reliability",
"CA2000:Dispose objects before losing scope",
Justification = "Instance is disposed elsewhere")]
インスタンスを別の場所(これは、それはIDisposableインターを実装していない、HttpResponseMesssageに言及されていない)で配置されています。
これを処理する正しい方法は何ですか?
あなたのコードを変更する必要はありません。
それは、彼らが自分のクラスをこのように構造化するであろうことは興味深いです。私はドキュメントで役立つものは何も見つかりませんでしたが、[this constructor](http://msdn.microsoft.com/en-us/library/hh835324(v=11118).aspx)代わりに状態コード? –
"はあまり早く処分されないでしょうか?"何かのために早すぎる、正確に? – spender
@spender、私は、OPがクライアントに応答をストリーミングできるようになる前にそれが処分されると述べていると思います。 –