[英]How to prevent my HTTP server from “sleeping”?
我編寫了一個非常基本的基於HTTP的服務器程序,它在我的計算機后台運行,允許我從Android自動執行各種任務(通過Tasker中的HTTP請求)。 這一切都很好(除了這個問題 ),除了超過大約30分鍾的不活動后,應用程序最終入睡,就好像它被分流內存一樣,並且需要很長一段時間才能在收到時醒來HTTP請求或當我嘗試恢復窗口並與UI交互時。
我正在使用System.Net.HttpListener
來實現服務器(使用對BeginListen
異步調用)。 我該如何保持它的腳趾?
您的進程內存是否可能被換出到磁盤? 也許寫一個小監視器任務,每隔5分鍾就會ping一次? 請注意,這也可用於確保它仍在運行 - 如果它已關閉,它可以通過電子郵件發送給您,例如:)
什么是您的操作系統(Windows XP / Seven / Server 2008 ...)和發行版? (Home / Pro / SBS ......)?
盡量優先考慮您的流程(如實時)。
您還可以嘗試每10分鍾對您的流程執行一些任務...
也許你可以做另一個線程,並定期檢查你的HttpListerner實例IsListening ?
看起來問題描述缺少提及實際問題本身。 在Windows應用程序上不進入睡眠模式。 非活動應用程序可能會被交換,但在收到請求時不應該花費很長時間。 在.Net 2中,由於長時間不活動導致監聽器對象本身或關聯對象的垃圾收集,我注意到了類似的行為。 嘗試保持監聽器對象的靜態引用。這可能會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.