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

news/2024/7/5 2:32:17

 

首先要写一个执行动态调用的方法:在里面实现反射调用。

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;
}
}
}
}

 

然后调用方法执行

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

转载于:https://www.cnblogs.com/anyben/p/4409035.html


http://lihuaxi.xjx100.cn/news/260528.html

相关文章

深度学习之Pytorch基础教程!

↑↑↑关注后"星标"Datawhale每日干货 & 每月组队学习&#xff0c;不错过Datawhale干货 作者&#xff1a;李祖贤&#xff0c;Datawhale高校群成员&#xff0c;深圳大学随着深度学习的发展&#xff0c;深度学习框架开始大量的出现。尤其是近两年&#xff0c;Googl…

springMVC入门截图

mvc在bs系统下的应用 ---------------------------------------------------- 在web.xml中配置前端控制器&#xff08;系统提供的一个servlet类 只需配置即可 无需程序员开发 &#xff09; -------------------------------------------------------------- ----------------…

仅用 480 块 GPU 跑出万亿参数!全球首个“低碳版”巨模型 M6 来了

继今年 3 月阿里达摩院发布国内首个千亿参数多模态大模型 M6&#xff08;MultiModality-to-MultiModality MultitaskMega-transformer&#xff0c;以下简称 M6&#xff09; 之后&#xff0c;6 月 25 日&#xff0c;达摩院宣布对 M6 进行全新升级&#xff0c;带来“低碳版”巨模…

再见MybatisPlus,阿里推出新ORM框架!

以下文章来源方志朋的博客&#xff0c;回复”666“获面试宝典使用fluent mybatis也可以不用写具体的 xml 文件&#xff0c;通过 java api 可以构造出比较复杂的业务 sql 语句&#xff0c;做到代码逻辑和 sql 逻辑的合一。不再需要在 Dao 中组装查询或更新操作&#xff0c;或在 …

通过yum方式安装软件

CentOS7.X yum安装MySQL8.0 1、查看当前系统版本的详细信息 cat /etc/redhat-release 2、yum源下载&#xff08;https://link.zhihu.com/?targethttps%3A//dev.mysql.com/downloads/repo/yum/&#xff09; wget https://repo.mysql.com//mysql80-community-release-el7-6.no…

大厂白嫖拖垮开源!开源届码农:用户脾气大需求多还不给钱

点击上方“视学算法”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达来源丨新智元编辑丨极市平台导读 现在&#xff0c;开源软件界或即将到达必须变革的临界点&#xff1a;被大厂白嫖的既有模式不可持续&#xff0c;开源码农必须得到相应尊重和…

菜鸡记录-王爽-汇编语言-实验十(编写子程序-显示字符串)

题目&#xff1a; 代码&#xff1a; assume cs:codedata segmentdb Welcome to masm!,0data endscode segmentstart: mov dh,8mov dl,3mov cl,2mov ax,datamov ds,axmov si,0call show_strmov ax,4c00hint 21hshow_str: mov ax,0b800h;保存起始地址&#xff01;mov es,ax;起始…

Linux运维工程师发展前景

随着IT产业的不断发展&#xff0c;尤其是Linux行业的发展&#xff0c;现在互联网企业服务器数量越来越多&#xff0c;当到达几百台&#xff0c;上千台服务器之后&#xff0c;服务器日常管理也逐渐繁杂&#xff0c;每天如果通过人工去频繁的更新或者部署及管理这些服务器&#x…