c#类库中使用Session
网站开发中,为了保存用户的信息,有时候需要使用session。如果我们在aspx页面中使用Session,只需要Session["key"]=value就可以,获取时使用int userid=Session["userid"],但是在赋值时,我们可能需要判断Session是否为空,是否能转换成int类型。如果只在一处使用Session,那么我们可以直接在aspx页面中操作,修改也只需修改一处。
但在操作Session时,可能会在多个页面,如果修改Session,可能需要修改多个页面,这样会非常的繁琐。解决的办法主要有两个,一个是基类页面,添加一个基类页面,页面继承自System.Web.UI.Page,在基类页面中处理Session。其它的涉及Session操作的继承自基类页面。二是使用类,如果在asp.net项目中使用类,只需要引用
using System.Web;
using System.Web.SessionState;
然后定义
private static HttpSessionState _session = HttpContext.Current.Session;
就可以通过_session操作Session了。
本文主要介绍第二种方式,而且是使用类库操作Session的方法。
1.新建一个类库
2.添加引用,解决方案资源管理器中,右键“引用”-》“添加引用”-》.net-》选择“System.Web”-》点击“确定”
3.添加一个类,在类中引用
using System.Web;
using System.Web.SessionState;
4.操作Session,主要涉及添加,获取,清除。其它的如修改、删除也可添加。主要代码如下:
private static HttpSessionState _session = HttpContext.Current.Session;
public static void SetSession(string key,object value)
{
_session[key] = value;
}
public static int GetSessionNumber(string key)
{
int result = 0;
if(_session[key]!=null)
{
int.TryParse(_session[key].ToString(), out result);
}
return result;
}
public static string GetSessionString(string key)
{
string result = "";
if(_session[key]!=null)
{
result = _session[key].ToString();
}
return result;
}
public static void Clear()
{
_session.Clear();
}
c#类库中使用Session的更多相关文章
- 在类库中使用Session
昨天在做优化网站代码的时候,突发奇想想将页面的代码和业务逻辑代码分离开.就是页面下的.cs文件只用于收集前台上的数据而业务处理都放到一些类库中.可是问题来了,在类库中是无法直接使用Session.在网 ...
- asp.net 类库中获取session c#类中获取session
asp.net 类库中获取session c#类中获取session 1. 先引入命名空间 using System.Web; using System.Web.SessionState; 在使用H ...
- Session在类库中的使用
转自:http://www.cnblogs.com/JiangXiaoTian/articles/3490904.html 网站开发中,为了保存用户的信息,有时候需要使用session.如果我们在as ...
- Asp.net Core中使用Session
前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. 元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Cor ...
- asp.net中一般处理程序中添加session
asp.net中使用一般处理程序(.ashx)添加session,利用context.session["xxx"] = value的方式把值保存到session:运行的时候会出现该 ...
- [转]Asp.net Core中使用Session
本文转自:http://www.cnblogs.com/sword-successful/p/6243841.html 前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. ...
- 解析Asp.net Core中使用Session的方法
2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. 元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Core中引 ...
- 在 ASP.NET CORE 中使用 SESSION
Session 是保存用户和 Web 应用的会话状态的一种方法,ASP.NET Core 提供了一个用于管理会话状态的中间件.在本文中我将会简单介绍一下 ASP.NET Core 中的 Session ...
- Tomcat中的Session小结
什么是Session 对Tomcat而言,Session是一块在服务器开辟的内存空间,其存储结构为ConcurrentHashMap: Session的目的 Http协议是一种无状态协议,即每次服务端 ...
随机推荐
- Dynamic\Static\IsKinematic
1.Dynamic: 有Collider和RigidBody的GameObject, Unity视之为Dynamic. 适用于经常变换移动的对象. 2.Static: 只含有Collider的Game ...
- Nginx - Additional Modules, Website Access and Logging
The following set of modules allows you to configure how visitors access your website and the way yo ...
- Slickflow.NET 开源工作流引擎基础介绍(五) -- 会签加签高级特性介绍
前言:会签和加签是常见审批流程模式,在引擎中,对这两种流程模式做了分别定义和实现,其中也用到了Workflow Pattern的Multiple Instance(多实例) . 1. 会签和加签的定义 ...
- atomikos分布式事务的几个坑
atomikos几个坑:1.jta.properties:com.atomikos.icatch.output_dir=/datayes/atomikoscom.atomikos.icatch.log ...
- Linux下c基于openssl生成MD5的函数
Linux下openssl提供了一系列哈希及加密的函数,如果调用openssl提供的MD5函数生成任意字符串的MD5呢?下面提供了一段代码实现Linux下c字符串生成md5的函数. 具体代码: 1 2 ...
- android 获取前台进程
String getTopActivity() { ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVI ...
- Php 魔术常量
魔术常量 由于其值在程序运行过程中不允许更改,所以是常量:其值,又是运行环境不同而不现,所以叫魔术. __DIR__ 当前脚本文件的路径 示例: __LINE__ ...
- spring集合类型的setter注入的一个简单例子
在项目中我们有时候会为集合类型设定一些默认的值,使用spring后,我们可以通过配置文件的配置,用setter方式为对象的集合属性提供一些默认值,下面就是一个简单的例子. 首先我们创建了一个名为Col ...
- 【wenqi】重置Centos 7 Root密码
重置Centos 7 Root密码的方式和Centos 6完全不同.下面展示一下到底如何操作. 1 - 在启动grub菜单,选择编辑选项启动 2 - 按键盘e键,来进入编辑界面 3 - 找到Linux ...
- jQuery实现图片轮播
之前有碰到过jQuery实现列表自动滚动,这次的图片轮播在原理上与之相同,只有一些细微的差别,就是需要在图片的右下角显示当前图片的序号,效果如下: 先看一看html代码,以及对应的css代码: < ...