笔记--Wcf全面解析(上)---(1)
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.ServiceModel.Description;
using System.Text;
using System.Threading.Tasks;
using WcfServer2; namespace UnitTest
{
public class WCFBase
{
public WCFBase()
{
/*2.1,Address:通过URI做唯一标识、
* URI类型:
* ----HTTP/HTTPS
* ----Net.TCP
* ----Net.Pipe
* ----Net.Msmq
*/ /*2.2,EndPointAddress
*
* public class ServiceEndpoint
{
* 标识终结点地址
1,public EndpointAddress Address {get;set;}
* System.ServiceModel.EndpointAddress
* {
* Uri(定位),Headers(辅助寻址),Identity(身份识别) 三个只读属性
* }
* ServiceEndpoint通过 基类ServeiceHostBase中的
* AddServiceEndpoint方法增加终结点
*/
//代码
using (System.ServiceModel.ServiceHost service = new ServiceHost(typeof(IDataTransferCallback)))
{
service.AddServiceEndpoint(typeof(IDataTransferCallback), //实现契约的接口,只能以字符串和Type形式绑定
new WSHttpBinding(), //绑定类型
"http://www.baidu.com"); //地址 可以是URI类型,也可以是String类型的地址
service.Open(); //service.Description.Endpoints 可以获取该服务的所有终结点信息
}
//配置
//<system.serviceModel>表示wcf的配置节点
// 其中<services>包含了一组表示单个服务的<service>子节点
// <service>节点中的Name属性表示服务的名称
// 还包含了一组<endpoint>,通过address,binding,contract做为终结点的3要素 //ServiceHost构造函数
//前面参数serviceType 为服务类型,后面Uri表示可以访问到此服务的所有地址
//public ServiceHost(System.Type serviceType, params Uri[] baseAddresses);
//public ServiceHost(object singletonInstance, params Uri[] baseAddresses); // //1,客户端使用源数据生成接口
// class DataTransferCallbackClient : ClientBase<IDataTransferCallback>, IDataTransferCallback
// { // public void ReturnResult(string strJson)
// {
// base.Channel.ReturnResult(strJson); // } // }
////使用Channel生成
// //var factory = new ChannelFactory<IDataTransferCallback>();
// //var instance=factory.CreateChannel(new EndpointAddress("http://test.com/DataTransferCallback"));
// //instance.ReturnResult(); /*
2,public ContractDescription Contract{get;set;}
*
3,public Binding Binding {get;set;}
}
*
*/ /*客户端终结点*/ //服务调用的本质:采用匹配的终结点对目标终结点调用 p34 }
} }
笔记--Wcf全面解析(上)---(1)的更多相关文章
- 第1章WCF简介(WCF全面解析读书笔记2)
第1章 WCF简介 面向服务架构(SOA)是近年来备受业界关注的一个主题,它代表了软件架构的一种方向.顺应SOA发展潮流,微软于2006年年底推出了一种新的分布式通信框架Windows Communi ...
- c++学习笔记之封装篇(上)
title: c++学习笔记之封装篇(上) date: 2017-03-12 18:59:01 tags: [c++,c,封装,类] categories: [学习,程序员,c/c++] --- 一. ...
- Nginx集群之WCF大文件上传及下载(支持6G传输)
目录 1 大概思路... 1 2 Nginx集群之WCF大文件上传及下载... 1 3 BasicHttpBinding相关配置解析... 2 4 编写 ...
- 第2章地址Address(WCF全面解析3)
WCF顾明思义,就是在Windows平台下解决通信(C,Communication)的基础框架(F,Foundation)问题. 终结点是WCF最为核心的对象,因为它承载了所有通信功能.服务通过相应的 ...
- 前面部分(WCF全面解析1)
WCF全面解析 [同力推荐] 我经历了COM时代,一直把Don BOx的<COM本质论>奉为我的指路明灯.能把SOA机理和WCF这种特定厂商实现的技术讲得如<COM本质论>一样 ...
- Angular复习笔记7-路由(上)
Angular复习笔记7-路由(上) 关于Angular路由的部分将分为上下两篇来介绍.这是第一篇. 概述 路由所要解决的核心问题是通过建立URL和页面的对应关系,使得不同的页面可以用不同的URL来表 ...
- LevelDB学习笔记 (3): 长文解析memtable、跳表和内存池Arena
LevelDB学习笔记 (3): 长文解析memtable.跳表和内存池Arena 1. MemTable的基本信息 我们前面说过leveldb的所有数据都会先写入memtable中,在leveldb ...
- 【译】使用微软企业库5.0进行WCF服务边界上的异常保护
在Windows Communication Foundation (WCF)中,为了阻止服务的实现细节从服务的安全边界泄露,未知的异常不应该被发送至客服端.在WCF配置中将<serviceDe ...
- WCF利用Stream上传大文件
WCF利用Stream上传大文件 转自别人的文章,学习这个例子,基本上wcf也算入门了,接口用法.系统配置都有了 本文展示了在asp.net中利用wcf的stream方式传输大文件,解决了大文件上传问 ...
随机推荐
- Could not autowire field: private java.lang.Integer com.taotao.sso.service.impl.UserServiceImpl.SSO_
@Value("REDIS_USER_SESSION_KEY") private String REDIS_USER_SESSION_KEY; 1 2 改正: @Value(&qu ...
- Qt添加驱动——Qt数据库之添加MySQL驱动插件
Qt数据库之添加MySQL驱动插件(1) 现在可用的数据库驱动只有3种,在Qt中,我们需要自己编译其他数据库驱动的代码,让它们以插件的形式来使用.下面我们就以现在比较流行的MySQL数据库为例,说明一 ...
- Python之从numpy.array保存图片
1.用scipy import scipy scipy.misc.imsave('test.jpg', img) 2.用PIL from PIL import Image im = Image.fro ...
- hibernate+pageBean实现分页dao层功能代码
今天闲来无事,摆弄了一下分页,突然发现很多代码长时间不用就生梳了,虽然有些基础,但没有一篇整合的.这里还是简单示例,主要是以后自己翻着看不用百度找啊找找不到一篇想要的 1.PageBean实体类,一页 ...
- CentOS 6.x安装配置MongoDB 3.4.x
说明: 操作系统:CentOS 5.X 64位 IP地址:192.168.21.128 实现目的: 安装配置MongoDB数据库 具体操作: 一.关闭SElinux.配置防火墙 1.vi /etc/s ...
- Python——eventlet.greenthread
该模块实现 eventlet 中的 “绿色线程” 即协程. 相关的 greenlet 模块的介绍. 目录 一.模块级函数 sleep() spawn() 模块级函数 eventlet.greenthr ...
- k8s sidecar, Ambassador, Adapter containers
When you start thinking in terms of Pods, there are naturally some general patterns of modular appli ...
- 分享8款令人惊叹的HTML5 Canvas动画特效
HTML5的确可以制作出非常绚丽的网页动画效果,尤其是利用HTML5 Canvas特性和HTML5 3D特性,我们更加可以欣赏到超酷的动画特效.今天我从html5tricks网站上整理了8款令人惊叹的 ...
- 谈谈如何优化MYSQL数据库查询
1.优化数据类型 MySQL中数据类型有多种,如果你是一名DBA,正在按照优化的原则对数据类型进行严格的检查,但开发人员可能会选择他们认为最简单的方案,以加快编码速度,或者选择最明显的选择,因此,你可 ...
- jquery click事件,多次执行
用jquery绑定一个按钮click事件后,第一次点击后,一切正常,第二次点击,竟然执行两次,以后越来越多, 后来查看文档发现 jquery click 不是 替换原有的function 而是接 ...