相关疑难解决方法(0)

C#清除会话

问题#1

我想知道我什么时候应该使用:

Session.Abandon() //当我在跟踪期间和调用它之后使用它时 - 我发现会话仍然有一个值.

什么时候我应该使用:

Session.Clear()

我应该何时使用每种特定方法?


  • 一般来说?
  • 在我的具体情况?

我在页面加载中检查会话是否不等于null.如果session等于null,我想清除会话并重定向到登录页面?

我应该使用这样的东西:

private void initSession()
{
    Session.Clear();
    Session.Abandon();
    Response.Redirect("LoginPage.aspx");
}
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net session page-lifecycle

50
推荐指数
1
解决办法
10万
查看次数

Session.Clear()与Session.RemoveAll()

有没有之间的差异Session.Clear()Session.RemoveAll()

描述和文档页面似乎完全相同,但我假设必须有一些创建两个函数的原因,我是对的吗?

c# asp.net session-state

43
推荐指数
2
解决办法
6万
查看次数

Session.Clear(),Session.Abandon(),Session.RemoveAll()的MVC优化?

我正在使用一些应该在用户完成后终止的会话.我偶然发现了这三场杀手.何时是使用这些的最佳时间,因为我使用会话的时间比不是.另外,还有其他会话终止我不知道吗?

.net c# asp.net asp.net-mvc session

28
推荐指数
2
解决办法
4万
查看次数

调用Abandon()后未清除ASP.net MVC 5会话

MVC菜鸟在这里。

当前,我有以下代码通过AJAX加载页面时会触发HomeController

namespace ETTData.Controllers
{
  public class HomeController : Controller
  {
    [HttpPost]
    public ContentResult clearSessions()
    {
        var currentSession = System.Web.HttpContext.Current.Session;

        System.Diagnostics.Debug.WriteLine("BEFORE: " + currentSession.Timeout);

        currentSession.Abandon();
        //currentSession.RemoveAll();
        //currentSession.Clear();

        System.Diagnostics.Debug.WriteLine("AFTER : " + currentSession.Timeout);

        return new ContentResult { Content = "OK", ContentType = "text/plain" };
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

debug.WriteLine的输出是:

之前:35

之后:35

所以你可以看到它有35之前还有35,当它不应该等于什么,因为我用currentSession.Abandon(); 在调用该输出之前。

我通过Global.asax.cs文件设置会话超时:

namespace ETTData
{
    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Session_Start(Object sender, EventArgs …
Run Code Online (Sandbox Code Playgroud)

c# asp.net model-view-controller asp.net-mvc asp.net-mvc-5

5
推荐指数
2
解决办法
857
查看次数