2011-03-01 45 views
1

我有2個斷開的部件 - 一個網站和一個後臺進程。當用戶提交一個長時間運行的請求時,它將被添加到數據庫表中,該表進程將進行進一步處理並在表中設置一個位標誌。後端如何通知用戶界面? - ASP.NET

發生這種情況時,用戶正在等待過程完成。我知道我可以每隔X秒輪詢一次數據庫以驗證處理是否完成。這工作,但我想使這更高性能。

有沒有辦法讓後端通知UI一個進程已經完成? PS:如果我需要使用MSMQ,我想我也可以做到這一點。我不確定在這種情況下是否有幫助。

回答

0

該網站需要通過ajax檢查數據庫(或者只是重新加載頁面)。您不能將服務器連接到某個計算機並告訴它已完成。這將是一個巨大的安全問題。

如果您使用ajax來執行此操作,請求可能非常小,並且可能不會以明顯的方式明智地影響您的應用程序性能。

+0

個人Ajax請求小。但是,如果您每隔幾秒執行一次多個Ajax請求,並且同時使用該站點的用戶數量爲100,則會引起擔心。 – Dusty 2011-03-02 14:18:58

+0

@Dusty,我想知道Facebook是如何做到的?我有一次使用了螢火蟲,而我有一些聊天記錄,並且發現它每隔幾秒就會發送一次Ajax請求。 – 2011-03-02 16:57:30

0

這些天很酷的孩子正在使用HTTP Streaming創建這些頻道。這可能是你的情況矯枉過正,一個快速和容易的Ajax請求可能會讓你在那裏。