在C#中进行布尔测试以确定是否启用了ASP.NET会话的最佳方法是什么?我不想使用try-catch块而Sessions!= null会抛出异常。
问候。
答案 0 :(得分:4)
如果您使用HttpContext.Current
:
if(HttpContext.Current.Session != null)
{
// Session!
}
答案 1 :(得分:2)
您想询问Web.config
中的EnableSessionState属性。
答案 2 :(得分:1)
以下是如何确定会话状态是否已启用的方法:
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)
答案 3 :(得分:0)
你可以使用这样的东西(伪代码)
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
}