我用C# 做的windows 服务,
创建线程通过反射的方式调用DLL,
当线程的方法执行完,被反射调用的DLL,无法移动或被替换,显示当前有进程占用。
我的预期,windows服务一直在机器上运行,当我想更新对应dll的方法时,只需要在windows服务没调用这个dll的时候,把文件替换。
部分代码:
foreach (DataRow dr in ds.Tables[0].Rows) 根据条件在数据库中查的结果集
{
Task task = new Task();
Thread t = new Thread(new ThreadStart(task.Start));
t.Start();
}
public class Task
{
public void Start()
{
_ass = Assembly.LoadFrom("DLL 的路径");
}
}