Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the maximum size a session variable can hold?

What is the maximum size a session variable can hold ? I am trying to store object in session variable, if object size is under 80 KB, then working fine and if the size is greater than 80 KB then on retrieval I am getting an exception.

How can I increase the session variable size?

This behaviour is on my production server, on the development machine I can store big objects like above 500 KB etc..

I am implementing something like... http://aspalliance.com/1221_CodeSnip_Uploading_Multiple_Files_At_Once.all

Here is my code:

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++;
}

Thanks

like image 407
Muhammad Akhtar Avatar asked Nov 18 '09 11:11

Muhammad Akhtar


2 Answers

From what i can think of, storing files in a session variable is a bad choice! Instead you can think of putting them into a temp location and then when upload is clicked you can put the to the real storage. Later on you can clear off the temp storage.

like image 28
Illuminati Avatar answered Sep 28 '22 23:09

Illuminati


Try to change requestLengthDiskThreshold to this:

<system.web>
    <httpRuntime executionTimeout="90" 
                 maxRequestLength="20000" 
                 useFullyQualifiedRedirectUrl="false" 
                 requestLengthDiskThreshold="8192"/>
</system.web>
like image 199
Vitaly Avatar answered Sep 28 '22 22:09

Vitaly