5
我創建了一個windows服務項目。如果你創建一個新的項目,你得到的東西是這樣的:我應該只使用一項新服務()還是更多?
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1()
};
ServiceBase.Run(ServicesToRun);
現在我有一些功能和計時器添加到我的Service1()
類,然後一切都很好。
現在,讓我們說,我的部門應該做的一些東西,如:閱讀一些文件,刪除某些文件夾,檢查連接...
和他們都應該運行異步。現在什麼更好?複製所有的服務1()的functiont,而不是其他任何變動或創建的每一個「東西」的新類(服務1(),服務2(),...),並添加他們像
ServicesToRun = new ServiceBase[]
{
new Service1(),
new Service2() //not sure this will compile
};
剛問。也許我不明白100%服務是如何工作的...
有趣的問題。我想知道,但從來沒有嘗試過。哦,它肯定會*編譯* - 問題真的是:它*工作*。鑑於API接受一個數組,我的默認假設是「是的,這可以正常工作」。但是......沒有嘗試過。當然,由於服務需要啓動一個新的線程,您可以使用一個服務實例來啓動3組操作, –
您是否看到了這個? http://stackoverflow.com/questions/1688275/can-i-have-multiple-services-hosted-in-a-single-windows-executable - 它討論瞭如何但不是爲什麼。這真的是一個設計問題,取決於你在做什麼。 – ongle