使用线程 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;
【讨论】:
以上是关于使用线程 asp.net web 表单按钮单击会话到期后的主要内容,如果未能解决你的问题,请参考以下文章