Ошибка веб-службы: 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>