2009-10-07 66 views
1

我一直在win2k3(32位)設置中使用ASP.NET圖表控件一段時間沒有任何問題,但已經注意到,在我們的新win2k8(64位)框中,我得到警告消息顯示在圖表控件的事件查看器中。事件查看器中的ASP.NET圖表控件錯誤

在我的web.config文件中,我有以下標籤告訴圖表控件在那裏我可以存儲臨時文件:

<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" /> 

下面是由控制產生的警告消息:


事件代碼:3005 事件消息:發生未處理的異常。 事件時間:2009/10/7下午2點40分03秒 事件時間(UTC):2009/10/7下午2點40分03秒 事件ID:237c3b208962429e8bbc5a48ffd177f0 事件序列:2860 事件發生:26 事件詳細信息代碼:0

應用程序信息: 應用程序域:/ LM/W3SVC/2/ROOT-1-128993655360497729 信任級別:全 應用程序虛擬路徑:/ 應用程序路徑:C:\數據\網站\ MYDOMAIN .com \ 機器名稱:231692-WEB

進程信息: 進程ID:4068 進程名:w3wp.exe 帳戶名:NT AUTHORITY \ NETWORK SERVICE

異常信息: 異常類型:ArgumentException的 異常消息:該圖像是找不到的。

索取信息: 請求URL:http://www.mydomain.com/ChartImg.axd?i=chart_0_3.png&g=bccc8aa11abb470980c60e8cf1e71e15 請求路徑:/ChartImg.axd 用戶主機地址:我的域名IP 用戶:
通過身份驗證:假 身份驗證類型:
線程帳戶名:NT AUTHORITY \ NETWORK SERVICE

線程信息: 線程ID:7 線程帳戶名:NT AUTHORITY \ NETWORK SERVICE 正在模擬:假 堆棧TR王牌:在System.Web.UI.DataVisualization.Charting.ChartHttpHandler.ProcessSavedChartImage(HttpContext的上下文) 在System.Web.UI.DataVisualization.Charting.ChartHttpHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext的上下文) 在的System.Web .HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStep(IExecutionStep步驟,布爾& completedSynchronously)


值得指出的是,所有圖表圖像的在屏幕上正確顯示,所以我不知道何時/何地圖像未找到錯誤正在造成。這是一個64位的問題?

感謝, 豐富

回答

0

我花了一個星期的時間來研究這個問題,似乎沒有人回答我爲什麼在事件查看器中收到警告消息。

在主要的MS Chart論壇上也問過這個問題,但沒有運氣。鏈接這裏:http://social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/thread/75f50254-0f02-4a73-bfbe-afab31f15f77

將標記爲答案只是爲了關閉問題,但如果我找到答案將在未來更新。我懷疑這是發生在更多的人身上,但因爲前端的所有東西看起來都沒問題,所以沒有人真正檢查過日誌,所以他們可能沒有意識到發生了這種情況。

0

你在本地IIS7的網站運行這一點,或者IIS7的網站在ASP.NET 2.0兼容模式下運行?

有可能IIS在記錄日誌或日誌記錄存在問題,然後回退到傳統支持類型模式時有點冗長 - .axd文件是通常不存在的虛擬文件磁盤,它們被映射爲web.config中的處理程序 - 請注意,IIS7現在支持<system.webServer>元素,並且您的處理程序應映射到那裏以獲取新站點,而不是在<system.web>部分。

+0

感謝您的建議Zhaph。站點應用程序池表示它正在集成模式下運行。我的Web.config也包含部分中的圖表控件,所以這有點奇怪。這不是一個表演限制,但它是很好的調整,如果可能的話警告消息消失。我可以嘗試的任何其他提示?再次感謝你的幫助。 – 2009-10-08 08:56:37

+0

不幸的是,這些是我能想到的唯一技巧 - 我根本沒有用IIS7做太多工作。 – 2009-10-08 10:01:36

+0

不用擔心。感謝您的幫助;) – 2009-10-08 13:04:54

1

每當用戶試圖將圖表從IE複製或拖動到Word文檔時,都會出現相同的錯誤。默認情況下,服務器在將圖表圖像傳送到用戶的瀏覽器後立即刪除,而IE似乎不復制緩存的圖像數據。我不確定它背後的機制,但無論是複製還是粘貼,圖像都必須從服務器再次獲取。這個問題是通過在web.config中改變項解決:

<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;deleteAfterServicing=false;" /> 
0

以我的經驗,如果用戶試圖打印的網頁,如果deleteAfterServicing是不是在web.config假,您將收到此錯誤信息,因爲圖像將被刪除。另外,如果deleteAfterServicing = false,如果user1生成圖表,則user2生成覆蓋圖表圖像的圖表,但user2可以成功打印圖表,但user1將觸發該異常。