会话变量可以容纳的最大大小是多少?

时间:2009-11-18 11:22:32

标签: asp.net session session-variables

会话变量可容纳的最大大小是多少?我试图将对象存储在会话变量中,如果对象大小小于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++;
}

由于

2 个答案:

答案 0 :(得分:1)

尝试将requestLengthDiskThreshold更改为:

<system.web>
    <httpRuntime executionTimeout="90" 
                 maxRequestLength="20000" 
                 useFullyQualifiedRedirectUrl="false" 
                 requestLengthDiskThreshold="8192"/>
</system.web>

答案 1 :(得分:1)

从我能想到的,将文件存储在会话变量中是一个糟糕的选择!相反,您可以考虑将它们放入临时位置,然后在单击上载时,您可以将其放入真实存储。稍后您可以清除临时存储空间。