zoukankan      html  css  js  c++  java
  • WCF 入门 (21)

    前言

    再不写一篇就太监了,哈哈。

    第21集 WCF里面的Binding Bindings in WCF

    其实不太了解为什么第21集才讲这个Binding,下面都是一些概念性的东西,不过作为一个入门视频,了解一下也无妨吧。

    Binding其实属于WCF中endpoint三个属性之一。他们分别是address,binding,contract合称ABC。来看一下下面这个service 节点。

        <services>
          <service name="CalculatorService.CalculatorService">
            <endpoint address="" binding="wsHttpBinding" contract="CalculatorService.ICalculatorService">
            </endpoint>
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
            <host>
              <baseAddresses>
                <add baseAddress="http://localhost:8080/" />
              </baseAddresses>
            </host>
          </service>

    address的值是空值,因为这个其实是一个相对地址,一个服务的地址由下面的baseAddress+address 共同构成。

    binding的值是wsHttpBinding,后续会详细讲。

    contract的值是CalculatorService.ICalculatorService,这个给客户端用的合约,由命名空间+接口名字两部分构成。

    构建一个简单的HelloService服务,然后分别用basicHttpBinding和netTcpBinding,配置文件分别是

            <endpoint address="" binding="basicHttpBinding" contract="HelloService.IHelloService"></endpoint>

            <endpoint address="" binding="netTcpBinding" contract="HelloService.IHelloService"></endpoint>

    两个endpoint在更新了服务端引用后,都能达到想要的结果。现在有两个问题,

    1. Binding是什么。

    WCF里面的Binding定义了客户端与服务端交流的方式。他会影响到以下三个方面。

    a. 传输协议(比如http,或者tcp,NamedPipe,MSMQ)

    b. 信息的编码方式(比如普通的text/xml或者二进制数据)

    c. 其他的一些协议约定(比如是否要使用可靠的消息传输,是否支持事务)

    2. 如何选择Binding。

    framework自带了一些Binding,具体看这里

    stackoverflow上有个推荐的回答还不错,可以参考他来选择合适的Binding。点这里

    这集稍微介绍了一下WCF里面的Binding,最后两个链接还是很管用的。 按照工作中实际的使用情况,用的比较多的是wsHttpBinding。

    Thank you!

  • 相关阅读:
    比较全的笔记
    ios路线
    字符串颜色
    ios 开发学习步骤
    百度地图反地理
    p12证书
    ios官方demo
    ios视频网盘
    图片穿透
    OC温习一:基本数据类型
  • 原文地址:https://www.cnblogs.com/sheldon-lou/p/4966515.html
Copyright © 2011-2022 走看看