複数のサーバーでホストされているWebアプリケーションがあり、その一部はhttpsにあります。ページが現在httpまたはhttpsにあるかどうかをコードビハインドから確認するにはどうすればよいですか?
HttpRequest
クラスのRequest.IsSecureConnection
プロパティを参照できます。ページ外の完全な参照、ユーザーコントロールなどについては、HttpContext.Current.Request.IsSecureConnection
を使用してください。
Page.Request.Url.Scheme
同様に動作します。 http
、https
などを返します。
参照: http://msdn.Microsoft.com/en-us/library/system.uri.scheme.aspx
使用する - HttpContext.Current.Request.IsSecureConnection
または:
Request.ServerVariables["SERVER_PROTOCOL"];
Aspnet Core 2.0の更新。今度は、コントローラー内でRequest.IsHttps
を使用する必要があります。
これを試して、
aCookie.Secure = HttpContext.Current.Request.IsSecureConnection
私が使用する.netコアでは:
Context.Request.Scheme == Uri.UriSchemeHttps