我有一个名为“A”的Web服务。
在这个WS上,我只想继续查看已安装的文件夹,换句话说,一起查看主DLL文件。
在这个目录中,我计划放置项目的“模块”并与我的WS共享功能(操作合同)。
例如:
ModuleOne.dll具有以下功能:
string[] getUsersFromDatabase();
MyService.dll具有以下功能:
object CallEventByName(string eventName, params string parameters);
我想象一下:
foreach string file in fileList
// Check if DLL file have the function equal to 'eventName',
// call the function passing your parameters if have
创建申请人SOAP时,请指明功能名称和参数。我的WS需要智能来管理这个请求并返回“返回”哈哈。
我能为此做些什么?
答案 0 :(得分:0)
像这样的东西,如果要加载的dll有依赖关系可能会有问题,那么你也加载了这个dll
object CallFunction(string[] fileList , string eventName , object[] parameters){
foreach(var file in fileList)
{
Assembly assem = Assembly.LoadFrom(file);
foreach(var t in assem.GetTypes())
{
var methodInfo = t.GetMethod(eventName);
if(methodInfo != null)
{
var obj = Activator.CreateInstance(t);
return methodInfo.Invoke(obj , parameters);
}
}
}
return null;
}