当前位置: 首页 > news >正文

(二)WCF的Binding模型

   上篇博客对WCF中的基础知识进行了介绍,先从概念上知道了WCF的一些理论,在abc模型中B是Binding,WCF为我们提供了多种绑定机制,我们先从了解各种绑定机制开始,只有知道之后才能在实践中更好的利用。


【采用Binding原因】


    由于服务之间的通信方式多种多样,就有多种可能的通信模式。包括:同步的请求/应答消息,或者异步的“即发即弃”消息;双向消息等。传递消息的传输协议包括:HTTP、TCP、P2P、IPC以及MSMQ。消息编码格式包括:纯文本编码格式、二进制编码格式、MTOM编码格式。消息安全保障也有多种策略,包括:不实施任何安全策略,只提供传输层的安全策略、消息层的隐私保护和安全策略。WCF还提供了多种对客户端认证与授权的安全策略。

    正是由于通信模式和交互方式之间组合数量之大,而且彼此之间可能会排斥或存在约束,管理起来非常复杂。为了简化这些选项,使他们易于管理,WCF引入了Binding技术将这些通信特征组合在一起。这样既方便了用户的使用,同时也使得WCF得到了推广,真是两全其美。


【绑定的内容】


    Binding主要解决的问题是怎样实现。一个绑定总封装了传输协议、消息编码、通信模式、可靠性、安全

性、事务传播以及互操作性等相关选项的集合,是的他们保持一致,让我们不做很多事情,只需轻松使用。


【绑定方式】

         

      每种绑定方式使用的传输协议与编码格式都不相同,下面是各个绑定方式与协议的对应关系,我们先

了解,然后再在我们的项目中找到我们用了那种绑定方式。

     

【项目中应用】      

<bindings>
      <!--<wsHttpBinding>
      -->
      <!--启动事务流-->
    </wsHttpBinding>-->
      <wsHttpBinding>
        <!--启动事务流-->
        <binding name="WsHttpBinding_Default" transactionFlow="true" closeTimeout="00:10:00" receiveTimeout="00:20:00" sendTimeout="00:20:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" useDefaultWebProxy="false">
          <!--<readerQuotas maxStringContentLength="12000000" maxArrayLength="12000000"/>-->
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None" realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>


【总结】

      WCF绑定方式很多,我这里先从理论了解,从代码中看到了关于绑定的应用,任重而道远,还需要在接下

来的实践中去不断地去完善知识的储备。





转载于:https://www.cnblogs.com/zsswpb/p/5771619.html

相关文章:

  • CS0016: 未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\.。。”--“拒绝访问
  • wf(五)
  • activity的测试工程activiti-explorer使用
  • 图记 2016.1.7 获取本地图片、Bitmap转image
  • UITextAttributeTextColor 的替换方法+自定义导航控制器的价值
  • Pivot运算符用于在列和行之间
  • Android活动管理工具
  • js的使用方法
  • BZOJ 17891830 推式子 乱搞
  • LightOJ1037 Agent 47(状压DP)
  • itext文档摘录
  • iOS:APNS推送主要代码
  • 上周热点回顾(1.11-1.17)
  • iOS之旅--隐藏(去除)导航栏底部横线
  • JVM内存机制
  • python3.6+scrapy+mysql 爬虫实战
  • 《Java编程思想》读书笔记-对象导论
  • create-react-app项目添加less配置
  • css属性的继承、初识值、计算值、当前值、应用值
  • ES6系统学习----从Apollo Client看解构赋值
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • spark本地环境的搭建到运行第一个spark程序
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • STAR法则
  • 当SetTimeout遇到了字符串
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 小程序 setData 学问多
  • 优化 Vue 项目编译文件大小
  • 阿里云重庆大学大数据训练营落地分享
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​​​​​​​​​​​​​​Γ函数
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • $refs 、$nextTic、动态组件、name的使用
  • (33)STM32——485实验笔记
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (java)关于Thread的挂起和恢复
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (十一)图像的罗伯特梯度锐化
  • (正则)提取页面里的img标签
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • ******IT公司面试题汇总+优秀技术博客汇总
  • ***通过什么方式***网吧
  • .bat文件调用java类的main方法
  • .NET Core Web APi类库如何内嵌运行?
  • .net core 依赖注入的基本用发
  • .Net中ListT 泛型转成DataTable、DataSet
  • @Autowired 与@Resource的区别
  • @Transactional类内部访问失效原因详解