Отправка большого XML от Silverlight до WCF

Я хочу отправить большую строку XML в услуги WCF SVC от Silverlight.

Похоже, что что-либо под приблизительно 50k отправляется правильно, но если я пытаюсь отправить что-то по тому пределу, мой запрос достигает сервера (BeginRequest называют), но никогда не достигает моего SVC. Я получаю классическое "NotFound" исключение.

Какая-либо идея о том, как повысить тот предел?

Если я не могу повысить его? Каковы мои другие опции?

Вот моя обязательная конфигурация

<bindings>
        <customBinding>
            <binding name="customBinding0" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxBufferPoolSize="2147483647">
                <binaryMessageEncoding>
        <readerQuotas
            maxArrayLength="2147483647"
            maxBytesPerRead="2147483647"
            maxDepth="2147483647"
            maxNameTableCharCount="2147483647"
            maxStringContentLength="2147483647" />

      </binaryMessageEncoding>
                <httpTransport/>
            </binding>
            <binding name="customBindingSecure" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxBufferPoolSize="2147483647">
                <binaryMessageEncoding>
        <readerQuotas
            maxArrayLength="2147483647"
            maxBytesPerRead="2147483647"
            maxDepth="2147483647"
            maxNameTableCharCount="2147483647"
            maxStringContentLength="2147483647" />
                </binaryMessageEncoding>
                <httpsTransport/>
            </binding>
        </customBinding>
    </bindings>

Править: Больше деталей: Если я прерываю Global.asax Endrequest, я вижу в Ответе, "Плохо Запрашивают 400"

Править: Больше деталей снова: Я активировал Трассировку, и я вижу следующую ошибку: максимальная квота размера сообщения для входящих сообщений (65536) была превышена. Для увеличения квоты используйте свойство MaxReceivedMessageSize на соответствующем обязательном элементе.

Однако мой maxReceivedMessageProperty уже установлен на 2147483647.

5
задан abatishchev 17 December 2014 в 00:52
поделиться

2 ответа

Хорошо, все заработало!

Поскольку я использую customBinding, maxReceivedMessageSize должен быть установлен в элементе httpTransport следующим образом:

<bindings>
        <customBinding>
            <binding name="customBinding0" >
                <binaryMessageEncoding>
        <readerQuotas
            maxArrayLength="2147483647"
            maxBytesPerRead="2147483647"
            maxDepth="2147483647"
            maxNameTableCharCount="2147483647"
            maxStringContentLength="2147483647" />

      </binaryMessageEncoding>
                <httpTransport maxReceivedMessageSize="4194304" />
            </binding>
            <binding name="customBindingSecure">
                <binaryMessageEncoding>
        <readerQuotas
            maxArrayLength="2147483647"
            maxBytesPerRead="2147483647"
            maxDepth="2147483647"
            maxNameTableCharCount="2147483647"
            maxStringContentLength="2147483647" />
                </binaryMessageEncoding>
                <httpsTransport  maxReceivedMessageSize="4194304" />
            </binding>
        </customBinding>
    </bindings>

Спасибо всем за вашу помощь!

6
ответ дан 14 December 2019 в 08:44
поделиться

Попробуйте это в app.config / web.config на стороне сервера:

<system.web>
    <httpRuntime maxRequestLength="109200" executionTimeout="3600" />
</system.web>
0
ответ дан 14 December 2019 в 08:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: