我有一個Windows服務執行兩個函數(函數1和函數2),但函數2需要5分鐘才能執行(數據庫中的審計用戶)。Windows服務中的多線程
當我啓動服務時,顯示超時消息:'錯誤: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");
}
此問題似乎與服務無關。你只是問如何創建一個線程。這是一個相當簡單的任務,已經在廣泛的範圍內廣泛覆蓋。請使用websearch。 – 2014-09-02 14:05:37
這兩個函數都訪問數據庫? – 2014-09-02 14:06:35
@DavidHeffernan其實,如果不是服務,他不會有問題。這是一個問題,因爲他試圖在OnStart()中的服務主線程上完成所有工作。如果他在控制檯應用程序的main()中執行此操作,則不需要線程。 – Pete 2014-09-04 19:26:34