时间 : 15-02-09 栏目 : Net开发 作者 : 冰镇宝贝321 评论 : 0 点击 : 1,920 次
在登陆验证或者其他需要用到session全局变量的时候,归结起来,主要有以下三种较方便的实现方式。(其中个人较喜欢使用第一种实现方法)
//在此例子中,就是在入口函数里调用CheckLogin()方法;
public static string SeUserID { get { return HttpContext.Current.Session["SeUserID"].ToString(); } set { HttpContext.Current.Session["SeUserID"] = value; } } /// <summary> /// 检查用户是否登录,如果未登录就转到登录页面 /// </summary> public static void CheckLogin() { if (SeUserID == "" || SeUserID == "0") { HttpContext.Current.Response.Redirect("ForeignFirms.aspx"); //HttpContext.Current.Response.Write("<script>window.open('');alert('登陆失效,请重新登陆');</script>"); } }
//在cs页面调用验证方法 protected void Page_Load(object sender, EventArgs e) { Commom.CommonFunction.CheckLogin();//验证登陆信息 if (!IsPostBack) { GetData(); value = Request.QueryString["id"].ToString(); if (value != "0") { GetEdit(); } } }
protected void Session_Start(Object sender, EventArgs e) { Session["sqlConnectionString"] = "uid=Username;pwd=password;database=MyTest;server=Localhost;Connect Timeout=300"; }
--读取的方法,在代码中的应用
String strConnection=Session["sqlConnectionString"].ToString(); sqlConnection_1=new SqlConnection(strConnection);
//配置Web.Config文件的方法如下:
在Web.Config文件的<system.web></system.web>节点中添加如下代码,设置Session的生命周期为10分钟。
<sessionState mode="InProc" timeout="10"></sessionState>
在web.config文件中设置Session时,可以设置以下几个参数:
Mode//该参数用于设置存储会话状态。状态包括Off、Inproc、StateServer和SqlServer。 Off//表示禁用会话状态 Inproc//表示工作进程自身存储会话状态 StateServer//表示将把会话信息存放在一个单独的ASP.NET状态服务中 SqlServe//r表示将把会话信息存放在SQL Server数据库中。 StateConnecitonString//该参数用于设置ASP.NET应用程序存储远程会话状态的服务器名,默认名为本地。 Cookieless//当该参数值设置为True时,表示不使用Cookie//会话标识客,反之设置为False时,标识启动Cookie会话状态。 SqlConnectionString//该参数用于设置SQL Server数据库连接。 Timeout//该参数用于设置会话时间,超过该期限,会自动中断会话,默认设置为20。
除非注明,文章均为( 冰镇宝贝321 )原创,转载请保留链接: https://bkqv5.com/archives/121.html