簡體   English   中英

編寫C#TSR的可接受方式是什么?

[英]What's the accepted way to write a C# TSR?

我正在使用C#編寫一個WCF路由器,我想在不使用Console.ReadKey“hack”的情況下繼續運行。 我想知道是否有一種可以接受的方式在C#中做到這一點,它更優雅

while (true)
    Thread.Sleep(100);

創建一個windows service項目。 與標准Windows客戶端相比,Windows服務具有持久的生命周期。

你可以在這里開始吧。

來自msdn:

加載服務后,必須啟動它。 啟動服務允許它開始運作。 您可以從服務控制管理器,服務器資源管理器或通過調用Start方法從代碼啟動服務。 Start方法將處理傳遞給應用程序的OnStart方法,並處理您在那里定義的任何代碼。

A running service can exist in this state indefinitely until it is either stopped or paused or until the computer shuts down. 服務可以存在三種基本狀態之一:正在運行,已暫停或已停止 您可以查詢狀態以確定服務所處的狀態。

也許使用ManualResetEvent?

ManualResetEvent stopEvent = new ManualResetEvent(false);

public void StartService()
{

     service.Open();
     stopEvent.WaitOne()
}

然后,您可以在希望服務終止時執行stopEvent.Set()。

暫無
暫無

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

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