2010-10-04 7 views
22

मुझे एक वेब ऐप के लिए कोड का ढेर मिला है जिसमें हार्ड-कोड किए गए पथों के ऊपरी भाग शामिल हैं। मुझे https: // का उपयोग करके चलाने के लिए प्रयास करने का प्रयास किया गया है।.NET में HttpContext से https का पता लगाना?

यूआरएल में "https: //" का पता लगाने के अलावा अन्य संदर्भ यह है कि वर्तमान संदर्भ https है?

System.Web.HttpContext.Current.Request.Url:

की तरह कुछ के लिए देख रहे हैं। Protocol.ToString()

उत्तर

42

आप System.Web.HttpContext.Current.Request.Url.Protocol.ToString() की तरह कुछ के लिए HttpContext.Current.Request.IsSecureConnection

12

सीधा जवाब का उपयोग कर सकते आपके अनुरोध के System.Web.HttpContext.Current.Request.Url.Scheme है, हालांकि ब्रैंडन कहते हैं, his answerHttpContext.Current.Request.IsSecureConnection में https के उपयोग का पता लगाने के लिए रास्ता है एक बुलियन के रूप में और संभवतः आपके प्रश्न में दी गई समस्या के लिए अधिक उपयुक्त है।

2

मैं

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

https करने के लिए स्वत: रीडायरेक्ट को यह कोड का उपयोग क्यों downvote? –

+1

शायद "इक्वल्स (झूठा)" बिट के लिए। हालांकि इसे काम करना चाहिए, इस तरह कोड को लिखने का कोई मतलब नहीं है। इसके अलावा, आपको वीबी में स्ट्रिंग कॉन्सटेनेशन के लिए + का उपयोग नहीं करना चाहिए। –

संबंधित मुद्दे