我正在为我的工作构建一个可扩展的服务应用程序,它“扩展”的方式是加载 DLL 并在其中执行方法。它是这样设计的,所以每次我们有新工作要做时,我都不需要重新编译和重新部署。目前,该服务使用加载一个 DLL Assembly.LoadFrom()
,然后向该服务注册程序集。在注册中,Func<object, bool>
传递了一个指示新作业的入口点的参数。
我的问题是,如果我每次需要通过类似的方式运行任务时都创建实例会更好:
IRunable run = (IRunable)asm.CreateInstance(t.FullName, true);
run.Run();
还是按照我目前的方式来做会更好,我将它存储Func<>
在一个基于计时器调用的类中?