El uso de web.config en una consola de C # aplicación WCF alojado en sí mismo (lado del servidor MaxStringContentLength ajuste)

StackOverflow https://stackoverflow.com/questions/3856738

  •  27-09-2019
  •  | 
  •  

Pregunta

Tengo un simple auto acogió WCF consola ventanas de aplicaciones, y puedo conectar muy bien de mi cliente. Tengo un problema, aunque el envío de grandes cadenas XML a través del servidor. Me sale el siguiente error:

"System.Xml.XmlException: La cuota máxima de la cadena longitud del contenido (8192) se ha superado durante la lectura de datos XML Esta cuota se puede aumentar cambiando la propiedad MaxStringContentLength en los XmlDictionaryReaderQuotas .... "

Me puede establecer el MaxStringContentLength en la cliente cambiando su archivo app.config (generada por svcutil.exe).

Sin embargo, en el lado del servidor no tengo dónde puedo cambiar esto. He leído acerca de un archivo web.config y no estoy seguro si es una aplicación de consola de WCF puede tener uno y si es así cómo puedo leerlo y usarlo? Mi auto código de alojamiento es a continuación:

static void RunWCFService()
{
    // Step 1 of the address configuration procedure: Create a URI to serve as the base address.
    Uri baseAddress = new Uri("http://localhost:8000/MyService/WcfService");

    // Step 2 of the hosting procedure: Create ServiceHost
    ServiceHost selfHost = new ServiceHost(typeof(MyServiceWcf), baseAddress);
    try
    {
        // Step 3 of the hosting procedure: Add a service endpoint.
        selfHost.AddServiceEndpoint(typeof(IMyService), new WSHttpBinding(), "MyService");

        // Step 4 of the hosting procedure: Enable metadata exchange.
        ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
        smb.HttpGetEnabled = true;
        selfHost.Description.Behaviors.Add(smb);                

        // Step 5 of the hosting procedure: Start (and then stop) the service.
        selfHost.Open();
        Console.WriteLine("Press <ENTER> to terminate service.");       
        Console.ReadLine();
        // Close the ServiceHostBase to shutdown the service.
        selfHost.Close();
    }
    catch (CommunicationException ce)
    {
        Console.WriteLine("An exception occurred: {0}", ce.Message);
        selfHost.Abort();
    }
 }
¿Fue útil?

Solución

Los datos de configuración de WCF va en el app.config del exe que está haciendo el alojamiento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top