c# - 从桌面应用程序 (.Net 2) 调用 WebService (WCF) 时的消息大小

标签 c# .net web-services wcf soap

我有一个 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/

相关文章:

c# - 应该如何编写一个抽象类来覆盖带有附加参数的方法

c# - 使用 Shadow Copy 启动的 CefSharp 应用程序

Asp.net 网站和 Web 服务托管

java - 一个 EAR 中具有两个不同上下文根的 Web 服务 - JBoss 6.1

c# - 将 Outlook 联系人获取到基于 C# 表单的应用程序中

c# - 如何在 C# 中创建硬链接(hard link)?

c# - 使用 Entity Framework 在数据库中搜索文本

c# - c#中unsigned long int的等价物是什么?

.net - 确定 SSL 证书到期日期 IIS

python - 使用soappy SOAPServer时,如何读取请求的 header ?