문제

팔로우 코드 (ASP.NET 2.0에서 실행)는 요청 된 URL의 내용을 표시합니다. 두 배. 요청 된 URL의 내용을 한 번만 표시하기를 원합니다. 내가 무엇을 잘못하고 있는지 알 수 없습니다. 요청 된 URL은 XML을 반환하고 URL을 직접 방문하면 제대로 작동합니다.

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
byte[] postDataBytes = Encoding.UTF8.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/xml";
request.ContentLength = postDataBytes.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(postDataBytes, 0, postDataBytes.Length);
requestStream.Close();

// get response and write to console
response = (HttpWebResponse) request.GetResponse();
StreamReader responseReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
try {
   Response.Write(responseReader.ReadToEnd());
}
finally {
   responseReader.Close();
}
response.Close();
도움이 되었습니까?

해결책 3

나는 문제를 발견했다. 위의 코드가 전혀없는 것이 아니라 페이지가 호출됩니다. 내가 호출 한 페이지는 page_oninit 메소드에 다음 줄을 포함하는 클래스에서 상속되었습니다. 분명히, 그것은 대신 mybase.oninit (e) 였을 것입니다. 페이지를 직접 테스트했을 때 페이지를 직접 테스트하지 못하게했던 다른 코드 때문에 클래스에서 상속을 일시적으로 제거해야했기 때문에 나는 그것을 잡지 못했습니다.

나는 이제 "Dunce"모자를 쓰고 시간을 내기 위해 모퉁이로 후퇴 할 것입니다. 어쨌든 도움을 주셔서 감사합니다.

다른 팁

그 코드는 어디에서 실행됩니까? 이것은 완전히 관련이 없지만이 기사를 보셨습니까 ..?

http://ddkonline.blogspot.com/2008/02/aspnet-double-postback-bug-strikes.html

당신의 코드는 좋아 보이므로 문제가 있다고 생각하지 않습니다 ...하지만 제안 할 것은 다음과 같습니다.

1) 오류가 URL의 다른 쪽 끝에있을 수 있습니다 ... Google을 치고 반환 된 콘텐츠가 양호한 지 확인하십시오.

2) "ResponseEReader.ReadToend ()"지점에 중단 점을 놓고 거기에서 나오는 것이 좋은지 확인하십시오.

3) 위 의이 코드가 ASPX 페이지에있는 경우 ... "response.end (); 마지막 코드 라인 후에? ( "resposne.close ()"가 아니라 "response.end ()").

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top