Detecting https from HttpContext in .net?
I've inherited a pile of code for a web app which contains oodles of hard-coded paths. I've been tasked with trying to get it to run using https://.
Other than detecting "https://" in the URL is there a more inband way to detect that the current context is https?
Looking for something like:
System.Web.HttpContext.Current开发者_JAVA技巧.Request.Url.Protocol.ToString()
You can use HttpContext.Current.Request.IsSecureConnection
The direct answer to your request for something like System.Web.HttpContext.Current.Request.Url.Protocol.ToString()
is System.Web.HttpContext.Current.Request.Url.Scheme
, though as Brandon says, in his answerHttpContext.Current.Request.IsSecureConnection
is the way to detect use of https as a boolean and likely more appropriate to the problem you give in your question.
I use this code to auto redirect to https
If HttpContext.Current.Request.IsSecureConnection.Equals(False) Then
Response.Redirect("https://" + Request.ServerVariables("HTTP_HOST") & HttpContext.Current.Request.RawUrl)
End If
精彩评论