WCF-Binding
来源:互联网 发布:伊本白图泰 知乎 编辑:程序博客网 时间:2024/05/16 07:00
1.WCF的终结点:包含ABC三要素
第一: "A" 是地址Address,就是告诉别人我wcf在何处。
第二: "B"是绑定Binding,就是告诉别人应该走什么路才能过来。
第三: "C"是契约Contract:就是告诉别人我wcf这里有哪些东西。
2.项目开发中常用到的三种绑定:
第一:wsHttpBinding, 这个binding可以认为是webservice的加强版WSE,设计的目的就是用于异构系统的交互(比如java)。
第二:netTcpBinding, 这个binding可以认为是remoting的加强版,设计的目的就是用于不同机器的.net 程序交互,
第三: netMsmqBinding, 这个binding可以认为是msmq的加强版本,设计目的就是脱机环境下不同机器的.net程序交互,确保信息不丢失。
3.wsHttpBinding 和netTcpBinding的使用:
第一步:创建wcf服务端:新建类库,分别建立IFly和People类,也就是完成WCF的“C”工作:
第二步:创建宿主程序:既然“C”已经出来了,那么她必须要有承载她的环境,也就是所谓的“宿主”,这里用Console控制台应用程序来承载:
配置config文件:现在服务处于预开启状态,为了让wcf更加灵活,更加容易控制,就要将相关配置写入到config文件里面(也可以直接在宿主程序里面写配置),在app.config文件中:
<?xml version="1.0" encoding="utf-8" ?><configuration> <system.serviceModel> <services> <!--name:服务名,behaviorConfiguration:服务要暴露的元素据--> <service name="WCFSample.People" behaviorConfiguration="MessageBehavior"> <host> <baseAddresses> <!--baseAddress的两个作用:一:用于给client端作为服务引用地址,二:作为endpoint的基地址存在--> <add baseAddress="http://localhost:8733/Design_Time_Addresses/WCFSample"/> </baseAddresses> </host> <!--address:告诉客户端,wcf的地址是上面的baseAddress--> <!--binding:表示该wcf走的是http协议是什么--> <!--contract:契约内容--> <endpoint address="" binding="wsHttpBinding" contract="WCFSample.IFly"></endpoint> <!--net.tcp://localhost:1111/WCFSample--> <!--netTcpBinding--> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> </service> </services> <behaviors> <serviceBehaviors> <behavior name="MessageBehavior"> <!--用于让客户端元数据使用--> <serviceMetadata httpGetEnabled="true"/> <serviceDebug includeExceptionDetailInFaults="true"/> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel></configuration>然后启动wcf服务端:wcf已经开启,正在件事着address
第三步:创建客户端程序以调用wcf服务:
创建Console控制台应用程序WCFClient,添加服务引用:
然后调用wcf服务:
换用netTcpBinding:
如果大家看懂了wsHttpBinding如何使用,那么改成netTcpBinding将会是轻而易举。 因为只要修改两个地方即可。
第一:修改配置文件中的endpoint地址。
<endpoint address="net.tcp://localhost:1111/WCFSample" binding="netTcpBinding" contract="WCFSample.IFly"></endpoint>第二: 更新下客户端的“服务引用”,然后运行看下效果图。
- WCF-Binding
- WCF-Binding
- WCF绑定(Binding)
- [WCF学习笔记] Binding
- WCF中的Binding方式
- WCF之Binding详解
- WCF Service Binding Explained
- WCF之Binding
- WCF Note5(Binding)
- WCF Binding描述
- WCF之Binding
- wcf中binding用法
- WCF—Binding
- WCF的Binding
- WCF 绑定(Binding)
- WCF Binding实例
- WCF中Binding的选择
- [WCF中的Binding模型]之一: Binding模型简介
- 正则表达式校验一个数字字符串是否为升序
- Android 强引用,弱引用,软引用,虚引用
- Leetcode 284. Peeking Iterator
- Android 中的线程池
- Java基础之equal()与hashcode()函数分析
- WCF-Binding
- 2017.4.17解题报告f
- ssm挖坑,遇到的问题
- 10天训练营----古诗
- 自动化测试流程图
- xib等按比例布局
- Python函数调用的下划线缺省参数“_”问题
- (原创)分享自己写的几个工具类(三)Toast和Log管理类
- 使用cookie完成用户自动登录