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 指令或程序集引用?)

解决方案 »

  1.   

    你没有添加IService所在dll的引用啊
      

  2.   

    IService是什么,这个调用的代码我都没有看明白,能解说一下吗?谢谢
      

  3.   

    你写了服务代码没有,没有服务代码,你这个客户端调用怎么可能用得起来?IService是任意取的一个服务接口名,由于这个名字比较有代表性,所以一看到就知道它代表了接口服务,这个接口必须先有定义才能用,定义后给服务端和客户端同时引用,你问我它是什么?你自己写的啊,高兴怎么写就怎么写,只要不是空的接口,里面必须至少有一个执行的方法。
      

  4.   

    你调用ExecuteMethod<T>的时候  T传入的应该是IService,找不到IService的定义。
      

  5.   

    是不是IService 所在的 dll 或者 类 没有引用进来
      

  6.   

    请从最基本的学起,你连WCF的基本运行方式都不知道,一上来看什么动态调用啊?
      

  7.   

    唉,悲催,我们公司做系统用wcf,我都是看着人家怎么用,我也就怎么用。一直没有去研究其中的原理谢谢啊!!!七楼