0

我在Global.asax中 運行的Application_Start()後臺線程使用像Windows服務 但applicaton_end火,當所有會議在我的網站結束後臺線程

我有一個短信商務與web服務的工作,我希望有代理在我的服務器,像Windows服務 檢查傳入消息

我增加會話超時10個小時,但是當我關閉瀏覽器應用程序結束時觸發和 我的線程停止工作

我不能改變服務器屬性

我可以禁用application_end線程繼續工作嗎?

我向你道歉,因爲英語寫作

回答

0

iis的自動關閉網站的應用程序時,沒有會話在網站 爲禁止開放這一點,你可以在IIS中更改空閒時間閱讀或在Global.asax中(application_end)功能的網站鏈接,開始一個新的會話

1

你應該做的是作爲服務運行或批處理程序做一個單獨的程序。儘管ASP.NET在頁面加載之間持久存在靜態變量等,但您不應該使用它在後臺運行。不保證事情會繼續運行。

如果在服務器上發生某些事情時(如收到的消息(如在facebook上),某人響應請求或引發其他事件),您需要實施輪詢在用戶看到的使用AJAX的網頁上的javascript系統(查看它......這樣一個真棒概念)定期與服務器交談以查看是否發生了任何事情。這就是Facebook聊天如何與大多數網絡郵件系統一起檢查新郵件的方式。服務器不會與瀏覽器通話...如果發生任何事情,瀏覽器會詢問服務器。

下面是一個使用AJAX聊天程序的例子:http://www.dynamicajax.com/fr/JSON_AJAX_Web_Chat-.html

這不正是你在做什麼,但它表明了試圖檢查一番頁面加載後,使該概念用戶的瀏覽器響應。

0

不能使用.NET版本的quartz-scheduler庫(http://quartz-scheduler.org/)來定義和基於配置(cron expresion)觸發作業。