2010-10-04 14 views
22

Ich habe einen Code-Stapel für eine Web-App geerbt, die eine Unmenge von fest codierten Pfaden enthält. Ich wurde damit beauftragt, es mithilfe von https: // ausführen zu lassen.Erkennen von https aus HttpContext in .net?

Anders als die Erkennung von "https: //" in der URL gibt es eine mehr Inband-Art zu erkennen, dass der aktuelle Kontext https ist?

der Suche nach so etwas wie:

System.Web.HttpContext.Current.Request.Url. Protocol.ToString()

Antwort

42

Sie HttpContext.Current.Request.IsSecureConnection

12

Die direkte Antwort auf Ihre Anfrage für so etwas wie System.Web.HttpContext.Current.Request.Url.Protocol.ToString() ist System.Web.HttpContext.Current.Request.Url.Scheme verwenden können, obwohl, wie Brandon sagt, in his answerHttpContext.Current.Request.IsSecureConnection ist die Art und Weise Verwendung von https zu erkennen als Boolean und wahrscheinlich besser geeignet für das Problem, das Sie in Ihrer Frage geben.

2

Ich benutze diesen Code zu Auto Umleitung

If HttpContext.Current.Request.IsSecureConnection.Equals(False) Then 
    Response.Redirect("https://" + Request.ServerVariables("HTTP_HOST") & HttpContext.Current.Request.RawUrl) 
End If 
+0

Warum die downvote auf https? –

+1

Wahrscheinlich für das Bit ".Equals (False)". Obwohl es funktionieren sollte, macht es keinen Sinn, den Code so zu schreiben. Außerdem sollten Sie + für die Verkettung von Strings in VB nicht verwenden. –

Verwandte Themen