簡體   English   中英

ASP.NET在SQL中將報表排隊並在可用時更新用戶的最佳方法

[英]ASP.NET Best way to queue a report in sql and then update the user when it's available

我想允許網站上的用戶將報告排隊(在sql表中輸入請求)。 Windows應用程序將處理該隊列,該應用程序將從sql服務器讀取隊列,運行報告,並更新記錄中的reportcomplete字段。 我需要能夠發布一條類似於“生成報告”的消息,然后在報告可用時提醒用戶。 我玩弄了SQLDependency,可以觸發onchange事件,但是當然我無法回到已經在瀏覽器中加載的頁面。 關於如何完成此操作的想法幾乎不存在,我認為SQLDependency可能是錯誤的途徑。 有任何想法嗎?

HTTP無法連接回客戶端。 唯一的解決方案是通常通過一條長尾巴(例如Comet Ajax )請求讓客戶端進行輪詢。 因此,原始頁面請求返回,腳本在結果頁面上啟動,並發布一個后台請求,該后台請求輸入ASP.Net代碼並阻止事件。 SQLDependency通知事件,因此長尾請求重新激活並將響應返回給代理,該代理現在完成Ajax調用並可以更新頁面。 至少這是10000英尺的視圖。 這將起作用,但不會擴展(主要是由於Ajax請求(阻塞的ASP.Net處理線程)占用了資源)。 存在更多可擴展的方法,但是要復雜得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM