J'ai une application Web hébergée sur plusieurs serveurs dont certains sont sur https. Comment puis-je vérifier à partir du code derrière si une page est actuellement en http ou https?
Vous pouvez vous référer au Request.IsSecureConnection
propriété sur la classe HttpRequest
. Pour une référence complète en dehors d'une page, d'un contrôle utilisateur ou similaire, utilisez HttpContext.Current.Request.IsSecureConnection
.
Page.Request.Url.Scheme
fonctionne aussi bien. Il renvoie http
, https
, etc.
Réf: http://msdn.Microsoft.com/en-us/library/system.uri.scheme.aspx
Utilisation - HttpContext.Current.Request.IsSecureConnection
Alternativement:
Request.ServerVariables["SERVER_PROTOCOL"];
Mise à jour pour Aspnet Core 2.0, maintenant, vous devez utiliser Request.IsHttps
à l'intérieur de vos contrôleurs.
Essaye ça,
aCookie.Secure = HttpContext.Current.Request.IsSecureConnection
Dans le noyau .net, j'utilise:
Context.Request.Scheme == Uri.UriSchemeHttps