請教各位先進:
我用DataMining的演算法做一個Web的搜尋介面,由於DataMining運算時間較久,故當網頁loading超過5分鐘,網頁就會出現如下圖的畫面,[連線已逾時,伺服器localhost花了太久時間還是無回應]。若將演算法的參數調整為可以在5分鐘以內運算完畢的話,網頁是可以正常運作的,經測試門檻值是落在5分鐘這個關卡。
試著去調整的參數有:
1.IIS的連線限制=>連線逾時(秒) 7200
2.ASP.NET的Web.config
3.SQL搜尋指令:sqlcmd.CommandTimeout = 0;
不過都沒有解決此問題,不知各位先進是否有經驗遇過處理大量運算造成網頁錯誤的問題及解決方法?是否可提供小弟一些方向參考。
謝謝各位指教了。
建議不要在網頁直接處理這種時間太久的動作
背景作業在用ajax的方式檢查是否處理完畢(利用db flag)會比較不影響網頁正常運作
背景作業可以有一支固定的程式來處理,簡單作法動作如下:
上述方式網頁比較不會卡住背景程式也可以擁有比較高的執行權限。
要不要改成用ajax的方式來取得結果?這樣就不必怕碰到頁面timeout的問題。如果使用jQuery,它可以設定timeout參數。