使用线程 asp.net web 表单按钮单击会话到期后

Posted

技术标签:

【中文标题】使用线程 asp.net web 表单按钮单击会话到期后【英文标题】:After button click session expiring using thread asp.net web forms 【发布时间】:2019-12-19 22:45:57 【问题描述】:

下面是我的按钮点击代码,点击后所有页面中的会话到期

protected void btnscreenshot_click(object sender, EventArgs e)


    allpanels.Visible = true;
    Thread thread = new Thread(GenerateThumbnail);
    thread.SetApartmentState(ApartmentState.STA);
    thread.Start();
    thread.Join();


点击按钮后如何管理会话过期,提前感谢

【问题讨论】:

【参考方案1】:

第一道

只有在 enableSessionState 设置为 True 时才能访问会话状态...

在页面目录中......你必须设置

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="frmTest.aspx.cs" Inherits="Testing_frmTest" EnableSessionState="True"%>

或者在 web.conig 中包含这个在 System.web...

<pages enableSessionState = "true" />

第二种方式

在线程中创建一个单独的方法并存储会话

 protected void btnscreenshot_click(object sender, EventArgs e)
    
        DataTable dt = null;
        var threadexample = new Thread(() =>
        
            dt = GetData();
        );
        threadexample.Start();
        threadexample.Join();
        Session["ThreadTesting"] = dt;

    
    protected DataTable GetData()
    
        DataTable dt = new DataTable();
       //Do Your Process
        return dt;
    

【讨论】:

这也不起作用。 @akhilesh 辛格 兄弟我认为解决方案是:codeproject.com/Questions/470480/… .@akhilesh singh

以上是关于使用线程 asp.net web 表单按钮单击会话到期后的主要内容,如果未能解决你的问题,请参考以下文章

如何使用asp.net按钮通过jquery进行验证然后进入后台代码web表单

使用 asp.net 中的会话从帐户注销时遇到问题

使用 ASP.NET 会话状态服务跨应用程序共享会话

从 ASP.NET 页面按钮启动 WPF 单击

在 ASP.NET 中清除会话

在 ASP.net MVC 5 应用程序中单击按钮时使用 JavaScript/jQuery 将用户重定向到页面