簡體   English   中英

如何防止我的HTTP服務器“休眠”?

[英]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.

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