如何从sql server数据库

时间:2015-07-28 13:17:36

标签: asp.net sql-server asp.net-mvc-4 session session-management

我有一个解决方案,它有不同的项目,如ASP.Net     和ASP.Net MVC在这个解决方案中。当用户登录时     应用程序,我需要传递给另一个项目的相同凭据     在相同的解决方案它不应再问凭证,因为他有     已登录。为此,我已将会话详细信息存储在sql中     服务器数据库使用SqlServer模式。但问题是我无法解决     获取存储在数据库中的会话。     任何有关这方面的帮助将不胜感激。提前谢谢。

这是我试图从ASPState数据库中获取数据

public ActionResult Home()
    {
        ViewBag.Result =Session["username"].ToString();

        SqlCommand cmd = new SqlCommand("select SessionId from 
         ASPStateTempSessions", con);

        byte[] bytdata = new byte[50];
        con.Open();
        SqlDataReader dr = cmd.ExecuteReader();
        var list = new List<LoginUser>();
        if(dr.HasRows)
        {
            while(dr.Read())
            {
                //obj=dr["SessionId"];
                string obj = dr["SessionId"].ToString();
                bytdata = System.Text.Encoding.UTF8.GetBytes(obj);
                System.IO.MemoryStream ms = new System.IO.MemoryStream(bytdata);
                    BinaryFormatter bin = new BinaryFormatter();
                    //bin.Serialize(ms, bytdata);
                    //list = (List<LoginUser>)bin.Deserialize(ms);

                    string session = Convert.ToString(bin.Deserialize(ms));
            }
        }
        ViewBag.Data = list;
        return View();
    }

这就是我配置的离子Web.config

 <sessionState mode="SQLServer" customProvider="DefaultSessionProvider">
  <providers>
    <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="SessionSqlCon" cookieless="false" timeout="10" />
  </providers>
</sessionState>

0 个答案:

没有答案