2009-11-18 14 views
5

Jaki jest maksymalny rozmiar, który może pomieścić zmienna sesji? Próbuję przechowywać obiekt w zmiennej sesji, jeśli rozmiar obiektu jest mniejszy niż 80 KB, a następnie działa poprawnie, a jeśli rozmiar jest większy niż 80 KB, to na retereival otrzymuję wyjątek.Jaki jest maksymalny rozmiar, który może pomieścić zmienna sesji?

Jak mogę zwiększyć rozmiar zmiennej sesji?

Takie zachowanie jest na moim serwerze produkcyjnym, na maszynie developerski można przechowywać duże obiekty, jak powyżej 500 KB etc ..

Jestem wykonawczych coś jak ... http://aspalliance.com/1221_CodeSnip_Uploading_Multiple_Files_At_Once.all

tutaj jest mój kod. .

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

Dzięki

+2

Czy wyjąłeś wyjątek? – LiamB

+0

@Pina, Właściwie przechowuję obiekt fileupload i jeśli rozmiar pliku jest większy niż 80 KB, otrzymuję wyjątek typu "Nie mogę uzyskać dostępu do zamkniętego pliku" –

+0

W którym trybie sesji używasz? InProc? SQL? – RickNZ

Odpowiedz

0

Z tego, co mogę myśleć, przechowywanie plików w zmiennej sesji jest złym wyborem! Zamiast tego możesz pomyśleć o umieszczeniu ich w tymczasowej lokalizacji, a następnie po kliknięciu możesz umieścić w prawdziwym miejscu. Później możesz wyczyścić pamięć tymczasową.

Powiązane problemy