【发布时间】:2010-12-17 20:11:23
【问题描述】:
会话变量可以容纳的最大大小是多少?我正在尝试将对象存储在会话变量中,如果对象大小低于 80 KB,则工作正常,如果大小大于 80 KB,则在检索时出现异常。
如何增加会话变量大小?
这种行为发生在我的生产服务器上,在开发机器上我可以存储 500 KB 以上的大对象等。
我正在实现类似...http://aspalliance.com/1221_CodeSnip_Uploading_Multiple_Files_At_Once.all
这是我的代码:
private static int count = 0;
protected void Upload_Click(object sender, EventArgs e)
{
for (int loopCount = 0; loopCount < count; loopCount++)
{
HtmlInputFile hif = (HtmlInputFile)Session["myupload" + loopCount];
String filePath = Server.MapPath("~/AdvImages/") + loopCount.ToString() + "_" + hif.PostedFile.FileName;
hif.PostedFile.SaveAs(filePath);
Session.Abandon();
}
}
protected void btnAdd_Click1(object sender, EventArgs e)
{
Session["myupload" + count] = FileUpload1;
count++;
}
谢谢
【问题讨论】:
-
@Pina,实际上我正在存储 fileupload 对象,如果文件大小大于 80 KB,我会收到“无法访问已关闭文件”之类的异常
-
您使用的是哪种会话状态模式?进程内? SQL?
-
你能发布你的代码吗?您在 cmets 中说过,如果超过 80k,您正在做一些不同的事情,所以这听起来不像是大小问题,只是在这种情况下您的代码有问题。
-
@Sosh,其实我正在实现这个东西aspalliance.com/… 多个文件加载一次
-
@Sosh,我 100% 确定,我的代码没有问题,因为我已经检查了所有替代方案,最后我发现了这个问题
标签: asp.net session session-variables