2009-11-18 604 views
5

セッション変数が保持できる最大サイズはいくらですか?オブジェクトのサイズが80 KB未満の場合はセッション変数にオブジェクトを格納しようとしていますが、次に正常に動作し、サイズが80 KBより大きい場合、再帰的に例外が発生します。セッション変数に保持できる最大サイズは?

どのようにセッション変数のサイズを大きくすることができますか?

この動作は、開発効率向上のマシン上で、私は500キロバイトなど上記のような大きなオブジェクトを格納することができ、私の本番サーバー上..です

私は何かなどを実施しています...ここ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

例外はありますか? – LiamB

+0

@Pina、実際に私はfileuploadオブジェクトを保存しています。ファイルサイズが80 KBを超える場合、「閉じたファイルにアクセスできない」などの例外が発生しています –

+0

どのセッション状態モードを使用していますか? InProc? SQL? – RickNZ

答えて

1

はこれにrequestLengthDiskThresholdを変更してみてください。

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

グーグルはこのことができます言う:私は考えることができるものから、

http://www.netnewsgroups.net/group/microsoft.public.dotnet.framework.aspnet/topic32900.aspx http://channel9.msdn.com/forums/TechOff/104616-ASPNet-20-Uploading-file-exception/

0

は、セッション変数にファイルを保存することは悪い選択であります!代わりに、それらを一時的な場所に置くことを考えることができますし、アップロードがクリックされると、実際のストレージに置くことができます。後で、一時記憶域をクリアすることができます。

関連する問題