Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.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
C# 获得;413“请求实体太大”;与WCF服务通话时_C#_Wcf - Fatal编程技术网

C# 获得;413“请求实体太大”;与WCF服务通话时

C# 获得;413“请求实体太大”;与WCF服务通话时,c#,wcf,C#,Wcf,我有一个WCF服务,Server,它接受来自控制台应用程序客户端的请求。当发送数据(相对较大)时,我得到以下异常: System.ServiceModel.ProtocolException: The remote server returned an unexpected response: (413) Request Entity Too Large. ---> System.Net.WebException: The remote server returned an error:

我有一个WCF服务,
Server
,它接受来自控制台应用程序
客户端的请求。当发送数据(相对较大)时,我得到以下异常:

System.ServiceModel.ProtocolException: The remote server returned an unexpected response: (413) Request Entity Too Large. ---> System.Net.WebException: The remote server returned an error: (413) Request Entity Too Large.
我以为我在配置文件中正确设置了限制,但显然我错了

以下是
Server
app.config
的相关部分:


下面是
客户端的
app.config


最后,这就是
客户端
调用
服务器
方法的方式:

使用(var cf=new WebChannelFactory(“serverEndpoint”,serverAddress))
{
var channel=cf.CreateChannel();
channel.SomeMethod(一些,参数);
}
我做错了什么


感谢您的帮助。

问题在于
客户机
驻留在单元测试项目中,并且该问题是在运行单元测试时出现的。运行单元测试时,只考虑单元测试项目的配置文件,因此需要将
服务器的
配置部分复制到其中

这样,就只使用了一个配置文件:服务器和客户端都要读取配置文件


在那之后,一切正常。

问题是
客户机
驻留在单元测试项目中,而问题是在运行单元测试时出现的。运行单元测试时,只考虑单元测试项目的配置文件,因此需要将
服务器的
配置部分复制到其中

这样,就只使用了一个配置文件:服务器和客户端都要读取配置文件


之后,一切正常。

您需要将maxReceivedMessageSize设置为正确的大小。正如您所提到的,您的配置中有这个设置。你能用Fiddler检查一下你期望的响应大小(kb)吗?@Agalo,我现在不能检查,但大小肯定会达到10兆字节,也就是说,相对较大,但没有什么真正极端的。仅仅在配置文件中设置
maxReceivedMessageSize
是不够的吗?谢谢2147483647是字节数,等于~2 GB。对于任何更大的消息,请查看或。@Tim,我的消息的大小远未接近2GB。配置文件中设置的限制应该足够了,但似乎没有应用这些限制。您需要将maxReceivedMessageSize设置为正确的大小。正如您所提到的,您的配置中有这个设置。你能用Fiddler检查一下你期望的响应大小(kb)吗?@Agalo,我现在不能检查,但大小肯定会达到10兆字节,也就是说,相对较大,但没有什么真正极端的。仅仅在配置文件中设置
maxReceivedMessageSize
是不够的吗?谢谢2147483647是字节数,等于~2 GB。对于任何更大的消息,请查看或。@Tim,我的消息的大小远未接近2GB。配置文件中设置的限制应该足够了,但似乎没有应用这些限制。