原文地址:http://blog.csdn.net/castlooo/archive/2010/05/06/5562619.aspx

客户端调用wcf ,有时需要动态的调用服务端的WCF中的方法,本方法,反射wcf 的接口,动态调用接口中的方法。

主要为,动态绑定,反射动态调用。

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 vErr)  
            {  
                (instance as ICommunicationObject).Abort();  
                throw;  
            }  
        }  
    }  
}  

本文使用的是nettcpbinding 绑定方式,可修改。

调用方法使用

ExecuteMethod<IService>("net.tcp://192.168.0.1:8001/mex", "Test", new object[] { "参数" })

另外还有一篇贴子可参考:http://hi.baidu.com/meback/blog/item/c140495447258e5d564e0006.html

转载于:https://www.cnblogs.com/wiseant/archive/2010/07/29/1787599.html

动态调用WCF服务[转]相关推荐

  1. 客户端动态调用WCF服务中的方法

    首先要写一个执行动态调用的方法:在里面实现反射调用. public static object ExecuteMethod<T>(string pUrl,string pMethodNam ...

  2. 学习 WCF (6)--学习调用WCF服务的各种方法

    根据不同的情况,我们可以用不同的方法调用WCF服务,本文简单总结了一下调用WCF的一些方法(代理类,Ajax...),分享给大家.开发工具调用WCF 这中方法很方便也很简单,很多工作VS就帮我们完成了 ...

  3. C#动态调用WCF接口,两种方式任你选。

    REFERENCE FROM : http://www.cnblogs.com/Leo_wl/p/4762784.html 写在前面 接触WCF还是它在最初诞生之处,一个分布式应用的巨作. 从开始接触 ...

  4. C#动态调用web服务 远程调用技术WebService

    一.课程介绍 一位伟大的讲师曾经说过一句话:事物存在即合理!意思就是说:任何存在的事物都有其存在的原因,存在的一切事物都可以找到其存在的理由,我们应当把焦点放在因果关联的本质上.所以在本次分享课开课之 ...

  5. 【随记】动态调用web服务

    通常我们在程序中需要调用WebService时,都是通过"添加Web引用",让VS.NET环境来为我们生成服务代理,然后调用对应的Web服务.这样是使工作简单了,但是却和提供Web ...

  6. SharePoint 2013 调用WCF服务简单示例

    内容比较简单,主要记录自己使用SharePoint 2013WCF服务遇到的小问题和小经验,分享给大家,希望能够给需要的人有所帮助.好吧,进入正题! 第一部分 SharePoint 2013调用自带W ...

  7. 实现在GET请求下调用WCF服务时传递对象(复合类型)参数

    WCF实现RESETFUL架构很容易,说白了,就是使WCF能够响应HTTP请求并返回所需的资源,如果有人不知道如何实现WCF支持HTTP请求的,可参见我之前的文章<实现jquery.ajax及原 ...

  8. 实现jquery.ajax及原生的XMLHttpRequest调用WCF服务的方法

    废话不多说,直接讲解实现步骤 一.首先我们需定义支持WEB HTTP方法调用的WCF服务契约及实现服务契约类(重点关注各attribute),代码如下: //IAddService.cs namesp ...

  9. WCF 入门之旅(4): 怎样用客户端调用WCF服务

    WCF 入门之旅(4): 怎样用客户端调用WCF服务 前面的demo已经能够跑起来,现在开始考虑用客户端来测试所写的应用了,首先用个普通的应用程序来调用所写的wcf服务吧.其实最后运行wcf服务后的页 ...

最新文章

  1. 简单介绍python迭代器和生成器
  2. GitHub 热榜:这款开源神器可帮您将文本转换为手写文字,并下载为 PDF 格式文件!...
  3. NetworkComms V3 之支持TCP连接和UDP连接
  4. Truncated incorrect DOUBLE value: 'xxx'的解决方法
  5. 如何从JQuery中的each()函数中断/退出? [重复]
  6. IJCAI最佳论文公布 华人斩获最佳学生论文奖!
  7. ILSpy .NET反编译工具下载地址
  8. 小猪的Python学习之旅 —— 3.正则表达式
  9. SSH服务配置公钥及双重验证
  10. 【中科三方】什么是云解析DNS?云解析DNS有必要购买吗?
  11. EXCEL MATCH函数
  12. 强化理解指针、指针数组和数组指针(从三味书屋到成华大道)
  13. couchbase 报 The Content of this Observable is already released. Subscribe earlier or tune the Couch
  14. 谈谈开展信息安全工作的四个权力
  15. 《Learning Enriched Features for Real Image Restoration and Enhancement》
  16. JAVA实现接入企业微信报警
  17. SpringCloud Day12---SpringCloud Alibaba Sentinel 服务熔断与限流
  18. linux下openssl版本问题 /lib64/libcrypto.so.10: version `OPENSSL_1.0.2' not found
  19. php ean13,php生成EAN_13标准条形码实例_PHP教程
  20. 基于Visual Studio 2003/2005的Office插件开发FAQ

热门文章

  1. 如何正确入门Windows系统下驱动开发领域?
  2. sync是同步还是非同步_音视频是怎么保持同步的?(四)
  3. 3.顶点外扩方法实现的描边shader
  4. 当你在应用机器学习时你应该想什么
  5. SQL Server安装文件挂起错误解决办法
  6. 今天刚查到的宏,学习
  7. vue aixos请求json
  8. 实体类和数据表的映射异常(XXX is not mapping[ ])
  9. C++ STL 优先队列
  10. HDU-5895 Mathematician QSC