Это разочаровывает ... Я немного новичок в веб-службах, и я не совсем понимаю, почему я не могу понять, как использовать Microsoft WSE 3.0 для включения кодирования MTOM для SOAP в моем веб-сервисе. Я добавил в свой веб-сервис следующее:
Web.config и app.config в моей библиотеке на сервере:
<configuration>
<configSections>
<section name="microsoft.web.services3" type="Microsoft.Web.Services3.Configuration.WebServicesConfiguration, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</configSections>
<system.web>
<httpRuntime maxRequestLength="134217728" executionTimeout="300"/>
<webServices>
<soapExtensionImporterTypes>
<add type="Microsoft.Web.Services3.Description.WseExtensionImporter, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</soapExtensionImporterTypes>
<soapServerProtocolFactory type="Microsoft.Web.Services3.WseProtocolFactory, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</webServices>
<compilation>
<assemblies>
<add assembly="Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
</system.web>
<microsoft.web.services3>
<messaging>
<mtom serverMode="always" />
<maxMessageLength value="134217728" />
</messaging>
</microsoft.web.services3>
</configuration>
На стороне клиента я добавил то же самое в app.config, добавив did clientMode = "On".
Когда я пытаюсь загрузить файл размером 40 МБ, я получаю популярную ошибку «Превышена максимальная длина запроса».
Любое объяснение? Должен ли я сказать транспортам использовать эту конфигурацию? Как я могу это сделать? Спасибо!