2009-05-28 4 views
0

.net remoting을 사용하는 코드에서 http 302 리디렉션을 구분할 수 있어야합니다..net remoting에서 http 302 리디렉션을 처리하는 방법은 무엇입니까?

적절한 URL에 연결하려면 하나가 작동 할 때까지 순서대로 시도하십시오. 대부분의 환경에서 첫 번째 URL은 WebExceptionStatus.NameResolutionFailure 상태의 System.Net.WebException으로 올바르게 실패합니다. OpenDNS를 사용하는 고객의 경우, 다시 안내 페이지로 리디렉션되는 HTTP 302 응답으로 돌아옵니다. 왜냐하면 나는 .net Remoting을 사용하고 있기 때문에 리다이렉트는 무시되고,받는 메시지의 오류는 System.Runtime.Serialization.SerializationException이다. "End of Streaming of Parsing was completed."라는 메시지만으로 구별 할 수있다. 여기

은 년대 오픈 DNS HTTP 응답 : HTTP/1.0 302 찾을 수 위치 : http://guide.opendns.com/?url=demonstration.totallyinvalidexceptonmynetwork.com%2Fi%2Fdo%2Fnot%2Fexist.html 콘텐츠 유형 : 텍스트/html로 콘텐츠 길이 : 0 연결 : 가까운 날짜 : 2009년 (목) 5월 28일 20시 46분 : 26 GMT 서버 : OpenDNS 안내서

답변

0

요청을 게시하려면 HttpWebRequest 개체를 사용하고 있다고 가정합니다. 그런 다음 HttpWebResponse 객체에서 응답을 수신 할 수 있습니다. 그런 다음 response.StatusCode 속성을 확인할 수 있습니다. 그것이 302이면 논리를 수행하십시오.

HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
if (response.StatusCode = HttpStatusCode.Found) 
{ 
    //your code here 
} 

업데이트 : 당신이 System.Net.Webclient를 사용하는 경우에 당신은 당신이 ResponseHeaders 속성을 사용할 수 있습니다 사용할 수 있습니다. Here을 사용하는 방법입니다.

+0

.net remoting은 HttpWebRequest 또는 WebClient 또는 관련된 클래스를 노출하지 않습니다. 호출 코드는 서버에서 호출되는 유형과 비슷한 프록시 객체를 봅니다. (예, 2 년 전이었습니다.) – sphereinabox

관련 문제