Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
微调WCF绑定_Wcf_Web Services_Wcf Binding - Fatal编程技术网

微调WCF绑定

微调WCF绑定,wcf,web-services,wcf-binding,Wcf,Web Services,Wcf Binding,我有一个用于基本查询的WCF服务。我只是从默认的开箱即用绑定(带有默认值的WSHttpBinding)开始 数据契约是针对一组自定义对象的,每个对象的大小约为6k。当我最多发送其中5个(在一个事务中)时,它工作正常。当我尝试发送6个或更多时,会出现以下错误: “远程服务器返回错误:(400)请求错误。” 我研究了一些绑定,并尝试在客户端上设置如下配置: <binding name="WSHttpBinding_IASRService" closeTimeout="00:10:00"

我有一个用于基本查询的WCF服务。我只是从默认的开箱即用绑定(带有默认值的WSHttpBinding)开始

数据契约是针对一组自定义对象的,每个对象的大小约为6k。当我最多发送其中5个(在一个事务中)时,它工作正常。当我尝试发送6个或更多时,会出现以下错误:

“远程服务器返回错误:(400)请求错误。”

我研究了一些绑定,并尝试在客户端上设置如下配置:

<binding name="WSHttpBinding_IASRService" closeTimeout="00:10:00"
         openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
         bypassProxyOnLocal="false" transactionFlow="false" 
         hostNameComparisonMode="StrongWildcard"
         maxBufferPoolSize="50000000" maxReceivedMessageSize="50000000"
         messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
         allowCookies="false">
   <readerQuotas maxDepth="50000000" maxStringContentLength="50000000" 
                 maxArrayLength="50000000" maxBytesPerRead="50000000" 
                 maxNameTableCharCount="50000000" />
   <reliableSession ordered="true" inactivityTimeout="00:10:00"
                enabled="false" />
</binding>

我同样在services web.config文件上设置了配置,但是问题仍然存在

我还尝试将client app.config设置为messageEncoding=“Mtom”,但这产生了另一个绑定错误,表示客户端和服务器之间的绑定可能不匹配,因此我暂时取消了该设置。(虽然Mtom也是在服务器web.config中指定的。)另外,在我的研究中,我还没有找到每个绑定属性的清晰简单的描述

总之,我试图回答以下问题:

  • 如何获取更大的请求以不生成错误请求
  • 如何将客户端设置为Mtom而不产生错误
  • 关于每个绑定属性以及如何使用它们,是否有一个很好的基本参考

  • 开始调试的最佳方法是采用操作方法。我会拿出Fiddler,确保客户发送的请求是有效的。

    这是我为您的#2辛苦学习的一个技巧:


    每次在服务器端对WCF进行更改时,请重新编译服务器项目,然后在客户端“更新引用”(右键单击服务引用)。

    我终于解决了这个问题

    在所有地方,请参见


    这解决了我的主要问题。我仍然在寻找如何配置各种绑定WCF属性的清晰描述。我在网上、书中以及MSDN上的API文档中都看过。如果有人知道一些真正能解释的东西,请把它贴在这里。在您了解绑定详细信息之前,WCF似乎非常简单。

    这是否适用于仅更改服务器端web.config文件?如果您更改涉及WCF参数的部分,则是