है, मेरे पास एकाधिक सर्वरों पर होस्ट किया गया एक वेब एप्लिकेशन है, जिनमें से कुछ https पर हैं। यदि पृष्ठ वर्तमान में http या https में है, तो मैं कोड से पीछे कैसे देख सकता हूं?एएसपीनेट जांचें कि पृष्ठ http या https
उत्तर
आप पर HttpRequest
कक्षा पर संपत्ति का संदर्भ ले सकते हैं। किसी पृष्ठ के बाहर एक पूर्ण संदर्भ के लिए, उपयोगकर्ता नियंत्रण या समान रूप से, HttpContext.Current.Request.IsSecureConnection
का उपयोग करें।
उपयोग - HttpContext.Current.Request.IsSecureConnection
वैकल्पिक रूप से:
Request.ServerVariables["SERVER_PROTOCOL"];
यह अनुरोध के रूप में 'Request.IsSecureConnection' रिटर्न के दौरान http और https दोनों पर मेरे लिए' HTTP/1.1' देता है। – atheaos
इस प्रयास करें,
aCookie.Secure = HttpContext.Current.Request.IsSecureConnection
Page.Request.Url.Scheme
रूप में अच्छी तरह से काम करता है। अपने नियंत्रकों के अंदर Request.IsHttps
ASPNET कोर 2.0 के लिए http://msdn.microsoft.com/en-us/library/system.uri.scheme.aspx
अद्यतन, अब, आप का उपयोग करना चाहिए: यह http
, https
, आदि
रेफरी देता है।
सावधान रहें- IsSecureConnection झूठी नकारात्मकता दे सकता है। http://stackoverflow.com/questions/998397/why-does-request-issecureconnection-return-false-when-true-is-expected –
उत्तर छोटा है, इसलिए अब मेरे लिए यह ओविन के साथ थोड़ा सा बदल गया था। मुझे "System.Web.HttpContext.Current.GetOwinContext() द्वारा अनुरोध प्राप्त हुआ। Request.IsSecure"। हो सकता है कि यह बाद में किसी के लिए आसान हो। :) – MGR