在我的 WCF app.config 中设置 SendTimeout

Posted

技术标签:

【中文标题】在我的 WCF app.config 中设置 SendTimeout【英文标题】:Setting SendTimeout in my WCF app.config 【发布时间】:2010-09-30 07:10:18 【问题描述】:

看着我的 app.config 有点困惑,它看起来像这样:

<system.serviceModel>

<servcies>

    <service>

        <endpoint address="" binding="basicHttpBinding">
            <identity>
                           <dns value="localhost"
            </identity>
        <endpoint>

    </service>



</services>
<behaviors>
    <serviceBehaviors>

        <behavior>
            ...
        </behavior>

    </serviceBehaviors>
</beharviors>

</system.serviceModel>

我应该在哪里添加绑定标签以将 SendTimeout 值设置为大于 1 分钟?

【问题讨论】:

【参考方案1】:

您在服务器的 .config 文件中设置了一个绑定部分,就像您上一个问题中显示的 IceLava 一样:

  <bindings>
    <netTcpBinding>
    <binding name="longTimeoutBinding"
        receiveTimeout="00:10:00" sendTimeout="00:10:00">
      <security mode="None"/>
    </binding>
    </netTcpBinding>
   </bindings>

在你上面的例子中,你可以把它放在你的行为之下。

然后,在您的端点配置中,使用属性 bindingConfiguration = "longTimeoutBinding" 添加对该绑定的引用。

类似这样的:

<endpoint address="" bindingConfiguration="longTimeoutBinding" binding="basicHttpBinding">
        <identity>
                   <dns value="localhost" />
        </identity>
<endpoint>

如果您有 Juval Lowy 编写的 Programming WCF Services 一书,您可以在第 28-29 页(第 2 版)中查看更多信息。

【讨论】:

以上是关于在我的 WCF app.config 中设置 SendTimeout的主要内容,如果未能解决你的问题,请参考以下文章

在 Web 应用程序中设置 WCF TCP 服务

WCF - 在单个 APP.Config 文件中定义多个服务?

C#的app.Config文件中设置,可以选择执行环境(左配置,有程序),app.Config中的appSettings首字母必须小写,符合源码要求

C#/ ASP.Net:app.settings而不是web.config

在 WCF 客户端的代码中设置消息版本

在 WCF 的代码中将 IncludeExceptionDetailInFaults 设置为 true