ASP.NETセッションが有効になっているかどうかを判断するには、C#でブール値テストを行う最良の方法は何ですか?私はtry-catchブロックを使いたくないし、Sessions!= nullは例外をスローします。ASP.NETセッションが有効になっているかどうかを確認
よろしくお願いいたします。
ASP.NETセッションが有効になっているかどうかを判断するには、C#でブール値テストを行う最良の方法は何ですか?私はtry-catchブロックを使いたくないし、Sessions!= nullは例外をスローします。ASP.NETセッションが有効になっているかどうかを確認
よろしくお願いいたします。
あなたはここでは、このような何か(擬似コード)
XmlDocument document = new XmlDocument();
document.Load("Web.Config");
XmlNode pagesenableSessionState = document.SelectSingleNode("//Settings[@Name = 'pages']/Setting[@key='enableSessionState']");
if(pagesenableSessionState .Attributes["value"].Value =="true)
{
//Sessions are enabled
}
else
{
//Sessions are not enabled
}
EnableSessionStateプロパティの質問をWeb.config
にしたいとします。
あなたがHttpContext.Current
を使用する場合は、例外を取得することはできません。
if(HttpContext.Current.Session != null)
{
// Session!
}
このスローと例外です。 –
を使用することができますは、セッション状態が有効になっているかどうかを判断することができる方法であります:
PagesSection pagesSection = ConfigurationManager.GetSection("system.web/pages") as PagesSection;
if ((null != pagesSection) && (pagesSection.EnableSessionState == PagesEnableSessionState.True))
// Session state is enabled
else
// Session state is disabled (or readonly)
セッションステートは、ページディレクティブと他の構成ファイル(上位ディレクトリレベルのmachine.configまたはweb.config)で有効にすることができるため、この回答は少なくとも不完全であり、最悪の場合は間違っています。 – wensveen