将Byte []发送到WCF服务

时间:2014-10-05 18:46:32

标签: c# wcf

我想发送一个大型 文件(很大一部分我的意思是它的大小超过了WCF自然允许的限制)通过WCF服务到服务器。所以我不能这样做,因为除非我调整配置文件,否则它不会让我。当然我用Google搜索我使用<httpRuntime maxRequestLength="2048000" executionTimeout="3600" />

但遗憾的是,所有提出此建议的人都没有解释在配置文件中添加此标记的位置我包含,但导致错误(网络服务没有启动,立即崩溃)。

在配置文件中应该去哪里(如果它解决了问题)? 应该包含哪个标记/部分?

编辑: 我可以想出如何正确使用标签,它现在不会引发任何错误,但仍然无法发送数组:(不会发送大于约25kb的数组)

这就是我添加标签的方式:

<system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" maxRequestLength="2048000" executionTimeout="36000" />
</system.web>

1 个答案:

答案 0 :(得分:-1)

我想到了问题,<httpRuntime maxRequestLength="2048000" executionTimeout="3600" />与通过WCF发送大型数组无关。当然问题仍然与配置文件有关,可以使用下面的配置来解决:

<bindings>
  <basicHttpBinding>
    <binding maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text">
      <readerQuotas maxDepth="2000000" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
    </binding>
  </basicHttpBinding>
</bindings>