我有一个 Web 服务 (WCF),它将接收到的文件存储在数据库中。 当我从 .NET 4.5 Web 应用程序调用它时,我只是在客户端的 Web.config 文件中指定:
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_NameOfWS"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647" />
</basicHttpBinding>
</bindings>
因此允许客户端发送大文件。
当我尝试从我的 .NET 2 桌面应用程序(是的,.NET 2)调用它时,我收到错误:
HTTP 413: Request Entity Too Large
但我没有要配置的 Web.config 文件,因为它不是 Web 应用程序。
我的 app.config 看起来像:
<applicationSettings>
<NameOfProject.Properties.Settings>
<setting name="NameOfProject_NameOfWebReference_NameOfWS"
serializeAs="String">
<value>http://myURL/NameOfWS.svc</value>
</setting>
</NameOfProject.Properties.Settings>
</applicationSettings>
并且 NameOfWS.wsdl 文件没有 maxBufferSize 或 maxReceivedMessageSize 参数。
我错过了什么吗?
提前致谢。
最佳答案
对于app.config绑定(bind)配置示例
请尝试其中的几种方法;
<binding name="bindingName" closeTimeout="00:20:00" openTimeout="00:20:00" receiveTimeout="01:00:00" sendTimeout="01:00:00" hostNameComparisonMode="StrongWildcard" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="Transport" />
</binding>
关于c# - 从桌面应用程序 (.Net 2) 调用 WebService (WCF) 时的消息大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43871238/