前面的章节已经讲过了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使用地址去调用服务端的方法的更多相关文章

  1. Webservice客户端动态调用服务端功能方法

    一.发布WebService服务 方式一:在服务端生成wsdl文件,下方客户端直接引用即可     优点:针对要发布的方法生成一个wsdl文件即可,无需多余配置.   缺点:每次服务端方法发生改变都需 ...

  2. Android 通过接口的方式去调用服务里面的方法

    public class MainActivity extends AppCompatActivity { private MyConn conn; private Iservice myBinder ...

  3. Android -- service的开启方式, start开启和绑定开启服务,调用服务的的方法, aidl调用远程服务

    1. 概述 bindService() 绑定服务  可以得到服务的代理人对象,间接调用服务里面的方法. 绑定服务: 间接调用服务里面的方法.           如果调用者activity被销毁了, ...

  4. 动态的调用服务端的WCF中的方法

    客户端调用wcf ,有时需要动态的调用服务端的WCF中的方法,本方法,反射wcf 的接口,动态调用接口中的方法. 主要为,动态绑定,反射动态调用. public static object Execu ...

  5. [SignalR]SignalR与WCF双工模式结合实现服务端数据直推浏览器端

    原文:[SignalR]SignalR与WCF双工模式结合实现服务端数据直推浏览器端 之前开发基于WinForm监控的软件,服务端基于Wcf实现,里面涉及双工模式,在客户端里面,采用心跳包机制保持与服 ...

  6. .Net Mvc3框架调用服务端控件解决方案

      /*BY:Wangyexin date:2011年4月30日 20:17:38*/ /*说明:.net mvc3框架,View层调用服务端控件,输出到.cshtml文件中显示*/ 1.先说说.ne ...

  7. 使用DWR实现JS调用服务端Java代码

    DWR简介 DWR全称Direct Web Remoting,是一款非常优秀的远程过程调用(Remote Procedure Call)框架,通过浏览器提供的Ajax引擎实现在前端页面的JS代码中调用 ...

  8. java如何调用服务端的WSDL接口

    如何使用http://192.168.0.170:8090/kaoshi?wsdl调用服务端暴露在外面可以使用的接口 1.首先创建调用ws的web项目,就一个普通的web项目就行: 2.通过eclip ...

  9. JS提交对象数组到服务端的方法总结(C#实例)

    *转载请注明出处: 作者:willingtolove: 本文链接:http://www.cnblogs.com/willingtolove/p/4741549.html 正文: 1. 方法一:利用aj ...

随机推荐

  1. Environment Perception: 3D Truss Environment Mapping and Parametric Expression Extraction

    Experiments Preparation roscore rosrun pcl_ros pcd_to_pointcloud ~/.ros/wh2_lg707070_1ms0.01_filtere ...

  2. Spark Runtime概述

    从Spark Runtime的角度来讲由五大核心对象:Master.Worker.Executor.Driver.CoarseGrainedExecutorBacked: Spark在做分布式集群系统 ...

  3. 2017-10-20 NOIP模拟赛2

    P98 a [问题描述]你是能看到第一题的 friends 呢.——hja世界上没有什么比卖的这么贵的弹丸三还令人绝望的事了,所以便有了这么一道题.定义?(?)为满足(? × ?)|?的有序正整数对( ...

  4. 毕马威&阿里:通向智能制造的转型之路

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 2019 年 4 月 17 日,毕马威与阿里研究院携手举办了智能经济主题报告发布会,从技术.制造.组织 ...

  5. 树形DP 洛谷P2014 选课

    洛谷P2014 选课 题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习.现在有N门功课,每门 ...

  6. POJ1442 Black Box 堆

    用大根堆和小根堆分别存放前$i-1$大的元素前$k-i$小的元素. 将当前序列的元素压入最小堆,如果最小堆的最小数大于最大堆的最大数则进行交换,保证最大堆中的所有数小于最小堆. 因为$i$值每进行一次 ...

  7. java insert mysql 中文乱码

    jdbc:mysql://192.168.1.77:3306/db360?useUnicode=true&characterEncoding=UTF-8 drop database if ex ...

  8. LeetCode 128 Longest Consecutive Sequence 一个无序整数数组中找到最长连续序列

    Given an unsorted array of integers, find the length of the longest consecutive elements sequence.Fo ...

  9. adb 调系统时间

    1.修改前提 获取系统root权限,然后adb shell进入shell界面 adb shell su 2.时区设置 cat /data/property/persist.sys.timezone / ...

  10. vim 编辑器设置tab缩进

    创建 ~/.vimrc文件,写入 set tabstop=4 ,保存 原文