Ajax с поддержкой WCF — как можно увеличить размер длины данных для одного [OperationContract]

#c# #asp.net #ajax #wcf

#c# #asp.net #ajax #wcf

Вопрос:

я хочу вставить содержимое html-редактора в базу данных через wcf, но когда размер текста превышает 40 строк, это не получается. Как я могу увеличить размер длины данных для единственного операционного контракта?

я хочу установить размер только для одного контракта на операцию из соображений безопасности

Ответ №1:

Это невозможно на операционном уровне и должно быть выполнено на уровне обслуживания.

Если у вас действительно есть проблемы, создайте сервис, который выполняет только эту операцию, и создайте специальную привязку, в которой вы изменяете различные пороговые значения квот.

Ответ №2:

Вы можете сделать это, когда определяете привязку к конечной точке на стороне клиента, пример app.config

 <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_ITestRunner" closeTimeout="01:00:00" openTimeout="01:00:00" receiveTimeout="01:00:00" sendTimeout="01:00:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="6553600" maxBufferPoolSize="5242880" maxReceivedMessageSize="6553600" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
          <readerQuotas maxDepth="320" maxStringContentLength="8192" 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>