线程调用的方法中能不能包含session Request.QueryString 和ViewState?public class TOEXCEL
{
public void aa()
{
这个过程中有
Server.UrlDecode(Request.QueryString("strClassNum")) & ""
dsResult = clsDBProcess.GetDataSet(Session("Server"), Session("Database"), sql)//提示session未宣告 }
}是不是class TOEXCEL中不能有任何参数传入?
public class bb()
{
protected void cmdToExcel_Click(object sender, System.EventArgs e)
{
这里调用 aa.xx()
方法 Thread threads = default(Thread);
TOEXCEL myDB = new TOEXCEL();
threads = new Thread(new ThreadStart(myDB.aa));
threads.Start();
}}
只有在組態檔或 Page 指示詞中將 enableSessionState 設為 true 時,
才能使用工作階段狀態。同時請確定 System.Web.SessionStateModule
或自訂工作階段狀態模組已包括在應用程式組態的 <configuration>\<system.web>\<httpModules> 區段中。dsResult = clsDBProcess.GetDataSet(Session("Server"), Session("Database"), sql)
public class bb : System.Web.Ui.Page
{}ViewState没有试过,应该也是可以的。
才能使用工作階段狀態。同時請確定 System.Web.SessionStateModule
或自訂工作階段狀態模組已包括在應用程式組態的 <configuration>\ <system.web>\ <httpModules> 區段中。
{
int testViewState
{
get
{
return ViewState["xx"]
}
}
int testMemeory = 0;
}即使你的线程的方法是在 bbPage 中,访问 this.Page 和 testViewState 都会引起错误(有时,由于你的线程执行时间太短,可能会在执行 Page_Unload 事件前就完成,不会出现错误)
访问 testMemeory 变量就不会引起错误。