переменная сеанса в c # - PullRequest
1 голос
/ 31 марта 2012
<configuration>
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
  <sessionState timeout="1" mode="InProc" cookieless="false" >
  </sessionState>
  <compilation debug="true" targetFramework="4.0"/>
<authentication mode="Forms">
  <forms loginUrl="~/Account/Login.aspx" timeout="1"/>
</authentication>

я создал сеанс, если пользователь аутентифицирован как этот

if (HttpContext.Current.User.Identity.IsAuthenticated)
    {

        string name = HttpContext.Current.User.Identity.Name.ToString();
        Session["username"] = name;
    }

, тогда я проверяю, завершается ли сеанс, как это: ** сеанс не становится нулевым через 1 минуту, и пользователь всегда входит в систему любая помощь

это код:

     Welcome to ASP.NET! test1
     <p>
     To  visit  test2 go to<asp:LinkButton ID="LinkButton1" runat="server" 
      onclick="LinkButton1_Click">here</asp:LinkButton> 
     </p>
     <asp:Label ID="msg" runat="server" Text=""></asp:Label>

на стороне сервера

    protected void LinkButton1_Click(object sender, EventArgs e)
   {
     if (HttpContext.Current.User.Identity.IsAuthenticated)
    {

    string name = HttpContext.Current.User.Identity.Name.ToString();
    Session["username"] = name;
    if (Session["username"] == null)
        Response.Redirect("~/SessionExpired.aspx");
    else

 msg.Text = "session still exist the session will be timedout after "+Session.Timeout+ "min";
 }
 else
    Response.Write("please login");
 }

Ответы [ 3 ]

2 голосов
/ 31 марта 2012
1 голос
/ 31 марта 2012

Нет никакого шанса быть объектом Session ["username"] в null.так что если заявление бесполезно ..

string name = HttpContext.Current.User.Identity.Name.ToString();
    Session["username"] = name;
    if (Session["username"] == null)
        Response.Redirect("~/SessionExpired.aspx");
0 голосов
/ 31 марта 2012

@ bassem ala: хотя вы устанавливаете период ожидания сеанса в файле конфигурации по умолчанию, asp.net проверяет значение времени ожидания сеанса серверов. Вы должны вручную установить нулевые значения сеанса через одну минуту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...