【发布时间】:2014-09-02 13:03:36
【问题描述】:
我有一个 Windows 服务执行两个函数(函数 1 和函数 2),但是函数 2 需要 5 分钟才能执行(审核数据库中的用户)。
当我启动服务时,会显示一条超时消息:'ERROR: 1053'。因为function2运行缓慢,但是如果我注释function2,服务运行正常。
我认为 MultiThread 是一种解决方案,但我从来没有使用过这个,如何在这个服务中实现 MultiThread?
我的启动功能:
protected override void OnStart(string[] args)
{
// TODO: Add code here to start your service.
Function1();
Function2();
aTimer.Enabled = true;
eventLog1.WriteEntry("Starting");
}
【问题讨论】:
-
这个问题似乎与服务无关。您只是在询问如何创建线程。这是一项相当简单的任务,已经在大约无数个地方广泛涵盖。请使用网络搜索。
-
两个函数都在访问数据库吗?
-
@DavidHeffernan 实际上,如果不是服务,他不会有问题。这是一个问题,因为他试图在 OnStart() 中的服务的主线程上完成所有工作。如果他在控制台应用程序的 main() 中执行此操作,则不需要线程。
标签: c# windows multithreading service windows-services