重大问题:vb2005 reportviewer rdlc报表预览一次产生一个临时文件!
在使用rdlc报表的时候有没有注意到reportviewer每预览一次就在c:\Documents and Settings\Administrator\Local Settings\Application Data\IsolatedStorage(用户文件夹下),该文件夹的下还有许多的不同程序对应的文件夹,每预览一次就产生一个-ReportPageTempFile开头的文件,报表如果内容大的话就很占空间,程序结束也不可以自动清除,各种系统清理软件都认不到这种文件,本人在做一个图片打印程序,打印一张A3图片,产生临时报表文件有15M左右,我打印几十次就可能吃掉1G的C盘空间!不知道诸位有没有发现!要怎么避免!谢谢! --------------------编程问答-------------------- 只有在动态调用报表的时候才会出现这种情况! --------------------编程问答-------------------- 试下每次用完报表后都调用:reportviewer.Dispose(); --------------------编程问答-------------------- 不行,只要报表加载就会产生,窗口关闭时调用:
reportviewer.Dispose();还是一样的!
我还用蜡人张的例子试了一下,只要是动态调用报表就会出现这种情况!是不是bug啊! --------------------编程问答-------------------- 应该是bug,不行的话只能手工清理吧
--------------------编程问答--------------------
Private Sub CleanupReportViewerTempFiles()
Dim appPath As String = System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
If Not appPath.EndsWith("\") Then
appPath &= "\"
End If
appPath &= "IsolatedStorage"
For Each fileName As String In System.IO.Directory.GetFiles(appPath, "ReportPageTempFile-*", SearchOption.AllDirectories)
If File.GetLastWriteTime(fileName) < Date.Today Then
File.Delete(fileName)
End If
Next
End Sub
补充:.NET技术 , VB.NET