2011-02-16 122 views
1

我有一個我想作爲後臺進程運行的DLL。因此,在C#應用程序中,我首先想要在所選DLL中運行此過程,然後讓我的應用程序繼續運行在後臺運行的DLL進程。從DLL運行後臺異步進程

我見過一些文章和網站,但不知道哪一條是最佳路徑。

任何人有任何想法?

歡呼聲

回答

1

DLL不是進程,不能運行本身。不過,您可以設計一個Windows服務並在您的DLL調用中包裝服務代碼,以使該功能可作爲持續運行的後臺進程提供。

http://msdn.microsoft.com/en-us/library/d56de412(v=vs.80).aspx

+0

是的,這就是我的意思,對不起,在這一天遲到:Sd – Funky 2011-02-16 15:59:33

0

假設你事先選擇.DLL(靜態綁定):

添加.dll文件作爲參考到您的項目。然後調用MyDll.Core.Start();,其中MyDll是您的.dll的默認名稱空間,Core是一個.cs類,而Start()是您定義的函數,ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork), null);和DoWork會執行您的實際後臺工作。

假設你想要的最終用戶從應用程序中選擇該.dll(後期綁定):

http://www.c-sharpcorner.com/UploadFile/samhaidar/LateBindingWithReflection09122005053810AM/LateBindingWithReflection.aspx並在改變。例如GetUserNameStart,以配合我上面的例子。