2012-01-25 34 views
1

我們需要通過IIS中託管的WCFService按計劃自動生成報告。該報告是使用ActiveReports創建的。以前,我們通過我們的機器上的Windows應用程序生成報告。我們目前遇到的問題是內存異常。當我們嘗試運行2MB報表時,它運行良好,但是當我們嘗試運行4MB報表時,它並未處理。它拋出內存異常。我們的服務器有4GB RAM,8GB虛擬內存和windows7操作系統。請告訴我們如何解決這個問題。使用ActiveReports創建報告時,IIS WCF服務中的內存問題

+0

您需要確定ActiveReports是否支持在服務器應用程序中使用ActiveReports。它可能僅適用於桌面應用程序。 –

+0

BTW:ActiveReports在ASP.NET服務器應用程序中最常用,當然也是在考慮服務器應用程序時編寫的。儘管它只是一個組件,可以完成開發者所說的任務,因此開發人員必須考慮可伸縮性。 –

回答

0

顯然,如果你有可用的內存和報告是真的 2-4MB那麼報告將運行。我懷疑這個報告比內存中的2-4MB多得多,或者這臺機器沒有太多可用的內存。查看發生了什麼的好方法是運行內存分析器,如AntsdotTrace。請記住,除了要爲報告加載的數據之外,報告頁面中的任何圖像或內容也將存儲在內存中。如果將其導出爲另一種格式(如PDF),則會在存儲器中存儲該PDF的額外開銷。

另外,我們現在也提供ActiveReports Server,它內置了用於以特定格式(顯然通過WCF實現)請求報表的調度和Web服務。它將根據需要通過自動排隊,緩存和負載平衡報告執行來處理可伸縮性。您還可以從Developer Edition上載ActiveReports .rpx報告並立即啓動並運行。只要確保報告的所有代碼都是自包含在.rpx(腳本)中的。

Scott Willeke 
GrapeCity