3

Webアドレスを何度も呼び出すプロジェクトに取り組んでいます

request = (HttpWebRequest)WebRequest.Create(url);
request.GetResponse();    

これが私のコードです。それはループにあり、2回は機能しますが、3回目の繰り返しでハングします。クラッシュやエラーはありません。よろしくお願いします。どんな助けでも大歓迎です。

エラー : 20 分待ってから。

System.Net.WebException was unhandled
Message=The operation has timed out
Source=System
StackTrace:
   at System.Net.HttpWebRequest.GetResponse()
   at ConsoleApplication1.Program.Main(String[] args) in C:\WorkSpace\ConsoleApplication1\ConsoleApplication1\Program.cs:line 48
   at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

内部例外:

4

1 に答える 1

5

次のことを試してください。

var response = request.GetResponse();
//do stuff with response
response.Close();

インスタンスはWebResponseアクティブな接続を保持しているため、同じサーバーへの新しい接続を確立する前に、その接続を閉じる必要があります。

句を使用してこれを行うこともできusingます。それは本当にあなた次第です:

using (var response = request.GetResponse())
{
    //do stuff with response
}
于 2012-10-31T11:18:29.303 に答える