だから私はWindowsサービスを持っていて、OnStartでタスクを開始しました
partial class AppServices : ServiceBase
{
private static readonly ILog Log = LogManager.GetCurrentClassLogger();
private Task _task;
public AppServices()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
Log.Info("Service started");
_task = Task.Factory.StartNew(StartWork, TaskCreationOptions.LongRunning);
}
protected override void OnStop()
{
Log.Info("Service stopped");
}
private void StartWork()
{
while(true)
{
// grab some data from db or services
}
}
CancellationTokenを追加してOnStopでタスクを停止する必要がありますか、それとも不要ですか?サービスが停止するとき-タスクも停止するため。安全かどうか?