none
WebService: Aumentar o MaxReceivedMessageSize RRS feed

  • Pergunta

  • Bom dia a todos,

     

    Como eu consigo aumentar o MaxReceivedMessageSize? estou retornando uma DataSet que ultrapassa o limite inicial que já vem configurado que é de 65 mil e alguma coisa.

     

    Alguém já teve que fazer isso? E o que foi feito para resolver o problema ?

     

     

     


    Henry Damasceno Desenvolvedor Know How Consultoria em T.I.
    quinta-feira, 13 de maio de 2010 14:12

Respostas

  • Encontrei o problema.

     

     

    No meu caso que estou utilizando WebService e não WCF. A solução é a seguinte:

     

    Quando mando importar o WebService no meu projeto WindowsForms ele cria a referência do objeto, junto com esta referência ele cria diversas tag's no arquivo app.config da aplicação WindowsForms.

     

    Entrando nesse arquivo app.config tem as tags que precisam ser alteradas, seguem as alterações:

    <basicHttpBinding>
            <binding name="Service1Soap" closeTimeout="00:03:00" openTimeout="00:03:00"
              receiveTimeout="00:15:00" sendTimeout="00:03:00" allowCookies="false"
              bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
              maxBufferSize="50000000" maxBufferPoolSize="50000000" maxReceivedMessageSize="50000000"
              messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
              useDefaultWebProxy="true">
              <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                maxBytesPerRead="4096" maxNameTableCharCount="16384" />
              <security mode="None">
                <transport clientCredentialType="None" proxyCredentialType="None"
                  realm="" />
                <message clientCredentialType="UserName" algorithmSuite="Default" />
              </security>
            </binding>
            <binding name="Service1Soap1" closeTimeout="00:03:00" openTimeout="00:03:00"
              receiveTimeout="00:15:00" sendTimeout="00:03:00" allowCookies="false"
              bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
              maxBufferSize="50000000" maxBufferPoolSize="50000000" maxReceivedMessageSize="50000000"
              messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
              useDefaultWebProxy="true">
              <readerQuotas maxDepth="32" 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>

    Coloquei logo 50000000 assim vai precisar de muita coisa, para dar ____ novamente!

     

     

     

    abs,

    Espero que ajude alguém no futuro!

     


    Henry Damasceno Desenvolvedor Know How Consultoria em T.I.
    • Marcado como Resposta Henry Damasceno quinta-feira, 13 de maio de 2010 20:23
    quinta-feira, 13 de maio de 2010 20:23

Todas as Respostas

  • Bom dia a todos,

     

    Como eu consigo aumentar o MaxReceivedMessageSize? estou retornando uma DataSet que ultrapassa o limite inicial que já vem configurado que é de 65 mil e alguma coisa.

     

    Alguém já teve que fazer isso? E o que foi feito para resolver o problema ?

     

     

     


    Henry Damasceno Desenvolvedor Know How Consultoria em T.I.

    aqui tem como fazer isto  :http://forums.lhotka.net/forums/p/4369/21422.aspx

     


    Just Be Humble Malange!
    quinta-feira, 13 de maio de 2010 17:30
    Moderador
  • Eu já tentei diversos códigos como esse... e nenhum funciona vou postar aqui o Web.config que esta no meu para você ver...

     

    Web.config puro, sem modificações:

    <?xml version="1.0"?>
    <configuration>
     <configSections>
      <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
       <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
        <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
         <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
         <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
         <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
         <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
        </sectionGroup>
       </sectionGroup>
      </sectionGroup>
     </configSections>
     <appSettings/>
     <connectionStrings/>
     <system.web>
      <compilation debug="true">
       <assemblies>
        <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
       </assemblies>
      </compilation>
      <!--
       The <authentication> section enables configuration 
       of the security authentication mode used by 
       ASP.NET to identify an incoming user. 
      -->
      <customErrors mode="Off"/>
      <authentication mode="Windows"/>
      <!--
        The <customErrors> section enables configuration 
        of what to do if/when an unhandled error occurs 
        during the execution of a request. Specifically, 
        it enables developers to configure html error pages 
        to be displayed in place of a error stack trace.
    
        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
         <error statusCode="403" redirect="NoAccess.htm" />
         <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
      -->
      <pages>
       <controls>
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
       </controls>
      </pages>
      <httpHandlers>
       <remove verb="*" path="*.asmx"/>
       <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
       <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
       <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </httpHandlers>
      <httpModules>
       <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </httpModules>
     </system.web>
     <!-- 
        The system.webServer section is required for running ASP.NET AJAX under Internet
        Information Services 7.0. It is not necessary for previous version of IIS.
      -->
     <system.codedom>
      <compilers>
       <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
        <providerOption name="CompilerVersion" value="v3.5"/>
        <providerOption name="WarnAsError" value="false"/>
       </compiler>
      </compilers>
     </system.codedom>
     <system.webServer>
      <validation validateIntegratedModeConfiguration="false"/>
      <modules>
       <remove name="ScriptModule"/>
       <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </modules>
      <handlers>
       <remove name="WebServiceHandlerFactory-Integrated"/>
       <remove name="ScriptHandlerFactory"/>
       <remove name="ScriptHandlerFactoryAppServices"/>
       <remove name="ScriptResource"/>
       <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
       <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
       <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </handlers>
     </system.webServer>
     <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v2.0.50727">
       <dependentAssembly>
        <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
       </dependentAssembly>
       <dependentAssembly>
        <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
       </dependentAssembly>
      </assemblyBinding>
     </runtime>
    </configuration>
    

    Não tem em nenhum lugar as TAG's dos exemplos. E eu já tentei colocar no início, no final no meio, dentro da <system.web> da <system. ..... >

     

     

    Ta difícil, lembrando o meu projeto é webService e não WCF!

     

     

     

    abs,

     


    Henry Damasceno Desenvolvedor Know How Consultoria em T.I.
    quinta-feira, 13 de maio de 2010 19:20
  • Segue outro exemplo:

     

    http://blogs.msdn.com/wenlong/archive/2006/01/23/516041.aspx

     

    Coloca após o fechamento da tag     </system.web>

    Esse exemplo ai é com webservice também


    msn: poseidonfba@hotmail.com
    quinta-feira, 13 de maio de 2010 19:34
  • Encontrei o problema.

     

     

    No meu caso que estou utilizando WebService e não WCF. A solução é a seguinte:

     

    Quando mando importar o WebService no meu projeto WindowsForms ele cria a referência do objeto, junto com esta referência ele cria diversas tag's no arquivo app.config da aplicação WindowsForms.

     

    Entrando nesse arquivo app.config tem as tags que precisam ser alteradas, seguem as alterações:

    <basicHttpBinding>
            <binding name="Service1Soap" closeTimeout="00:03:00" openTimeout="00:03:00"
              receiveTimeout="00:15:00" sendTimeout="00:03:00" allowCookies="false"
              bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
              maxBufferSize="50000000" maxBufferPoolSize="50000000" maxReceivedMessageSize="50000000"
              messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
              useDefaultWebProxy="true">
              <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                maxBytesPerRead="4096" maxNameTableCharCount="16384" />
              <security mode="None">
                <transport clientCredentialType="None" proxyCredentialType="None"
                  realm="" />
                <message clientCredentialType="UserName" algorithmSuite="Default" />
              </security>
            </binding>
            <binding name="Service1Soap1" closeTimeout="00:03:00" openTimeout="00:03:00"
              receiveTimeout="00:15:00" sendTimeout="00:03:00" allowCookies="false"
              bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
              maxBufferSize="50000000" maxBufferPoolSize="50000000" maxReceivedMessageSize="50000000"
              messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
              useDefaultWebProxy="true">
              <readerQuotas maxDepth="32" 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>

    Coloquei logo 50000000 assim vai precisar de muita coisa, para dar ____ novamente!

     

     

     

    abs,

    Espero que ajude alguém no futuro!

     


    Henry Damasceno Desenvolvedor Know How Consultoria em T.I.
    • Marcado como Resposta Henry Damasceno quinta-feira, 13 de maio de 2010 20:23
    quinta-feira, 13 de maio de 2010 20:23
  • Segue outro exemplo:

     

    http://blogs.msdn.com/wenlong/archive/2006/01/23/516041.aspx

     

    Coloca após o fechamento da tag     </system.web>

    Esse exemplo ai é com webservice também


    msn: poseidonfba@hotmail.com

    Obrigado, mas não precisou alterar nada no meu config do webservice, o problema era na aplicação cliente!

     

     

    abs,


    Henry Damasceno Desenvolvedor Know How Consultoria em T.I.
    quinta-feira, 13 de maio de 2010 20:24
  • Olá, no meu caso foi só colocar esse atributo na tag binding que está o meu endpoint, basta ir no appconfig ou webconfig da aplicação que está consumindo e colocar a propriedade com o tamanho 

         <bindings>
                <basicHttpBinding>
                    <binding name="BasicHttpBinding_IServiceWCF" maxReceivedMessageSize="1300000" />
                </basicHttpBinding>

    terça-feira, 1 de agosto de 2017 11:05
  • Sei que fazem muitos anos desde a dúvida, mas, recentemente precisei resolver isso. Li em vários locais, respostas "certas", mas que geram muitas dúvidas acerca do assunto.

    Vamos por passos:

    1º Essa é uma mensagem vinda do Client, ou seja, no projeto do seu Client.

    2º Essa configuração deve ser feita no arquivo "App.config" do seu projeto.

    3º Dentro do arquivo "App.Config", pesquise pela Tag "Binding"

    4º A Tag Binding possui por padrão, apenas uma propriedade, que é a Name="nome do seu webservice".

    5º Adicione a propriedade "maxReceivedMessageSize", setando o tamanho em bytes conforme sua necessidade.

    6º Exemplo da Tag pronta = "<binding name="NomeDoSeuWebService" maxReceivedMessageSize="3145728"/>".

    Espero ter ajudado!

    • Sugerido como Resposta Leandro Leite23 quinta-feira, 19 de maio de 2022 14:00
    quinta-feira, 19 de maio de 2022 13:57