table = (DataTable)method.Invoke(o, aa); 这句代码报错,报错如下:
---------------------------
System.InvalidCastException: 无法将类型为“TestWebService.GetUserInfotempResponseGetUserInfotempResult”的对象强制转换为类型“System.Data.DataTable”。 在 postAC.Form1.toolStripButton3_Click(Object sender, EventArgs e)
---------------------------System.InvalidCastException: 无法将类型为“”的对象强制转换为类型“System.Data.DataTable”
代码在我自己上调试没有问题,而在同事的机器上调试就有问题
我的是.net 2.0.50727 sp2 同事的是 .net 2.0.50727 如果这样的话,我同事的机器上需要装什么才行?我已经给他装了.net framework2.0 sp2了,可还是不行。
---------------------------
System.InvalidCastException: 无法将类型为“TestWebService.GetUserInfotempResponseGetUserInfotempResult”的对象强制转换为类型“System.Data.DataTable”。 在 postAC.Form1.toolStripButton3_Click(Object sender, EventArgs e)
---------------------------System.InvalidCastException: 无法将类型为“”的对象强制转换为类型“System.Data.DataTable”
代码在我自己上调试没有问题,而在同事的机器上调试就有问题
我的是.net 2.0.50727 sp2 同事的是 .net 2.0.50727 如果这样的话,我同事的机器上需要装什么才行?我已经给他装了.net framework2.0 sp2了,可还是不行。
解决方案 »
- DataGribView 发生以下异常: System.ArgumentException:DataGridViewComboBoxCell值无效
- C#panel总是白色闪烁
- microsoft.win32这个类适用于什么场合
- 用代理和线程调用方法时为什么不用在方法名后面加() ?
- 关于对象序列化成流的问题,
- 如何将16进制数转换为浮点数?
- 求教网站开发流程,都需要学些啥
- WinForm程序中listview实现
- 初学者请教!!!
- 著名的诺顿磁盘医生NDD32和诺顿碎片整理程序在windows server 2003中不能正常使用了,实在太遗憾了,太
- 求教 同学asp.net面试问题
- Ajax分页读取数据失败
2、检查同事机器上 webservice 用 IE 访问是否正常,是否有防火墙之类的;
3、重新编译webservice 后,重启 iis,后访问试试问题是否解决,有问题欢迎随时反馈。
Type t = asm.GetType("TestWebService.CNMMBBWebService");
object o = Activator.CreateInstance(t); MethodInfo method = t.GetMethod("GetUser
object[] aa = { str, str2, Arg.lunid, Arg.vivion };
table = (DataTable)method.Invoke(o, aa);
我看了下,在报错的机器上类型是这个:TestWebService.GetUserInfotempResponseGetUserInfotempResult
CNMMBBWEBSERVICE.CNMMBBWebService CNWS = new CNMMBBWEBSERVICE.CNMMBBWebService();
table = CNWS.GetUserInfotemp(str, str2, Arg.lunid, Arg.vivion);
webservice 中GetUserInfotemp代码如下:public DataTable GetUserInfotemp(string str,string str2,string lunid,string vivion )
{
DataTable dt = new DataTable(); SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@username", str),
new SqlParameter("@mathingcode", str2), new SqlParameter("@lunid", lunid),
new SqlParameter("@vivion", vivion) }; dt = DbHelper.Query("GetUserInfotemp", parameters);
dt.TableName = "GetUserInfotemp";
return dt; }问题如下:
1:GetUserInfotemp返回的是一个datatable
2:这段代码在我的机器上编译能通过且能正常运行,而在同事的机器上编译通不过,提示为:
无法将类型“CNMMBBWEBSERVICE.GetUserInfotempResponseGetUserInfotempResult”隐式转换为“System.Data.DataTable”3:如果我将GetUserInfotemp的返回值写成string 则同事的机器上能正常。
4:如果我将GetUserInfotemp的返回值写成dataset则同事的机器仍为报错。出错与2类似。5:我的机器为.net 2.0.50727 sp2 同事的是 .net 2.0.50727
这个问题我已经倒腾2天多了,大哥们,麻烦你帮我指点下吧
{
DataTable dt = new DataTable();SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@username", str),
new SqlParameter("@mathingcode", str2), new SqlParameter("@lunid", lunid),
new SqlParameter("@vivion", vivion) };dt = DbHelper.Query("GetUserInfotemp", parameters);
dt.TableName = "GetUserInfotemp";
IFormatter formatter = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
formatter.Serialize(ms, dt);
byte[] bytes = new byte[ms.Length];
ms.Read(bytes,0,bytes.Length);
ms.Close();return bytes;}
客户端再进行反序列化就可以了
CNMMBBWEBSERVICE.CNMMBBWebService CNWS = new CNMMBBWEBSERVICE.CNMMBBWebService();
byte[] bytes = CNWS.GetUserInfotemp(str, str2, Arg.lunid, Arg.vivion);
MemoryStream ms = new MemoryStream(bytes);
IFormatter formatter = new BinaryFormatter();
DataTable dt =(DataTable)formatter.Deserialize(ms);