在添加以下代码之前,我的代码还可以。现在,当我提交表单后单击首页时,我将重定向到登录页面。
我在不同的部分添加了以下两个代码块,它们都使我的会话变量超时
第一段:
DateTime date1 = DateTime.UtcNow;
string dateTime = date1.ToString("yyyyMMddHHmm");
string fileName = string.Concat(string.Concat(jRequestId, "-"), dateTime);
string jsonLogFolderPath = "~/App_code/jsonLog";
if (!System.IO.Directory.Exists(Server.MapPath(jsonLogFolderPath)))
{
System.IO.Directory.CreateDirectory(Server.MapPath(jsonLogFolderPath));
}
string path = Server.MapPath(jsonLogFolderPath + "/" + fileName + ".txt");
if (!File.Exists(path))
{
using (System.IO.StreamWriter jsonLogFile = new System.IO.StreamWriter(path))
{
jsonLogFile.Write(json);
jsonLogFile.Close();
}
}
else
{
divErrorMsg.Style.Add("display", "block");
ErrorLog.LogError(new Exception("Unable to create Text file"));
dbconn.Close();
return;
}
第二段:`
string requestID = Session["requestID"].ToString();
string reportsFolderPath = "~/App_code/Reports";
if (!System.IO.Directory.Exists(Server.MapPath(reportsFolderPath)))
{
System.IO.Directory.CreateDirectory(Server.MapPath(reportsFolderPath));
}
string reportsPath = Server.MapPath(reportsFolderPath + "/" + "ReportSubmissionSummary-" + requestID + ".pdf");
if (!File.Exists(reportsPath))
{
BinaryWriter reportWriter = new BinaryWriter(new FileStream(reportsPath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None));
reportWriter.Write(bytes);
reportWriter.Close();
}
else
{
divErrorMsg.Style.Add("display", "block");
ErrorLog.LogError(new Exception("Unable to store the pdf Report"));
dbconn.Close();
return;
}
答案 0 :(得分:0)
更改app_code文件夹中的文件(或bin文件夹,web.config文件,machine.config文件)将导致应用程序重新启动,并且是您释放会话信息的原因-假设您正在使用标准的inproc会话管理。
如果可能的话,最简单的解决方案是不写到该文件夹,如果绝对需要,那么您将不得不从内存会话管理转移到另一种方法