从DLL运行后台异步进程

时间:2011-02-16 15:46:33

标签: c# dll asynchronous

我有一个DLL,我想作为后台进程运行。因此,在C#应用程序中,我首先要在所选的DLL中运行此过程,然后让我的应用程序继续在后台运行的DLL进程。

我看过一些文章和网站,但不确定哪条是最好的选择。

有人有什么想法吗?

干杯

2 个答案:

答案 0 :(得分:1)

DLL不是进程,无法自行运行。但是,您可以设计一个Windows服务并围绕DLL调用包装服务代码,以使该功能可用作连续运行的后台进程。

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

答案 1 :(得分: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并将示例中的GetUserName更改为Start,以符合上述示例。