如何使用wcf服务将大数据传递到服务层?

时间:2012-09-27 09:06:36

标签: asp.net wcf file-upload

我正在尝试在我的某个Web应用程序中实现附件功能。它有三层。演示文稿,业务和服务层,我在附件字段的数据库中有blob数据类型....我在将数据从业务层传输到服务层时遇到错误。

The remote server returned an unexpected response: (400) Bad Request

我无法找到任何解决方案,即使我尝试增加arraylength,缓冲等...但仍然得到错误...所以如果有任何想法,请帮助我....我从5天后面临这个问题。 ....

这是我的web.config设置

<binding name="BasicHttpBinding_ITestService" closeTimeout="00:01:00"
          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="83886080" maxBufferPoolSize="83886080" maxReceivedMessageSize="83886080"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
          useDefaultWebProxy="true">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None"
              realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>

3 个答案:

答案 0 :(得分:0)

通过将以下部分添加到WCF主机的配置文件来打开服务器端的WCF跟踪。您将能够从跟踪文件中获得更具体的失败原因。

<system.diagnostics>
    <trace autoflush="false"/>
    <sources>
      <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">
        <listeners>
          <add name="sdt" type="System.Diagnostics.XmlWriterTraceListener" initializeData="c:\temp\ServiceTrace.svclog"/>
        </listeners>
      </source>
    </sources>
</system.diagnostics>

答案 1 :(得分:0)

您需要使用WCF流来上传大文件。但仍然存在使用方法的一些限制。因此,通过HTTP传输大型文件需要考虑很多因素。 已在以下链接中公布了详细的示例和考虑因素。

  1. http://garfoot.com/blog/2008/06/transferring-large-files-using-wcf/
  2. http://kjellsj.blogspot.com/2007/02/wcf-streaming-upload-files-over-http.html

答案 2 :(得分:0)

  

需要使用WCF流来上传大文件。但仍然存在使用方法的一些限制。因此,通过HTTP传输大型文件需要考虑很多因素。已在以下链接中公布了详细的示例和考虑因素。 http://garfoot.com/blog/2008/06/transferring-large-files-using-wcf/   http://kjellsj.blogspot.com/2007/02/wcf-streaming-upload-files-over-http.html