asp.net:Session和Application在线用户应用
global.asxa
using system;
using system.collections;
using system.componentmodel;
using system.web;
using system.web.sessionstate;
namespace elcare
{
/// <summary>
/// global
/// </summary>
public class global : system.web.httpapplication
{
/// <summary>
/// </summary>
private system.componentmodel.icontainer components = null;
public global()
{
initializecomponent();
}
protected void application_start(object sender, eventargs e)
{
application["ol_usercount"]=0;
}
protected void session_start(object sender, eventargs e)
{
application.lock();
application["ol_usercount"]=(int)application["ol_usercount"]+1;//在线用户
application.add(session.sessionid.tostring(),1);
application.unlock();
}
protected void application_beginrequest(object sender, eventargs e)
{
}
protected void application_endrequest(object sender, eventargs e)
{
}
protected void application_authenticaterequest(object sender, eventargs e)
{
}
protected void application_error(object sender, eventargs e)
{
}
protected void session_end(object sender, eventargs e)
{
application.lock();
application.remove(session.sessionid.tostring());
application["ol_usercount"]=(int)application["ol_usercount"]-1;
application.unlock();
}
protected void application_end(object sender, eventargs e)
{
}
#region /// <summary>
/// </summary>
private void initializecomponent()
{
this.components = new system.componentmodel.container();
}
#endregion
}
}
登陆验证
public void idpassinsql()
{
string strconn=(string) ((namevaluecollection) context.getconfig("system.web/database"))["strconn"];
using (sqlconnection conn = new sqlconnection(strconn))
{
sqlcommand cmd = new sqlcommand("sp_idpwd",conn);
cmd.commandtype=commandtype.storedprocedure;
cmd.parameters.add("@id",sqldbtype.varchar,20);
cmd.parameters.add("@pwd",sqldbtype.varchar,20);
cmd.parameters["@id"].value=txtname.text;
cmd.parameters["@pwd"].value=txtpwd.text;
conn.open();
using (sqldatareader dr = cmd.executereader())
{
if(dr.read())
{[来源 www.iocblog.net]
bool notol=true;
for(int i=0;i<application.count;i++)
{
if(application[application.getkey(i).tostring()].tostring()==dr["userid"].tostring())
notol=false;
}
if(notol)
{
session["username"]=dr["username"].tostring(); //session["username"] 用户名字
session["userid"]=dr["userid"].tostring(); //session["userid"] 用户id
application[session.sessionid.tostring()]=dr["userid"].tostring();//给session_start生成的application付用户id
response.redirect("./main/main.aspx");
}
else
message.text="该用户已登陆";
}
else
{
message.text="密码错误";
}
}
}
}
注销退出
private void btnquit_click(object sender, system.eventargs e)
{
session.abandon();//该语句将调用global的session_end事件
response.write("<script language=javascript>parent.location='../default.aspx'</script>");//
}[来源 www.iocblog.net]
文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。