レポート生成時やPDFエクスポート時、現在処理していないレポートのページを、メモリのかわりにハードディスクディスクに格納するかどうかを取得または設定します。
[Visual Basic]
Public Property CacheToDisk As Boolean
戻り値
ブール型。デフォルト値はFalseです。
解説
このプロパティをTrueに設定すると一時ファイルが作成されます。レポートの実行中に未処理の例外がある場合、これらの一時ファイルは削除されずにハードディスク上に残ります。これらのファイルの場所は以下のとおりです。
WinForms: C:\Documents and Settings\<user name>\Local Settings\Application Data\IsolatedStorage
WebForms: C:\Documents and Settings\<machine name>\ASPNET\ Local Settings\Application Data\IsolatedStorage
CacheToDiskプロパティは分離ストレージ(IsolatedStorage)を使用し、生成されるレポートデータをハードディスクに格納します。このためCacheToDiskプロパティを Trueに設定する場合は、このアプリケーション自身が、分離ストレージにアクセスできる権限(適切な IsolatedStorageFilePermission)を有している必要があります。なお、通常の.NET Frameworkのアプリケーションは既にこの権限を有しています。分離ストレージの詳細につきましては、MSDNライブラリの「分離ストレージ」をご確認ください。
■ 注記 ■
このプロパティは、大容量のメモリを消費するレポートの場合のみTrueに設定してください。このプロパティを使用すると、ディスクを使用する上で必要なIO関連等のメモリの使用量が増えます。このため、画像があるレポートや、ページ数が少ない場合は、メモリ使用量の逆転現象が起こります。また、メモリの代わりにハードディスクを使用するため、レポートの生成速度は遅くなります。
・このプロパティは、使用することによってメモリ使用量が減ることを保証するものではなく、メモリ不足による例外エラーの発生を極力少なくさせるための補完的な機能として提供しています。有効性が見受けられるレポートの場合のみに使用してください。
・レポートの生成処理だけでなく、PDFエクスポート処理においてもこの設定は有効です。他の形式のエクスポートではこの機能は働きませんので、大量のレポートをエクスポートする場合に、メモリのリソース不足を引き起こす可能性があります。
・Windows Server 2003などのIIS6.0上で実行する場合、匿名ユーザーは「NETWORK SERVICE」というアカウントで実行されます。このユーザーアカウントは、通常分離ストレージにアクセスできる権限を有していないため、エラーが発生します。MSDNライブラリなどを参照し必要な権限を持ったアカウントで実行するか、IIS5.0のプロセス分離モードで実行してください。
使用例
[Visual Basic]
Private Sub arv_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles arv.Load
Dim rpt As New rptDocument
rpt.Document.CacheToDisk = True
rpt.Run()
arv.Document = rpt.Document
End Sub