none
WF4.0中基于wcf的workflowservice附件上传配置问题,目前超过16KB报400错误 RRS feed

  • 问题

  • 我的workflowservice配置如下:不知道是什么问题,上传超过16KB就会400报错,谢谢!我上传的时候是以文件的byte[]格式进行传输的,希望能得到解决

    <system.web>
    
     <compilation debug="true" targetFramework="4.0" />
    
     <httpRuntime maxRequestLength="2147483647"/>
    
     </system.web>
    
     <system.serviceModel>
    
     <bindings>
    
      <customBinding>
    
      <binding name="customBinding0">
    
       <binaryMessageEncoding maxReadPoolSize="2147483647" maxWritePoolSize="2147483647">
    
       <readerQuotas maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" maxArrayLength="2147483647" maxStringContentLength="2147483647" maxDepth="2147483647"/>
    
       </binaryMessageEncoding>
    
       <httpTransport maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" >
    
       </httpTransport>
    
      </binding>
    
      </customBinding>
    
      <basicHttpBinding>
    
      <binding name="basicBinding0" transferMode="Buffered" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
    
       <readerQuotas maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" maxArrayLength="2147483647" maxStringContentLength="2147483647" maxDepth="2147483647"/>
    
      </binding>
    
      </basicHttpBinding>
    
     </bindings>
    
     <services>
    
      <service name="Service1">
    
      <endpoint address="" binding="customBinding" 
    
         bindingConfiguration="customBinding0"
    
       contract="WFService.FlowService.IService" />
    
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    
      </service>
    
     </services>
    
     <behaviors>
    
      <serviceBehaviors>
    
      <behavior>
    
       <serviceMetadata httpGetEnabled="true"/>
    
       <serviceDebug includeExceptionDetailInFaults="true"/>
    
       <serviceThrottling maxConcurrentCalls="10000" maxConcurrentInstances="10000" maxConcurrentSessions="10000"></serviceThrottling>
    
       <dataContractSerializer maxItemsInObjectGraph="2147483647" />
    
      </behavior>
    
      </serviceBehaviors>
    
     </behaviors>
    
     <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    
     </system.serviceModel>
    
    

    2011年5月24日 10:08

答案

  • 你可以通过看service的log来看究竟是哪里出了错。

    在你的Start->Programs->Microsoft Visual Studio 2010->Microsoft Windows SDK Tools里,打开Service Configuration Editor,用它打开你的Service的Config文件,你会发现你可以很方便的修改你的Config。找到关于timeout, size之类的,都可以设置。

    如果想看Service的log,就在Diagnostics里面,找到Tracing,然后Turn on 它。你可以看到它将会把log文件保存下来,这里有log文件的地址.

    保存Config文件的修改,重新deploy你的service.然后进行操作。如果失败,用Microsoft Service Trace Viewer打开log文件,找到红色的错误,基本上就能确认到底是哪里出了问题了。


    This posting is provided "AS IS" and confers no rights or warranties.
    • 已标记为答案 cakeMSDN 2011年11月3日 8:48
    2011年8月25日 13:51