C#操作session的类实例

本文实例讲述了C#操作session的类。分享给大家供大家参考。具体分析如下:

这个C#类对session操作进行了再次封装,可以大大简化session的常用操作,同时这个类可以将session值设置为数组,也可以将值读取为数组列表,如果你有这方面的需要可以使用这个类,扩这自己对这个C#类进行扩展。

using System.Web;
namespace DotNet.Utilities
{
 public static class SessionHelper2
 {
  /// <summary>
  /// 添加Session,调动有效期为20分钟
  /// </summary>
  /// <param name="strSessionName">Session对象名称</param>
  /// <param name="strValue">Session值</param>
  public static void Add(string strSessionName, string strValue)
  {
   HttpContext.Current.Session[strSessionName] = strValue;
   HttpContext.Current.Session.Timeout = 20;
  }
  /// <summary>
  /// 添加Session,调动有效期为20分钟
  /// </summary>
  /// <param name="strSessionName">Session对象名称</param>
  /// <param name="strValues">Session值数组</param>
  public static void Adds(string strSessionName, string[] strValues)
  {
   HttpContext.Current.Session[strSessionName] = strValues;
   HttpContext.Current.Session.Timeout = 20;
  }
  /// <summary>
  /// 添加Session
  /// </summary>
  /// <param name="strSessionName">Session对象名称</param>
  /// <param name="strValue">Session值</param>
  /// <param name="iExpires">调动有效期(分钟)</param>
  public static void Add(string strSessionName, string strValue, int iExpires)
  {
   HttpContext.Current.Session[strSessionName] = strValue;
   HttpContext.Current.Session.Timeout = iExpires;
  }
  /// <summary>
  /// 添加Session
  /// </summary>
  /// <param name="strSessionName">Session对象名称</param>
  /// <param name="strValues">Session值数组</param>
  /// <param name="iExpires">调动有效期(分钟)</param>
  public static void Adds(string strSessionName, string[] strValues, int iExpires)
  {
   HttpContext.Current.Session[strSessionName] = strValues;
   HttpContext.Current.Session.Timeout = iExpires;
  }
  /// <summary>
  /// 读取某个Session对象值
  /// </summary>
  /// <param name="strSessionName">Session对象名称</param>
  /// <returns>Session对象值</returns>
  public static string Get(string strSessionName)
  {
   if (HttpContext.Current.Session[strSessionName] == null)
   {
    return null;
   }
   else
   {
    return HttpContext.Current.Session[strSessionName].ToString();
   }
  }
  /// <summary>
  /// 读取某个Session对象值数组
  /// </summary>
  /// <param name="strSessionName">Session对象名称</param>
  /// <returns>Session对象值数组</returns>
  public static string[] Gets(string strSessionName)
  {
   if (HttpContext.Current.Session[strSessionName] == null)
   {
    return null;
   }
   else
   {
    return (string[])HttpContext.Current.Session[strSessionName];
   }
  }
  /// <summary>
  /// 删除某个Session对象
  /// </summary>
  /// <param name="strSessionName">Session对象名称</param>
  public static void Del(string strSessionName)
  {
   HttpContext.Current.Session[strSessionName] = null;
  }
 }
}

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • C# SESSION丢失问题的解决办法

    我们在用C#开发程序的时候经常会遇到Session很不稳定,老是数据丢失.下面就是Session数据丢失的解决办法希望对您有好处. 1.在WEB.CONFIG文件中修改SESSION状态保存模式,如:<sessionState mode='StateServer' stateConnectionString='tcpip=127.0.0.1:42424' sqlConnectionString='data source=127.0.0.1;Trusted_Connection=yes' cook

  • ASP.NET在IE10中无法判断用户已登入及Session丢失问题解决方法

    今天发现在IE10中登录我公司的一个网站时,点击其它菜单,页面总会自动重新退出到登录页,后检查发现,IE10送出的HTTP头,和.AUTH Cookie都没问题,但使用表单验证机制(FormsAuthentication)却无法判断该用户已登入,保存的Session总会丢失. 后查实这是ASP.NET 2.0,3.5和4.0的Bugs,因这些版本无法识别IE10的User-Agent标头字符串,所以无法识别用户浏览器的版本,从而导至了ASP.NET的特定功能失效,认为游览器不支持Cookies功

  • IIS服务器中 ASP.NET State Service 开启后 Session 仍容易丢失的问题终极解决办法

    解决方法一: 1. 开启ASP.NET State Service服务: 选择管理工具->服务,找到ASP.NET State Service,点开后选择启动,并将启动类型设为自动. 2. 设置程序配置文件: 将web.config打开,会看到有一行是<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" timeout="20"/>,如

  • C#程序中session的基本设置示例及清除session的方法

    session的基本设置: using System; using System.Collections.Generic; using System.Text; using System.Web; using System.Web.SessionState; namespace OAFrameWork { public class CSession { public static object Get(string Key) { return HttpContext.Current.Sessio

  • asp.net(C#)清除全部Session与单个Session的方法

    实例如下: Session.Abandon();//清除全部Session //清除某个Session Session["UserName"] = null; Session.Remove("UserName"); 以上这篇asp.net(C#)清除全部Session与单个Session的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • asp.net删除文件session丢失

    如果你曾经修改了ASP.NET应用程序(dll文件),与修改了bin文件夹或Web.config文件(添加/删除/重命名的文件等),而该网站在运行,你可能已经注意到,这将导致在AppDomain的重新启动.所有的会话状态会丢失和网站再次成功启动,任何登录的用户将被退出(假设你不使用持久Cookie身份验证). 当然,当我们修改了web.config文件,并保存它,迫使一个AppDomain重新启动,这是我们需要的. 我们有时动态创建和删除的文件夹,在ASP.NET 2.0中,文件夹删除将导致一个

  • C#实现简单获取及设置Session类

    本文实例讲述了C#实现简单获取及设置Session类.分享给大家供大家参考.具体分析如下: 这是一个简单的C#获取Session.设置Session类文件,本类主要实现大家最常用的两个功能: 1.GetSession(string name)根据session名获取session对象: 2.SetSession(string name, object val)设置session 具体代码如下: using System.Web; namespace DotNet.Utilities { ///

  • C#程序中session值的保存方法以及转为字符串的方法总结

    C#中保存Session的三种方法及Web.Config设置 保存session到sql server;,需要指定Sql Server;服务器,这种方法因为要读写数据库最慢 <sessionState mode="SQLServer" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20&q

  • asp.net(c#)有关 Session 操作的几个误区

    1. this.Session["username"] = null  HttpSessionState 内部使用 NameObjectCollection 类型的集合对象来存储用户数据.因此使用 this.Session["username"] = null 仅仅是将该元素的值设为 null 而已,并没有真的将其从 Session 中移除.(为什么?晕~~~ 建议看看 C# 基础方面的书.) 正确的方法是:this.Session.Remove("use

  • ASP.NET在底层类库中获取Session C#类中获取Session 原创

    类库中获取Session首先要添加引用 获取Session 复制代码 代码如下: string user = (string)HttpContext.Current.Session["user"]; 获取Page 复制代码 代码如下: System.Web.UI.Page page = (System.Web.UI.Page)HttpContext.Current.Handler; 获取当前 Request Response 等对象都是在这里 复制代码 代码如下: HttpRespon

随机推荐