绑定配置和行为有什么区别?

Jax*_*ian 4 .net wcf

我正在尝试更好地获取 WCF配置文件,以便我可以更轻松地处理更复杂的场景.通常情况下,我正在重新审视我对基础知识的理解.因此,这提出了一个问题,绑定配置和行为之间有什么区别?不是在问什么是绑定(即netTcpBinding等等).我明白了.

所以假设我有一个包含多个配置的配置文件用于该单个绑定:

  <netTcpBinding>
    <binding name="LargeMessages" maxBufferPoolSize="5242880" maxBufferSize="5242880" maxReceivedMessageSize="5242880">
      <readerQuotas maxDepth="256" maxStringContentLength="16384" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
      <security mode="None"></security>
    </binding>
    <binding name="LargeFiles" maxBufferPoolSize="15728640" maxBufferSize="15728640" maxReceivedMessageSize="15728640">
      <!-- 15MB max size -->
      <readerQuotas maxDepth="256" maxStringContentLength="15728640" maxArrayLength="15728640" maxBytesPerRead="204800" maxNameTableCharCount="15728640" />
      <security mode="None"></security>
    </binding>
    <binding name="LargeStrings" maxBufferPoolSize="524288" maxBufferSize="524288" maxReceivedMessageSize="524288">
      <!-- 0.5MB max size -->
      <readerQuotas maxDepth="256" maxStringContentLength="524288" maxArrayLength="524288" maxBytesPerRead="204800" maxNameTableCharCount="524288" />
      <security mode="None"></security>
    </binding>
  </netTcpBinding>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我打电话LargeMessages,LargeFilesLargeStrings"绑定配置".

现在我有了这个配置,我也可以有多个行为,其中一个可能看起来像这样:

<behavior name="DefaultServiceBehavior">
  <serviceCredentials>
    <serviceCertificate findValue="1234123412341234123412341234"
                        x509FindType="FindByThumbprint" />
  </serviceCredentials>
  <serviceMetadata/>
  <serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,DefaultServiceBehavior是一种行为.

因此,提出问题的另一种方法是,为什么我的绑定配置不能包含我的行为指定的所有设置?或相反亦然?在基本和高级别,为什么我们有两套设置?这似乎都会对我的传输配置或我的消息配置产生很大影响.我只是没有看到设置分离的逻辑.

Tho*_*ena 8

在技​​术方面:

  • 绑定:用于指定客户端和服务相互通信所需的传输,编码和协议详细信息.
  • 行为:是修改或扩展服务或客户端功能的类型.

通俗地说:

  • 绑定:用于指定您的服务所使用的语言(例如:英语,葡萄牙语等).服务和客户只有在同意使用相同语言的情况下才能相互通信.
  • 行为:用于定义服务的行为方式.例如,英国皇后卫队在执勤期间应该保持完美的状态,因为协议规定他们应该采取行动,否则人们可能会怀疑他们是真正的英国卫兵.

结论,您的服务应该说出适当的语言(绑定)和行为(行为),否则客户可能很难尝试与它们通信.