我有一個我想作爲後臺進程運行的DLL。因此,在C#應用程序中,我首先想要在所選DLL中運行此過程,然後讓我的應用程序繼續運行在後臺運行的DLL進程。從DLL運行後臺異步進程
我見過一些文章和網站,但不知道哪一條是最佳路徑。
任何人有任何想法?
歡呼聲
我有一個我想作爲後臺進程運行的DLL。因此,在C#應用程序中,我首先想要在所選DLL中運行此過程,然後讓我的應用程序繼續運行在後臺運行的DLL進程。從DLL運行後臺異步進程
我見過一些文章和網站,但不知道哪一條是最佳路徑。
任何人有任何想法?
歡呼聲
DLL不是進程,不能運行本身。不過,您可以設計一個Windows服務並在您的DLL調用中包裝服務代碼,以使該功能可作爲持續運行的後臺進程提供。
http://msdn.microsoft.com/en-us/library/d56de412(v=vs.80).aspx
假設你事先選擇.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並在改變。例如GetUserName
到Start
,以配合我上面的例子。
是的,這就是我的意思,對不起,在這一天遲到:Sd – Funky 2011-02-16 15:59:33