none
[Q&A]070420TechNet巡迴講座-使用微軟技術建構百萬大站-高雄場 RRS feed

  • 問題

  •  感謝學員於胡士亮老師主講的使用微軟技術建構百萬大站-高雄場提問,歡迎諸位高手交流過招,協助解惑! ^___^

    Q: 如果使用者點選一個連結,其後端程式要存取資料庫可能需要花費10秒鐘的時間,常會發現使用者重複點選二次以上或是點取之後按stop,之後再去點選卻沒有反應,請問此狀況下主機執行完指命後是否會嘗試將結果丟回來或是就取消反應?

    2007年4月30日 上午 07:15

解答

  • 基本上 Server 接到要求後就會開始執行,所以如果要避免使用者重複點選造成伺服器負擔,可以考慮在 Server 端或 Client 端進行檢查:

    1. 在 Server 端的實作方式可以在收到要求後存放是否正在執行的 Flag 到 Session 中,可以避免重複執行的問題
    2. 在 Client 端的實作方式是在使用者點選後停用連結或是執行按鈕,這樣也可以避免重複執行的問題

    在執行長時間的程式時,為了避免使用者不耐煩而停止或重複執行,可以在收到 Request 後先回應告訴使用者查詢正在執行中,待執行完畢再使用 Server.Transfer 或是 Server.Redirect 將結果頁顯示給使用者。

    2007年5月6日 下午 03:15