C# windows 服务程序

标签 c# windows service

我能够创建一个简单的 Windows 服务应用程序。只是框架。但我仍然很困惑。我应该把我的 Windows 服务代码放在哪里才能真正做一些事情。我有一个单独的程序,我想在此处包含/调用/合并。 应该把程序放在哪里?我应该从哪里开始?

public partial class MyNewService : ServiceBase
{
    public MyNewService()
    {
        InitializeComponent();
        if (!System.Diagnostics.EventLog.SourceExists("MySource"))
        {
            System.Diagnostics.EventLog.CreateEventSource(
                "MySource", "MyNewLog");
        }
        eventLog1.Source = "MySource";
        eventLog1.Log = "MyNewLog";
    }




    static void Main()
    {
        System.ServiceProcess.ServiceBase[] ServicesToRun;
        // Change the following line to match.
        ServicesToRun = new System.ServiceProcess.ServiceBase[] { new MyNewService() };
        System.ServiceProcess.ServiceBase.Run(ServicesToRun);
    }
}

最佳答案

您需要覆盖 OnStart方法(以及其他类似方法,例如 OnStopOnShutdown 等)。

执行此操作时,请确保您的 OnStart 方法不会阻塞或执行时间过长。这通常意味着在其自己的线程中运行您的实际服务逻辑。

关于C# windows 服务程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9744792/

相关文章:

c# - 如何以编程方式更改系统时区

c# - C# 中的 DateTime Parse 困境

c# - 托盘应用程序允许系统在注销或退出时终止我的程序

android - 来自另一个 Activity 的 StopService 不起作用?

c# - EF linq skip/take 在哪里执行?

c# - ListBox 失去焦点后保持选择

Python 2.x - Windows 上的 QueryPerformanceCounter()

windows - 有什么方法可以将 token 设为 "seal",这样子进程就无法继承它了吗?

Android - 为服务实现 startForeground?

android后台服务获取位置