知道WCF的地址用工厂通道方式快速调用WCF
1 using System;
2 using System.ServiceModel;
3 using System.ServiceModel.Description;
4 using System.ServiceModel.Channels;
5
6 namespace ZhiYuan.ServiceProxy
7 {
8 public class WCFClient<T>
9 {
10
11 public static T CreateService(Binding bind, EndpointAddress address)
12 {
13 ChannelFactory<T> channelFactory = new ChannelFactory<T>(bind);
14 return channelFactory.CreateChannel(address);
15 }
16 public static T CreateService(string uri)
17 {
18
19 #region TCP/IP方案
20 // NetTcpBinding bind = new NetTcpBinding();
21 // EndpointAddress address = new EndpointAddress("net.tcp://127.0.0.1:1785/Service");
22 // EndpointAddress metaAddress = new EndpointAddress("net.tcp://127.0.0.1:1785/Service/MEX");
23 #endregion
24
25 BasicHttpBinding bind = new BasicHttpBinding();
26 bind.MaxBufferSize = int.MaxValue;
27 bind.MaxReceivedMessageSize = int.MaxValue;
28 bind.MaxBufferPoolSize = int.MaxValue;
29 bind.ReaderQuotas.MaxArrayLength = int.MaxValue;
30 bind.ReaderQuotas.MaxBytesPerRead = int.MaxValue;
31 bind.ReaderQuotas.MaxDepth = int.MaxValue;
32 bind.ReaderQuotas.MaxNameTableCharCount = int.MaxValue;
33 bind.ReaderQuotas.MaxStringContentLength = int.MaxValue;
34
35 bind.SendTimeout = new TimeSpan(0,5,60);
36 EndpointAddress address = new EndpointAddress(uri);
37
38 ChannelFactory<T> channelFactory = new ChannelFactory<T>(bind);
39 return CreateService(bind, address);
40 }
41
42 /// <summary>
43 /// 采用通道工厂的方式生成客户端服务对象实例
44 /// </summary>
45 /// <param name="bind"></param>
46 /// <param name="address"></param>
47 public ZhiYuan.ServiceContract.Member.ILoginService CreateLoginService()
48 {
49 return WCFClient<ZhiYuan.ServiceContract.Member.ILoginService>.CreateService("http://localhost:1785/Member/LoginService.svc");
50
51 }
52
53
54 public ZhiYuan.ServiceContract.Member.IMemberService CreateMemberService()
55 {
56
57 return WCFClient<ZhiYuan.ServiceContract.Member.IMemberService>.CreateService("http://localhost:1785/Member/MemberService.svc");
58
59
60 }
61
62 }
63 }
知道WCF的地址用工厂通道方式快速调用WCF的更多相关文章
- 记录:Web无引用无配置方式动态调用WCF服务
这几年一直用WebApi较多,最近项目中有个需求比较适合使用WCF,以前也用过JQuery直接调用Wcf的,但是说实话真的忘了… 所以这次解决完还是花几分钟记录一下 WCF服务端:宿主在现有Win服务 ...
- WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]
WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...
- WCF实例管理的三种方式
很多情况下,我们都需要控制wcf服务端对象的初始化方式,用来控制wcf实例在服务端的存活时间. Wcf框架提供了三种创建wcf实例的方式. WCF服务对象实例化基础 在普通的WCF请求和相应过程中,将 ...
- [转]学习 WCF (6)--学习调用WCF服务的各种方法
转自:http://www.cnblogs.com/gaoweipeng/archive/2009/07/26/1528263.html 作者这篇博文写得很全面. 根据不同的情况,我们可以用不同的方法 ...
- 在 Node.js 上调用 WCF Web 服务
摘要:有时我们需要在WCF中做一些复杂数据处理和逻辑判断等,这时候就需要在NodeJS中调用WCF服务获取数据,这篇文件介绍如何在Node中调用WCF服务获取数据. Node项目中调用WCF服务获取数 ...
- 调用WCF服务的几种方式
首先发布了一个名为PersonService的WCF服务.服务契约如下: [ServiceContract] public interface IPersonService { ...
- C#动态调用WCF接口,两种方式任你选。
写在前面 接触WCF还是它在最初诞生之处,一个分布式应用的巨作. 从开始接触到现在断断续续,真正使用的项目少之又少,更谈不上深入WCF内部实现机制和原理去研究,最近自己做一个项目时用到了WCF. 从这 ...
- 创建一个简单的WCF程序2——手动开启/关闭WCF服务与动态调用WCF地址
一.创建WCF服务器 1.创建WCF服务器的窗体应用程序 打开VS2010,选择文件→新建→项目菜单项,在打开的新建项目对话框中,依次选择Visual C#→Windows→Windows窗体应用程序 ...
- wcf系列(一)--- 寄宿方式
一.自我寄宿(self-hosting) 1.wcf采用基于终结点(Endpoint)的通信手段:终结点由:地址(Address)+绑定(Binding)+契约(Contract)组成: Enpoi ...
随机推荐
- Hibernate- 连接查询
01.搭建开发环境 02.连接查询 package com.gordon.test; import java.util.Arrays; import java.util.List; import or ...
- 数据库 proc编程九
第一种动态sql EXEC SQL EXECUTE IMMEDIATE :psql; .仅适用于非select语句 .嵌入SQL语句中不能包含输入宿主变量 void main() { EXEC SQL ...
- 关于Unity中的定时器和委托
一.Invoke定时器 有3种定时器,这里我们讲Invoke 1.创建一个Canvas 2.对Canvas进行初始化 3.创建一个Image的UI节点作为Canvas的子节点,名字叫bg,拖进背景图片 ...
- 【转】MFC CreateFont 用法
中国人自古就有自右至左.从上到下书写汉字的习惯.而当我们在自己所编写的应用程序中使用输出函数输出的总是自左至右的横排文字.有没有可能在我们的应用程序中实现竖写汉字的效果呢?笔者偶然发现了一种利用VC实 ...
- Spring 4 官方文档学习(十一)Web MVC 框架之locales
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-localeresolve ...
- linux gzip 命令详解
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间.gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用. 语法:gzip ...
- CentOS和Ubuntu安装软件命令对比(区别)
此表内容来自<Ubuntu Server最佳方案>,CentOS和Ubuntu(Debian)是VPS最常见的系统,这份表很实用,分享下
- 【Java面试题】22 JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
throws是获取异常throw是抛出异常try是将会发生异常的语句括起来,从而进行异常的处理,catch是如果有异常就会执行他里面的语句,而finally不论是否有异常都会进行执行的语句. thro ...
- APACHE服务器500错误解决方法
1.APACHE没开启rewrite模块. 解决办法:编辑apache的http.conf文件,找到#LoadModule rewrite_module modules/mod_rewrite.so, ...
- Emojis support in Apple push notification
I am working on iPhone app named "INTERSTIZIO".In this I have implemented functionality li ...