아래 코드를 작성할 때 GetResponse에 내 코드가 잠겨 있습니다. 왜?WebRequest.GetResponse가 잠겨 있습니까?
try
{
WebRequest myWebRequest = WebRequest.Create(strURL);
WebResponse myWebResponse = myWebRequest.GetResponse();
//more code here
아래 코드를 작성할 때 GetResponse에 내 코드가 잠겨 있습니다. 왜?WebRequest.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
I <3 Jon Skeet이 문제를 완전히 수정했습니다. 다시 나는 처분을 확인하지 않았을 것이다. 감사. –
그건 나에게 도움이 안된다. 나는 "using"접근 방식을 시도 했었고, using 내부의 응답에서 Close를 수행했지만, 여전히 같은 문제를 겪고있다. – Ted
내 질문에 대한 답변 : http://stackoverflow.com/questions/8377185/c2dm-frequent-timeouts-or-errors-when-sending-webservice-does-not-respond – Ted
어떤 문제를 HTTP에서이 작업을 시도 할 때 : // localhost를 뭐죠 URI를 ? –
진단에 필요한 정보가 충분하지 않습니다. 어떤 URL을 사용하든 상관없이 하나의 URL 만 사용합니까? 일관되게 발생합니까? 브라우저에서 URL에 액세스하려고하면 어떻게됩니까? –