终止当前会话并将值分配给新会话运行时 [英] Kill the current session and assgin the value to new session run time

查看:54
本文介绍了终止当前会话并将值分配给新会话运行时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在管理员登录时有登录页面,之后他进入设置和

点击模拟和下载所有用户和管理员在该特定管理员下登录。



从下拉列表中选择任何用户后,主用户将退出,他将在下拉列表中通过所选用户的ID登录..



我正在破坏主要用户的会话并获取所选用户的值并将其值分配给session..bt它的nt working..help我并给了我建议



  public   static   void  LoginUser( string  UserName)
{
DataSet ObjData = null ;
用户ObjUser = null ;
Admin ObjAdmin = null ;
Helpers.SessionHelper ObjSession = null ;
尝试
{


ObjUser = new User();
ObjAdmin = new Admin();

ObjAdmin.UserName = UserName;
ObjData = ObjAdmin.LoginImpersonateUser();
if (Helpers.SessionHelper.CurrentUserName!= 匿名
{
HttpContext.Current.Session.Abandon(); // 此处查杀主会话
ObjSession = new Helpers.SessionHelper();
ObjSession.StaticProNull();
}

foreach (DataRow item in ObjData.Tables [ 0 ]。行) // 获取所选值user
{

ObjUser.UserCompany.CompanyID = Convert.ToInt32(item [ companyID]);
ObjUser.UserName = item [ UserName]。ToString();
ObjUser.EmailAddress = item [ EmailAddress]。ToString();
ObjUser.UserCompany.CompanyName = item [ CompanyName]。ToString();
ObjUser.UserCompany.IsCompanyEnabled = Convert.ToInt32(item [ IsCompanyEnabled]);
ObjUser.IsCompanyAdmin = Convert.ToInt32(item [ IsCompanyAdmin]);
ObjUser.ID = Convert.ToInt32(item [ UserID]);
ObjUser.FirstName = item [ FirstName]。ToString();
ObjUser.Surname = item [ surname]。ToString();
Helpers.AccessHelper.DoLogin(ObjUser); // 调用方法为会话变量赋值。
}


HttpContext.Current.Response.Redirect( 〜/ DashBoard.aspx true );

}
catch (例外)
{

;
}
最后
{


}





Thanx ..

解决方案

 HttpContext.Current .Session.Clear(); 

//使用此代替Abandon()


  protected   void  btn_fourthPage_Click( object  sender,EventArgs e)
{
尝试
{
HttpContext.Current.Session [ 第四页] = 4;
Response.Redirect( 〜/ LoginPage.aspx);
}
catch (例外情况)
{
Response.Write(ex.Message);
}
}



可以解释4如何分配


 Session.Remove( 此处会话的名称); 


I have login page when admin login and after that he goes to setting and
click on impersonate and dropdown filled with all user and admin under that particular admin who is login.

After select any user from dropdown list the main user will logout and he will login through id of selected user in dropdown list..

I m destrying session of main user and fetching the value of selected user and assign his value to session..bt its nt working..help me and gave me suggesion

public static void LoginUser(string UserName)
       {
           DataSet ObjData = null;
           User ObjUser = null;
           Admin ObjAdmin = null;
           Helpers.SessionHelper ObjSession = null;
           try
           {


               ObjUser = new User();
               ObjAdmin = new Admin();

               ObjAdmin.UserName = UserName;
               ObjData = ObjAdmin.LoginImpersonateUser();
               if (Helpers.SessionHelper.CurrentUserName != "Anonymous")
               {
                   HttpContext.Current.Session.Abandon(); //here killing the main session
                   ObjSession = new Helpers.SessionHelper();
                  ObjSession.StaticProNull();
               }

               foreach (DataRow item in ObjData.Tables[0].Rows) //fetching the values of selected user
               {

                   ObjUser.UserCompany.CompanyID = Convert.ToInt32(item["companyID"]);
                   ObjUser.UserName = item["UserName"].ToString();
                   ObjUser.EmailAddress = item["EmailAddress"].ToString();
                   ObjUser.UserCompany.CompanyName = item["CompanyName"].ToString();
                   ObjUser.UserCompany.IsCompanyEnabled = Convert.ToInt32(item["IsCompanyEnabled"]);
                   ObjUser.IsCompanyAdmin = Convert.ToInt32(item["IsCompanyAdmin"]);
                   ObjUser.ID = Convert.ToInt32(item["UserID"]);
                   ObjUser.FirstName = item["FirstName"].ToString();
                   ObjUser.Surname = item["surname"].ToString();
                   Helpers.AccessHelper.DoLogin(ObjUser);// calling the method to assign values to session variables.
               }


               HttpContext.Current.Response.Redirect("~/DashBoard.aspx", true);

           }
           catch (Exception)
           {

               throw;
           }
           finally
           {


           }



Thanx..

解决方案

HttpContext.Current.Session.Clear();

// use this instead of Abandon()


protected void btn_fourthPage_Click(object sender, EventArgs e)
    {
        try
        {
            HttpContext.Current.Session["fourthpage"] = "4";
            Response.Redirect("~/LoginPage.aspx",false);
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }


can any one explain how 4 is assigned


Session.Remove("name of your session here");


这篇关于终止当前会话并将值分配给新会话运行时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆