WCF使用地址去调用服务端的方法
前面的章节已经讲过了WCF的代码和SVC页面的分离,这里是分离后,客户端调用代码如下:
try
{
var myBinding = new BasicHttpBinding();
var myEndpoint =
new EndpointAddress(
new Uri("http://localhost:12857/UserService.svc"));
var myChannelFactory = new ChannelFactory<IUserBussiness>(myBinding, myEndpoint);
IUserBussiness client = myChannelFactory.CreateChannel();
var res = client.DoWork("");
}
catch (Exception ex)
{
//do something proper here
}
其中,
BasicHttpBinding使用的是明文,使用的是http基础通信协议,WsHttpBinding使用的是加密的SOPA协议,
对于
BasicHttpBinding可以有如下设定:
public BasicHttpBinding Binging()
{
_cmdServiceBinding = new BasicHttpBinding();
_cmdServiceBinding.OpenTimeout = new TimeSpan(, , );
_cmdServiceBinding.CloseTimeout = new TimeSpan(, , );
_cmdServiceBinding.SendTimeout = new TimeSpan(, , );
_cmdServiceBinding.ReceiveTimeout = new TimeSpan(, , );
_cmdServiceBinding.MaxBufferSize = int.MaxValue;
_cmdServiceBinding.MaxBufferPoolSize = int.MaxValue;
_cmdServiceBinding.MaxReceivedMessageSize = int.MaxValue;
_cmdServiceBinding.MaxBufferPoolSize = int.MaxValue;
_cmdServiceBinding.ReaderQuotas.MaxBytesPerRead = int.MaxValue;
_cmdServiceBinding.ReaderQuotas.MaxStringContentLength = int.MaxValue;
_cmdServiceBinding.ReaderQuotas.MaxNameTableCharCount = int.MaxValue;
_cmdServiceBinding.ReaderQuotas.MaxArrayLength = int.MaxValue;
return _cmdServiceBinding;
}
WCF的配置文件不变,但是
WsHttpBinding如果想要使用的话,需要进行一些设置,不然会爆出
Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'.。类似这样的错误,WSHTTPBINDING已经专门有写过详情请查看
编写WsHttpBinding的WCF通信方式
文章
WCF使用地址去调用服务端的方法的更多相关文章
- Webservice客户端动态调用服务端功能方法
一.发布WebService服务 方式一:在服务端生成wsdl文件,下方客户端直接引用即可 优点:针对要发布的方法生成一个wsdl文件即可,无需多余配置. 缺点:每次服务端方法发生改变都需 ...
- Android 通过接口的方式去调用服务里面的方法
public class MainActivity extends AppCompatActivity { private MyConn conn; private Iservice myBinder ...
- Android -- service的开启方式, start开启和绑定开启服务,调用服务的的方法, aidl调用远程服务
1. 概述 bindService() 绑定服务 可以得到服务的代理人对象,间接调用服务里面的方法. 绑定服务: 间接调用服务里面的方法. 如果调用者activity被销毁了, ...
- 动态的调用服务端的WCF中的方法
客户端调用wcf ,有时需要动态的调用服务端的WCF中的方法,本方法,反射wcf 的接口,动态调用接口中的方法. 主要为,动态绑定,反射动态调用. public static object Execu ...
- [SignalR]SignalR与WCF双工模式结合实现服务端数据直推浏览器端
原文:[SignalR]SignalR与WCF双工模式结合实现服务端数据直推浏览器端 之前开发基于WinForm监控的软件,服务端基于Wcf实现,里面涉及双工模式,在客户端里面,采用心跳包机制保持与服 ...
- .Net Mvc3框架调用服务端控件解决方案
/*BY:Wangyexin date:2011年4月30日 20:17:38*/ /*说明:.net mvc3框架,View层调用服务端控件,输出到.cshtml文件中显示*/ 1.先说说.ne ...
- 使用DWR实现JS调用服务端Java代码
DWR简介 DWR全称Direct Web Remoting,是一款非常优秀的远程过程调用(Remote Procedure Call)框架,通过浏览器提供的Ajax引擎实现在前端页面的JS代码中调用 ...
- java如何调用服务端的WSDL接口
如何使用http://192.168.0.170:8090/kaoshi?wsdl调用服务端暴露在外面可以使用的接口 1.首先创建调用ws的web项目,就一个普通的web项目就行: 2.通过eclip ...
- JS提交对象数组到服务端的方法总结(C#实例)
*转载请注明出处: 作者:willingtolove: 本文链接:http://www.cnblogs.com/willingtolove/p/4741549.html 正文: 1. 方法一:利用aj ...
随机推荐
- ES 6.1.2集群安装
1.下载java,并设置环境变量 sudo tar -zxvf jdk-8u191-linux-x64.tar.gz -C /usr/local/ sudo vim /etc/profile 在最后添 ...
- poj2763(lca / RMQ + 线段树)
题目链接: http://poj.org/problem?id=2763 题意: 第一行输入 n, q, s 分别为树的顶点个数, 询问/修改个数, 初始位置. 接下来 n - 1 行形如 x, y, ...
- 51nod1315(位运算)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1315 题意:中文题诶- 思路:位或(|)运算是二进制位有一个 ...
- uva 1153 顾客是上帝(贪心)
uva 1153 顾客是上帝(贪心) 有n个工作,已知每个工作需要的时间q[i]和截止时间d[i](必须在此前完成),最多能完成多少个工作?工作只能串行完成,第一项任务开始的时间不早于时刻0. 这道题 ...
- PAT天梯赛L3-004 肿瘤诊断
题目链接:点击打开链接 在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环.给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积. 输入格式: 输入第一行给出4个正整数:M.N.L.T,其中M和N是每 ...
- Android: requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
在安卓上使用组件react-native-contacts报错,是需要添加联系人的时候,说是权限问题,配置了manifest文件后依然不起效果, 解决方法: 在需要引入react-native-con ...
- luoguP4931 情侣?给我烧了!(加强版)
luogu 普通版题解:https://www.cnblogs.com/lcxer/p/10876856.html 在普通版里,我们考虑对于\(n\)对情侣,恰好\(k\)对是和谐的方案数是 \[ a ...
- Mysql常见问题集锦
缺少libstdc++.so.6库的原因及解决办法 https://blog.csdn.net/u010417185/article/details/69951312 https://www.cnbl ...
- 【ACM】取石子 - 博弈论
取石子(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 一天,TT在寝室闲着无聊,和同寝的人玩起了取石子游戏,而由于条件有限,他/她们是用旺仔小馒头当作石子.游 ...
- Hibernate 批量保存数据
public Boolean save(Collection<Object> os) { int batchSize = 50,i=0; Session session=this.sess ...