//WebService
private string Test(DavidMessage.SendObject MessObject,string PipelineType)
{
try
{
//读该类型的类名称
string TypeString = ConfigurationSettings.AppSettings[PipelineType]; //组合该类型的DLL名称
string DllPath = Server.MapPath(this.Context.Request.ApplicationPath) + "\\Bin\\" +PipelineType+".dll"; //**************************************************************************
//这里使用反射调用配置中的DLL文件,实现不同通道的短信发送
//利用反射进行动态加载和调用.
Assembly ass=Assembly.LoadFrom(DllPath); //利用dll的路径加载
//加载dll后,需要使用dll中某类.
Type type=ass.GetType(TypeString);//利用类型的命名空间和名称获得类型
//需要实例化类型,才可以使用,参数可以人为的指定,也可以无参数,静态实例可以省略
//利用指定的参数实例话类型
Object obj = Activator.CreateInstance(type);
//调用类型中的某个方法:
//需要首先得到此方法
MethodInfo mi=type.GetMethod("SendMessage");//通过方法名称获得方法 object [] args = new object [] {(object)MessObject}; //为调用的方法赋参数值 //然后对方法进行调用,多态性利用参数进行控制
object result = mi.Invoke(obj,args);//根据参数直线方法,返回值就是原方法的返回值
//**************************************************************************
return result.ToString();
}
catch(Exception Ex)
{
return Ex.ToString();
}
}这是在WebService里使用的,出现了这种怪显现,那位兄弟见过,帮帮忙.这里先行谢过了.
private string Test(DavidMessage.SendObject MessObject,string PipelineType)
{
try
{
//读该类型的类名称
string TypeString = ConfigurationSettings.AppSettings[PipelineType]; //组合该类型的DLL名称
string DllPath = Server.MapPath(this.Context.Request.ApplicationPath) + "\\Bin\\" +PipelineType+".dll"; //**************************************************************************
//这里使用反射调用配置中的DLL文件,实现不同通道的短信发送
//利用反射进行动态加载和调用.
Assembly ass=Assembly.LoadFrom(DllPath); //利用dll的路径加载
//加载dll后,需要使用dll中某类.
Type type=ass.GetType(TypeString);//利用类型的命名空间和名称获得类型
//需要实例化类型,才可以使用,参数可以人为的指定,也可以无参数,静态实例可以省略
//利用指定的参数实例话类型
Object obj = Activator.CreateInstance(type);
//调用类型中的某个方法:
//需要首先得到此方法
MethodInfo mi=type.GetMethod("SendMessage");//通过方法名称获得方法 object [] args = new object [] {(object)MessObject}; //为调用的方法赋参数值 //然后对方法进行调用,多态性利用参数进行控制
object result = mi.Invoke(obj,args);//根据参数直线方法,返回值就是原方法的返回值
//**************************************************************************
return result.ToString();
}
catch(Exception Ex)
{
return Ex.ToString();
}
}这是在WebService里使用的,出现了这种怪显现,那位兄弟见过,帮帮忙.这里先行谢过了.
解决方案 »
- 如何把VS2005的项目转换为Vs.net2003的项目,有没有相关工具啊?
- 怎样设计你DataSet这样的组件啦,500分哟
- 本人有一书上MRP例子 求共同分析者 留下MSN 谢谢
- c#每日一题(一),欢迎C#初学者进来!
- 开发windows程序,不知道使用那个网格控件比较好,请赐教
- c#如何写程序遍历系统中的网页浏览器啊?
- [请教]关于DataGrid的列宽的问题
- 周末快下班了,写的这个程序执行不下去了。在线等高手一起讨论解决。
- 用HttpWebRequest来Post数据,有些成功,有些失败
- 一个大专生有两年工作经验,到北京去好在工作吗?请各位北京的朋友谈一谈
- 共享一下,通过反射得到对象的例子(朋友们顶起来)
- 如何通过反射给自定义的类属性赋值?
=====
那个地方??
object result = mi.Invoke(obj,args) 是这里吗??
调试一下看看
对TypeString检查了吗?
同一个dll,如果你同时通过引用和assembly.loadfrom
这个dll中的class 在这两种方式下其实是两种类型,因为在不同的assembly下
有兴趣就参考下吧.我写了出来.
http://blog.csdn.net/go2newlife/archive/2007/11/27/1904687.aspx