我能够创建一个简单的 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方法(以及其他类似方法,例如 OnStop
、OnShutdown
等)。
执行此操作时,请确保您的 OnStart
方法不会阻塞或执行时间过长。这通常意味着在其自己的线程中运行您的实际服务逻辑。
关于C# windows 服务程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9744792/