2012-04-01 20 views
11

Necesito cambiar mi archivo web.config y agregar la propiedad MaxReceivedMessageSize en mi web.config - pero ¿dónde?¿Dónde poner la propiedad MaxReceivedMessageSize en el archivo web.config del servicio WCF?

Se ha excedido la cuota máxima de tamaño de mensaje para los mensajes entrantes (65536). Para aumentar la cuota, use la propiedad MaxReceivedMessageSize en el elemento de enlace apropiado.

<?xml version="1.0"?> 
    <configuration> 
     <system.web> 
     <compilation debug="false"><assemblies><add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /></assemblies></compilation> 
     </system.web> 
     <system.serviceModel> 
     <behaviors> 
      <serviceBehaviors> 
      <behavior> 
       <serviceMetadata httpGetEnabled="true" /> 
       <serviceDebug includeExceptionDetailInFaults="false" /> 
      </behavior> 
      </serviceBehaviors> 
     </behaviors> 
     <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
     </system.serviceModel> 
    <system.webServer> 
     <modules runAllManagedModulesForAllRequests="true" /> 
     </system.webServer> 
+0

Por lo general, se establece en el elemento vinculante. Aunque su web.config no muestra signos de servicio WCF –

+0

@DmitriyReznik: muy probablemente un servicio .NET 4 WCF con los prácticos puntos finales "predeterminados" –

Respuesta

28

es necesario definir una configuración de enlace para el enlace que desea utilizar y luego es necesario definir sus servicios (en el lado del servidor) y clientes (en el lado del cliente) para usar que la unión y configuración de enlace:

<system.serviceModel> 
    <bindings> 
     <!-- pick whichever binding you want .... --> 
     <basicHttpBinding> 
     <!-- binding configuration with a name --> 
     <binding name="ExtendedMaxSize" 
      maxBufferSize="999999" maxReceivedMessageSize="999999" /> 
     </basicHttpBinding> 
    </bindings> 
    <services> 
    <service name="Yournamespace.YourServiceClass" behaviorConfiguration="..."> 
     <!-- define endpoint with your binding and the name of the binding configuration 
      that you have defined just above --> 
     <endpoint address="" 
       binding="basicHttpBinding" 
       bindingConfiguration="ExtendedMaxSize" 
       contract="Yournamespace.IYourServiceContract" /> 
    </service> 
    </services> 
1

Para ayudar a aquellos que pueden terminar aquí como yo. Todavía no puedo agregar comentarios (por lo general, alguien ya tiene las respuestas mucho antes de que tenga el problema), así que tengo que agregar una respuesta.

Tengo una aplicación MVC 4, y sospecho que la muestra inicial anterior es del web.config del proyecto real de servicio WCF. Uno de los comentarios menciona que sospecha que es una aplicación MVC 4 y la configuración de configuración predeterminada.

Pero, ¿cómo se soluciona el problema? A partir de más investigaciones, parece que el cambio en realidad debe realizarse en la web.config para el CLIENTE, en otras palabras, la configuración web para el proyecto con la REFERENCIA al servicio WCF. Descubrirá que es mucho más fácil hacer el cambio allí. Esa versión de web.config en realidad se parecerá a lo que estás buscando.

Eso funcionó fácilmente para mí y solucionó mi problema.

Cuestiones relacionadas