Web Service C#中DLL的调用函数动态

jsfelipearaujo

我有一个名为“ 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章