У меня есть веб-приложение, которое позволяет пользователям загружать файлы.Затем файлы сохраняются с использованием службы WCF в другой службе.Эта загрузка работает нормально, пока я не загружу файл размером около 4,5 МБ.Когда я загружаю файл выше определенного размера, я получаю ошибку:
Ошибка мыла: 413 Сервер отказывается обрабатывать запрос, потому что объект запроса больше, чем сервер желает или может обработать..
Эта ошибка появляется в журнале системных событий сервера, на котором работает служба WCF.
Найденные мной решения подсказали мне изменить параметры maxAllowedContentLength и uploadReadAheadSize вфайл конфигурации applicationHost.Однако изменение maxAllowedContentLength на создание другой ошибки вызвало только то, что я установил его на очень маленькое значение, и изменение значения uploadReadAheadSize не оказало никакого влияния на проблему.Кто-нибудь знает, что я должен изменить и где я должен изменить это?Я искал часы, и я начинаю терять терпение :(. Спасибо за помощь!
РЕДАКТИРОВАТЬ:
Хорошо, web.config службы WCF, расположенный в напроизводственная система выглядит следующим образом: это файл web.config, расположенный в папке, на которую указывает IIS-сайт веб-служб WCF:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="SOAP" path="*.wsdl" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files (x86)\Common Files\MSSoap\Binaries\SOAPIS30.dll" resourceType="Unspecified" preCondition="bitness32" />
<add name="WSDL Mapping" path="*.wsdl" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files\Common Files\MSSoap\Binaries\SOAPIS30.dll" resourceType="Unspecified" />
</handlers>
</system.webServer>
</configuration>
Конфигурация в тестовой системе следующая:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="WSDL Mapping" path="*.wsdl" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files\Common Files\MSSoap\Binaries\SOAPIS30.dll" resourceType="Unspecified" />
</handlers>
</system.webServer>
</configuration>
Как вы можете видеть, ни в одном из файлов не упоминается ни длина контента, ни что-либо еще. Должен признать, что я довольно озадачен. Но, как я уже сказал, я "я не разбираюсь в IIS.
РЕДАКТИРОВАТЬ 2:
Здесь находится узел serviceModel веб-приложения моего веб-приложения:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="WsJobsSoapBinding" closeTimeout="00:05:00" openTimeout="00:05:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://srvts01test:90/WsJobs.WSDL" binding="basicHttpBinding" bindingConfiguration="WsJobsSoapBinding" contract="JobsWs.WsJobsSoapPort" name="WsJobsSoapPort"/>
</client>
</system.serviceModel>
Это web.configмоего веб-приложения, которое вызывает службу WCF, а не web.config самой службы WCF. Еще раз спасибо за любую помощь:)