Ошибка веб-службы: HTTP 413: слишком большой объект запроса

Моя система:

IIS 7.5

Visual Studio 2010

Рамочная 4

Я сделал веб-сервис, который получает файл (байтовый массив). Я сделал консольное приложение, которое использует его (Добавить ссылку на службу -> Дополнительно -> Добавить веб-ссылку). С http работает отлично. Но мне нужно использовать его с https. Поэтому, когда я пытаюсь использовать его по протоколу https, он выдает мне HTTP 413. Слишком большой объект запроса. Я много читал, но это невозможно. Я попытался вставить в веб-конфигурацию веб-службы:

    <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_INopService" maxReceivedMessageSize="22147483647" maxBufferPoolSize="252428800" maxBufferSize="22147483647">
          <readerQuotas maxDepth="256" maxStringContentLength="22147483647" maxArrayLength="2222216384"
            maxBytesPerRead="2222220000" maxNameTableCharCount="2222216384" ></readerQuotas>
        </binding>
      </basicHttpBinding>

<basicHttpBinding>
        <binding name="HttpBigMessage"
             receiveTimeout="00:10:00"
             sendTimeout="00:10:00"
             maxReceivedMessageSize="2147483647" >
          <security mode="None" />
        </binding>
      </basicHttpBinding>

  </bindings>

    <client>
      <endpoint address="https://localhost/hmenu/GetData.asmx"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_INopService"
        contract="PhotoSavingsService.INopService" name="BasicHttpBinding_INopService" />
    </client>


  </system.serviceModel>

Файл не слишком большой. Куда мне нужно положить максимальный размер?

Поблагодарить

1 ответ

Много раз, добавив строку

<httpRuntime maxRequestLength="214748364" executionTimeout="9999" 
targetFramework="4.5"/>

дает ошибку 500

Пожалуйста, выясните, что уже существует в вашем файле веб-конфигурации. Привет, ребята. В общем, возникает ошибка 500, если в файле web.config сначала исправлена ​​неправильная конфигурация. Здесь я предоставляю 413 объект слишком велик для решения проблемы протокола https

web.config перед исправлением проблемы

<bindings>
  <webHttpBinding>
    <binding name="RestServiceBindingConfig">
      <security mode="Transport"></security>
    </binding>
    <binding name="HttpRestServiceBindingConfig">
      <security mode="None"></security>
    </binding>
<binding maxBufferPoolSize="76000000" maxReceivedMessageSize="19000000">
      <readerQuotas maxDepth="32" maxStringContentLength="19000000" 
maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
    </binding>
  </webHttpBinding>
</bindings>
<behaviors>

мы просто копируем вставленные квитанции читателя maxBufferPoolSize maxReceivedMessageSize в режиме транспорта RestServiceBindingConfig, что сделало трюк первым RestServiceBindingConfig предназначен для https второй HttpRestServiceBindingConfig привязки для http

web.config после исправления проблемы

<bindings>
  <webHttpBinding>
    <binding name="RestServiceBindingConfig" maxBufferPoolSize="2147483647" 
maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647"
           maxArrayLength="2147483647" maxBytesPerRead="4096" 
           maxNameTableCharCount="16384" />
      <security mode="Transport"></security>
    </binding>
    <binding name="HttpRestServiceBindingConfig" 
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647"
           maxArrayLength="2147483647" maxBytesPerRead="4096" 
           maxNameTableCharCount="16384" />
      <security mode="None"></security>
    </binding>

  </webHttpBinding>
</bindings>
<behaviors>
Другие вопросы по тегам