【问题标题】:WCF minimal client app.config settingsWCF 最小客户端 app.config 设置
【发布时间】:2016-03-23 21:06:34
【问题描述】:

对于 app.config 中的简化 WCF 配置,我需要做哪些最少的客户端设置?

默认是这样的:

    <bindings>
        <wsHttpBinding>
            <binding name="WSHttpBinding_IService" closeTimeout="00:01:00"
                openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                allowCookies="false">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <reliableSession ordered="true" inactivityTimeout="00:10:00"
                    enabled="false" />
                <security mode="Message">
                    <transport clientCredentialType="Windows" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="Windows" negotiateServiceCredential="true"
                        algorithmSuite="Default" establishSecurityContext="true" />
                </security>
            </binding>
        </wsHttpBinding>
    </bindings>

我可以排除什么,我需要多少?


编辑:我应该开始撕掉零件直到它坏掉吗?我希望能找到一些经过优化的 wsHttpBindings,人们会很幸运。

【问题讨论】:

  • 从这个问题上看不清楚我们应该从服务器还是客户端的角度出发。最小配置可能不同。无论如何,我想无论如何都不需要绑定配置。无需任何绑定配置,WCF 客户端和服务器都可以很好地工作。最小配置是&lt;client&gt;&lt;services&gt; 元素,具体取决于问题是针对客户端还是服务器。

标签: .net wcf app-config


【解决方案1】:

Jerograv 是对的,鉴于这些都是默认值,您可以忽略所有这些。 为了测试这一点,我创建了一个简单的服务并创建了所需的最小配置,这几乎是地址、绑定和合同 -

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.serviceModel>
        <client>
            <endpoint address="http://sabra2/TestService/Service1.svc" binding="wsHttpBinding"
                contract="IService1"/>
        </client>
    </system.serviceModel>
</configuration>

【讨论】:

  • 这是从客户的角度来回答的。所以 true 最小配置是 &lt;endpoint&gt; 元素,但周围将是 &lt;client&gt;&lt;service&gt;,具体取决于您是客户端还是服务器。
  • 另外,如果这将是服务器,则不需要 address 值,它可能只是空的(如果从 IIS 托管,因为将采用 IIS 绑定的地址) .
【解决方案2】:

只要记住 WCF 的 ABC 即可。地址,绑定,合同。这就是你所需要的!

您的客户端只需有一个端点即可与 WCF 服务通信。每个端点只需要描述每个 ABC 就完成了。其他的东西可以稍后补上。

这也是我不喜欢在 Visual Studio 中添加服务引用的原因之一。

【讨论】:

    【解决方案3】:

    我想你会发现所有都是可选的。无论如何,该特定绑定中的所有这些内容都是默认值。

    事实上,在这种情况下,我认为在端点中指定绑定是可选的。

    【讨论】:

      猜你喜欢
      • 2013-07-04
      • 2023-03-10
      • 2011-12-03
      • 1970-01-01
      • 1970-01-01
      • 2011-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多