2012-06-22 3 views
0

메소드에서 응답을 리디렉션하거나 BinaryWrite를 만들기 위해 응답이 Http 또는 Https인지 여부를 알아야하지만 매개 변수에는 HttpResponse 만 있습니다.HttpResponse가 Https에 있는지 여부를 확인하는 방법이 있습니까?

누구든지 HttpResponse를 사용하여이를 알 수 있습니까?

감사합니다.

편집 :

나는 가능하면 HttpContext.Current.Request을 사용하지 않으 때문에 나는, 그것은 HttpResponse에는 HTTP 또는 HTTPS 경우 알 수 있는지 알고 싶어

.

+0

는 MS 링크의 예에서 작업보기를 할 것 -> HTTPS를 대신 재 작성 기능을 리디렉션합니다. .. 그 코드를 멋지게 유지할 것이고, 그 세부 사항을 기쁜 마음으로 알 수있을 것이다. – bluevector

+0

ASP.Net 서버 측 코드를 실행하고 있습니까? – SLaks

+2

당신의 질문을 수정 해보십시오 - 그게 무엇인지 알기가 어려워요 ... –

답변

0

저는 그렇게 생각하지 않습니다. HttpRequest에서 찾을 수 있지만 응답은 요청과 관련하여 반환되는 데이터 스트림입니다.

0

이렇게하면 필요한 것을 얻을 수 있습니다.

System.Uri currentUrl = System.Web.HttpContext.Current.Request.Url; 

if (!currentUrl.Scheme.Equals(Uri.UriSchemeHttps, stringComparison.CurrentCultureIgnoreCase)) 
{ 
    //Do something here 
} 

요청이 아마에서 요청 된 동일한 통신 프로토콜을 통해 다시 클라이언트에 를 전송됩니다 무엇으로 HttpResponse에 개체에서이 정보를 추출 할 수 없습니다. Request 객체를 사용하여 SSL 연결을 확인해야합니다.

+0

HttpRequest.IsSecureConnection이 있지만 가능한 경우 HttpContext.Current.Request를 사용하지 않는 것이 좋습니다. –

+0

'HttpContext.Current.Request'를 피하는 이유는 무엇입니까? – bluevector

+0

많은 코드를 수정하는 것을 피하십시오. 그건 나쁜 이유 야. 하지만 당신은 내 방법으로 직접 HttpContext.Current.Request를 사용하려고 시도하지 않았다고 생각하게했다. –

관련 문제