0

使用しているファイルを取得するashxハンドラーがあります。これはSharePointにあり、ファイルの種類を確認してから、を使用して書き込みますResponse.BinaryWrite。このファイルは、すべてのファイルを含む別のサーバーから取得します。3MBのようなファイルをダウンロードしようとすると、正常に動作します。しかし、30MBまたは40MBのファイルをダウンロードしようとすると、エラーが発生します。

Exception of type 'System.OutOfMemoryException' was thrown.   at System.String.GetStringForStringBuilder(String value, Int32 startIndex, Int32 length, Int32 capacity) 

アプリケーションプールを確認したところ、仮想メモリ用に1.5GB、実際のメモリ用に1GBに設定されています。私はアイデアがなく、次にどこに行くべきかわかりません。誰かアイデアがありますか?

    case "PDF":
         context.Response.ContentType = "application/pdf";
         context.Response.AddHeader("content-disposition", "inline; filename=" + asset.A_Name);
    }

    context.Response.BinaryWrite(content);
4

1 に答える 1

0

サーバー メモリにコンテンツをバッファリングしない Response.TransmitFile メソッドを試してみてください。

于 2011-07-20T20:23:36.440 に答える