6

2K8R2 開発サーバーにデプロイされ、IIS 7.5 でホストされている WCF 4.0 サービスがあります。テストアプリ(WPF)からローカルで呼び出しています。23MB (またはそれ以上) のファイルを送信しようとすると、次のエラーが表示されます。

メッセージを受け入れることができる http:///FileStorageClone/FileStorage.svc でリッスンしているエンドポイントがありませんでした。これは、多くの場合、アドレスまたは SOAP アクションが正しくないことが原因です。詳細については、InnerException (存在する場合) を参照してください。

19MB までは正常に動作します。タイムアウト設定を上げ、最大バッファを設定し、受信メッセージと配列サイズをすべて web.config ファイルで 2GB に設定しました。例外はすぐにスローされます (タイムアウトするほど長くはありません)。

これは、basicHttpBinding を使用して実行されていますが、それが固まったため、次のステップは他のバインディング タイプになります。

最初に小さなファイルとの接続を考え出し、次に大きなファイルに移動しました。64KB で最大バッファに達し、メッセージ サイズを受信しました。4MB で、system.Web の下の httpRuntime をデフォルトの 4GB 値から増やす必要があることを知りました。

IIS またはサイト レベルの問題のように感じます。私が行方不明になっている可能性のある場所はありますか?

4

1 に答える 1

16

これはIISレベルでの設定のようです。web.configまたはappcmd.exeを介したrequestFilteringの設定は、2つの実行可能なオプションです。web.configで、次の例は制限を22億バイトに設定します。

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

おかげで: http ://www.dantor.com/support/misc/web-config-requestFiltering-user-agent.aspx

また、appcmd.exeを介して、http://forums.iis.net/t/1066272.aspxを参照してください

于 2012-08-06T20:31:41.940 に答える