問題
最近將 SQL Server 從 2008 升級到 2016 ,
透過 IE 開啟 Reporting Services(SSRS) 的報表時,
有時候會有卡住(Hang)的狀況。
正常的狀況下, 開啟(GET) ReportViewer.aspx
後,
會再透過 ScriptManager
(POST) 將報表給 Load 出來,如下,
有卡住(Hang)的狀況,就是沒有第二次的 POST
,所以畫面上就只有 Report 工具列顯示出來。
解決
以下為 SSRS 報表在 IE 上 Hang 住的狀況,
看起來網頁似乎沒有 Load 完,
但是按下停止 Load (X) 後,
報表卻顯示出來了。
在 ReportViewer.aspx
中覆寫 __doPostBack(eventTarget, eventArgument)
加入 alert
,
Hang 住的狀況,__doPostBack
並不會被執行到。
一直在 IE 上測試,將 URL Copy 到 Chrome 測試看看,
結果測試了 30 幾遍,在 Chrome 上並不會有 Hang 住的狀況。
回到 IE 來看,ReportViewer.aspx
似乎有套用 相容性,
於是在 ReportViewer.aspx
原始碼中加入使用最新版本 的 Header,如下,
1 | <meta http-equiv="X-UA-Compatible" content="IE=edge" /> |
再執行多次,就不會有 Hang 住的狀況了~