我有一个名为“ 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需要情报来管理此申请并返回“返回”哈哈。
我可以给谁呢?
这样的事情,如果您要加载的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;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句