我有一個windows服務,它將在被調用時啓動(遠程)。我不想讓服務繼續運行,所以我希望服務在空閒時間進入時自行停止,意味着最後一次呼叫後幾分鐘。 我不想停止從我的遠程客戶端的服務,因爲我不知道我是否完成了工作,這就是爲什麼我想在服務端使用一些空閒事件。 有一些方法嗎? 謝謝,在Windows服務中檢測空閒
0
A
回答
1
在每次調用時重置的Windows服務中添加一個定時器。當計時器過去(稍後幾分鐘)時,它會調用服務的停止方法,從而在服務器變爲空閒狀態時有效地停止它。
附加信息 爲了減少你的編碼開銷,你正在尋找一個截取點來處理這個定時器。如果您使用WCF進行服務調用,最簡單的方法是將自定義IParameterInspector作爲服務擴展添加。您可以將定時器邏輯添加到AfterCall()方法中,以便每次服務調用都可以通過同一代碼塊&來重置定時器。有關實現自定義行爲的詳細信息,請參閱this MSDN article。
如果你不使用WCF,這有點棘手。您可以使用Castle Windsor或PostSharp之類的AOP框架,或以消息傳遞方式設計服務。 AOP允許您使用將調用您的重置代碼的屬性來修飾您的方法。消息傳遞包括指定服務的合同,以便在服務中有一個通用入口點,檢查輸入消息&根據其內容將其路由到正確的方法。正如你可以想象的,一個入口點=一個地方添加定時器重置代碼。但是這些都不像WCF解決方案IMO那樣簡單易行。
相關問題
- 1. 檢測服務空閒
- 2. 檢測Windows Phone空閒的方法
- 3. 檢測android空閒
- 4. 檢測服務器中的空閒連接
- 5. 系統空閒時間 - Windows服務
- 6. Android服務:當設備空閒X分鐘時檢測
- 7. VB檢測空閒時間
- 8. 如何檢測Javascript空閒?
- 9. Flex:檢測用戶空閒?
- 10. 系統空閒檢測
- 11. 檢測Winforms中的空閒用戶
- 12. 在Windows 8中是否有Windows Phone「用戶空閒檢測」的類似物?
- 13. 檢測Windows 2008服務器和Windows 2003服務器在C#
- 14. AlarmManager +服務在空閒(屏幕關閉)
- 15. 檢查Windows Mobile設備是否空閒
- 16. Windows phone 7應用程序空閒檢測
- 17. 空閒時間不活動檢測
- 18. 如何檢測PermGen空閒內存
- 19. 如何檢測網絡空閒時間?
- 20. 檢測進程是否空閒
- 21. 如何檢測EC2實例已空閒
- 22. Android應用程序空閒時檢測
- 23. 使用python檢測空閒時間
- 24. 檢測空閒時間有關iframe
- 25. 如何檢測程序何時空閒?
- 26. 檢測WP7應用程序空閒,並執行一些任務
- 27. Linux - 檢測閒置
- 28. 檢測用戶從Windows服務登錄
- 29. 在wp7中禁用設備空閒檢測
- 30. 檢測網絡在Python中是否空閒
是的,我在想,但我也在C#中尋找其他已經定義的機制。如果有... ...? – user810917
另一個問題可能是:有什麼方法可以在執行任何方法之前(或之後)在一個普通的地方攔截所有的服務調用,以便在那裏放置這個定時器並且不編輯所有的方法來調用一個方法來執行它? – user810917
已刪除...抱歉。 – arootbeer