2009-11-17 43 views
0

我需要創建一項服務。我知道你可以只用一個控制檯應用程序來完成它,但它也可以通過ATL完成。ATL服務與簡單的控制檯應用程序服務相比,有什麼好處?我明白,ATL是COM ..但COM與服務有什麼好處..謝謝!控制檯應用服務或ATL服務

回答

0

該服務並不完全受益於COM,而是相反。

通過在服務託管你的COM對象,你會得到服務的所有系統功能(啓動時用戶登錄之前,控制策略看門狗,身份的配置等)

ATL使您能夠運行的機會您的COM對象位於服務上下文中,而不是進程內(DLL)或常規進程外託管。 COM +是定製託管的另一種選擇。

如果你的服務只是一個後臺服務,添加COM支持可以給你簡單的可編程性,但否則我沒有看到任何好處。

所以,我不知道該回答你的問題......問題感到落後:)

+0

我想寫出具有一個監聽套接字的服務。它將有幾個類重疊I/O。傳入的連接將被連接到不同的IO完成端口(取決於「詢問請求」)。我認爲做ATL服務會給我帶來com的額外好處。 (通過com附加一個調試器來找出正在發生的事情等等)。這種方法是好的還是應該在沒有atl的情況下做一個控制檯應用?我也想用這個服務連接到數據庫。希望這可以幫助。 – BabelFish

+0

@BabelFish:我們一直在開發沒有ATL的NT服務很久了,從來沒有調試過它們的問題 - 我們只是附加到過程並像往常一樣進行調試。 – sharptooth

+0

對,COM不會給你任何額外的調試功能。 –