动态调用wcf服务

不拘晓杰 2012-07-30 04:34:04
public static object ExecuteMethod<T>(string pUrl, string pMethodName, params object[] pParams)
{
EndpointAddress address = new EndpointAddress(pUrl);
Binding bindinginstance = null;
NetTcpBinding ws = new NetTcpBinding();
ws.MaxReceivedMessageSize = 20971520;
ws.Security.Mode = SecurityMode.None;
bindinginstance = ws;
using (ChannelFactory<T> channel = new ChannelFactory<T>(bindinginstance, address))
{
T instance = channel.CreateChannel();
using (instance as IDisposable)
{
try
{
Type type = typeof(T);
MethodInfo mi = type.GetMethod(pMethodName);
return mi.Invoke(instance, pParams);
}
catch (TimeoutException)
{
(instance as ICommunicationObject).Abort();
throw;
}
catch (CommunicationException)
{
(instance as ICommunicationObject).Abort();
throw;
}
catch (Exception)
{
(instance as ICommunicationObject).Abort();
throw;
}
}
}
}

在客户端调用:
ExecuteMethod<IService>("net.tcp://192.168.0.1:8001/mex", "Test", new object[] { "参数" })
这句话什么意思,为什么老是说当前上下文中不存在名称“ExecuteMethod”,未能找到类型或命名空间名称“IService”(是否缺少 using 指令或程序集引用?)
...全文
414 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
不拘晓杰 2012-07-31
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
引用 4 楼 的回复:

什么服务代码?

请从最基本的学起,你连WCF的基本运行方式都不知道,一上来看什么动态调用啊?
[/Quote]
唉,悲催,我们公司做系统用wcf,我都是看着人家怎么用,我也就怎么用。一直没有去研究其中的原理。。。谢谢啊!!!七楼
qldsrx 2012-07-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

什么服务代码?
[/Quote]
请从最基本的学起,你连WCF的基本运行方式都不知道,一上来看什么动态调用啊?
kingdom_0 2012-07-30
  • 打赏
  • 举报
回复
是不是IService 所在的 dll 或者 类 没有引用进来
宝_爸 2012-07-30
  • 打赏
  • 举报
回复
你调用ExecuteMethod<T>的时候 T传入的应该是IService,找不到IService的定义。
不拘晓杰 2012-07-30
  • 打赏
  • 举报
回复
什么服务代码?
qldsrx 2012-07-30
  • 打赏
  • 举报
回复
你写了服务代码没有,没有服务代码,你这个客户端调用怎么可能用得起来?IService是任意取的一个服务接口名,由于这个名字比较有代表性,所以一看到就知道它代表了接口服务,这个接口必须先有定义才能用,定义后给服务端和客户端同时引用,你问我它是什么?你自己写的啊,高兴怎么写就怎么写,只要不是空的接口,里面必须至少有一个执行的方法。
不拘晓杰 2012-07-30
  • 打赏
  • 举报
回复
IService是什么,这个调用的代码我都没有看明白,能解说一下吗?谢谢
qldsrx 2012-07-30
  • 打赏
  • 举报
回复
你没有添加IService所在dll的引用啊

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧