1.
剛開始用戶使用非常正常,但使用一天(該用戶使用報表頻率非常大)就會出現"報表加載失敗",然後用戶重啟服務器這後又可以了.
我發現在C:\Windows\Temp這個臨時文件裡面有大量的水晶報表文件,每使用一次就會生成幾個文件,在電腦沒有重新啟動的情況下它不會被刪除,而出現大量的無用文件,在google裡面搜了一圈發現也有人碰到這樣的情況但回答的很模糊只是說要將水晶報表裝載的文檔關閉掉,從這裡可以看出出現這樣的錯誤應該是程序員人為照成的.
具體解決如下:
1.ReportDocumen實例必須為類成員
private ReportDocument prtp = new ReportDocument();
2.使用完水晶報表必須關閉文件,這樣子就不會在Windows的臨時文件裡面產生.
private void Page_Unload(object sender, EventArgs e)
{
prtp.Dispose();
}
Page_Unload 事件是在頁面完全顯示的時候運行,這樣子就解決了.