1

こんにちは、モバイルアプリとの間でデータをやり取りするために使用している単純な WCF アプリケーションを構築しました。他のすべては正常に動作しますが、大きなバイナリ ビデオ アップロードをアップロードしようとすると、奇妙なエラーが発生します。3 ~ 4 MB までのバイナリ ストリームを正常にアップロードできますが、それよりも大きいと、次のエラーのいずれかがランダムに発生します。

1.

<html>

   <BODY>
<FONT face="Helvetica">
<big><strong></strong></big><BR>
</FONT>
<blockquote>
<TABLE border=0 cellPadding=1 width="80%">
<TR><TD>
<FONT face="Helvetica">
<big>Network Error (tcp_error)</big>
<BR>
<BR>
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
A communication error occurred: ""
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
The Web Server may be down, too busy, or experiencing other problems preventing it from responding to requests. You may wish to try again at a later time.
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica" SIZE=2>
<BR>
For assistance, contact your network support team.
</FONT>
</TD></TR>
</TABLE>
</blockquote>
</FONT>
</BODY>
</html>

2.

<html>

<body>

<div id="header"><h1>Server Error</h1></div>

<div id="content">

 <div class="content-container"><fieldset>

  <h2>404 - File or directory not found.</h2>

  <h3>The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.</h3>

 </fieldset></div>

</div>

</body>

</html>

これが私のWeb.Configです

<?xml version="1.0"?>
<configuration>
  <system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="2147483648" />
      </requestFiltering>
    </security>
  </system.webServer>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
   <bindings>
      <webHttpBinding>
        <binding transferMode="Streamed" maxBufferSize="5242880" maxReceivedMessageSize="2147483647" openTimeout="05:25:00" closeTimeout="00:25:00" sendTimeout="00:25:00" receiveTimeout="0:25:00"
                 name="webBinding"
        />
      </webHttpBinding>
    </bindings>
    <services>
       <service behaviorConfiguration="RestBehavior" name="EyePlots.Videos">
        <endpoint address="" behaviorConfiguration="web" binding="webHttpBinding" bindingConfiguration="webBinding"
           contract="EyePlots.IVideos" />
      </service>
</services>
    <behaviors>
      <endpointBehaviors>
        <behavior name="web">
          <webHttp />
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="RestBehavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceThrottling maxConcurrentCalls="100"
    maxConcurrentInstances="100" maxConcurrentSessions="100" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

システムのスケーラビリティに問題がある可能性はありますか? 皆さんが望むなら、私のコード スニペットを投稿できますか? ありがとう!

4

1 に答える 1

2

4メガはIISスロットルだと思います。

設定しましたか(IIS7 +)

<system.webServer>
  <security>
    <requestFiltering>
      <requestLimits maxAllowedContentLength="2147483648" />
    </requestFiltering>
  </security>
</system.webServer>

これは、開いてみるためのいくつかのスロットルをリストした投稿です。IISでホストされている大きなファイルのアップロードに関するWCFの問題

于 2012-06-26T15:58:05.767 に答える