以下を書くとき、私のコードはGetResponseにロックされます。なんで?
try
{
WebRequest myWebRequest = WebRequest.Create(strURL);
WebResponse myWebResponse = myWebRequest.GetResponse();
//more code here
以下を書くとき、私のコードはGetResponseにロックされます。なんで?
try
{
WebRequest myWebRequest = WebRequest.Create(strURL);
WebResponse myWebResponse = myWebRequest.GetResponse();
//more code here
これは通常、同じホストに複数のリクエストを行い、を破棄しなかった場合に発生しますWebResponse
。
デフォルトの接続管理設定では、同じホストへの接続を一度に2つ(または4つ、覚えていないかもしれません)しか開くことができません。これを本当に<connectionManagement>
変更する必要がある場合は、 app.config要素を使用してください。ただし、通常は、次のものを破棄するだけで問題ありませんWebResponse
。
try
{
WebRequest myWebRequest = WebRequest.Create(strURL);
using (WebResponse myWebResponse = myWebRequest.GetResponse())
{
//more code here