none
Primera llamada a servicio WCF es muy lenta RRS feed

  • Pregunta

  • Hola,

    Hemos estado usando WCF services para una aplicación que se está desarrollando. Tenemos varios servicios para cada grupo de funcionalidades, sin embargo, tenemos el mismo problema con todos: la primera llamada es siempre muy lenta, de 10 a 25 segundos, por lo cual ya hemos hecho lo siguiente (sin éxito):

    • Habilitar el startMode como "Always running", en el IIS Manager.
    • Habilitar el autoStart (set "true"), también en el IIS Manager.
    • Deshabilitar el useDefaultProxy, en el app.config.

    La XML Serialization no es utilizada en nuestro servicios ni manejos contratos de datos, por lo cual no hemos utilizado esa parte de compilar el cliente con la herramienta svcutil, ni tampoco vemos que sea una solución a nuestro problema. Este tipo de problemática no nos había sucedido con servicios de tipo ASMX, solo con los de WCF, ¿Qué más se podría hacer para solucionar esta problemática? Nada en Google suena como una solución viable para nuestro problema.

    Espero que alguien nos pueda ayudar con este problema ya que nos ha dado varios dolores de cabeza. Gracias de antemano.

    Saludos cordiales,

    César Campos

    lunes, 8 de septiembre de 2014 21:54

Todas las respuestas

  • Hola Ck, la primera llamada siempre tomará más tiempo de lo normal porque existe una llamada al Channel Factory que se utiliza para la comunicación, para las llamadas siguientes ese canal ya se encuentra disponible porque fue instanciado y éste se reutiliza hasta el final de vida del servicio.

    Ahora bien, existen pasos (que ya he utilizado) que dan buenos resultados. Lo puedes encontrar aquí.

    Espero sea de utilidad.

    Saludos cordiales.


    Christian Amado
    Software Engineer | MCPD: Windows Phone Developer | MCTS: Silverlight Developer
    Don't forget to mark the right answer and vote up if helps you.
    MCP Profile

    martes, 9 de septiembre de 2014 12:10
  • Hola,

    Gracias por tu respuesta. ¿Habrá alguna otra solución que no involucre agregar código en el servicio web? Quizás alguna configuración dentro del mismo servidor de manera que el canal esté instanciado incluso antes de que alguien haga una petición, Algo como sucedía antes con los servicios ASMX donde no sucedía algo similar.

    Saludos,

    César Campos

    jueves, 11 de septiembre de 2014 19:48
  • Hola,

    Gracias por tu respuesta. ¿Habrá alguna otra solución que no involucre agregar código en el servicio web? Quizás alguna configuración dentro del mismo servidor de manera que el canal esté instanciado incluso antes de que alguien haga una petición, Algo como sucedía antes con los servicios ASMX donde no sucedía algo similar.

    Saludos,

    César Campos

    Creo que no. Únicamente conozco la solución vía código.

    Saludos.


    Christian Amado
    Software Engineer | MCPD: Windows Phone Developer | MCTS: Silverlight Developer
    Don't forget to mark the right answer and vote up if helps you.
    MCP Profile

    jueves, 11 de septiembre de 2014 20:10
  • Enterado. Implementé las clases y el atributo en la clase del Service pero no logré el resultado esperado, si bien no hubo ningún problema tampoco decrementó el tiempo de respuesta. ¿Se tendrá que hacer alguna configuración adicional al publicar el servicio? Gracias.

    Saludos.

    viernes, 12 de septiembre de 2014 16:44
  • Pues está bien extraño tu caso. Intenta leer este artículo para ver si te has saltado algo...

    Disculpa que mis respuestas no son de mucha ayuda.

    Saludos.


    Christian Amado
    Software Engineer | MCPD: Windows Phone Developer | MCTS: Silverlight Developer
    Don't forget to mark the right answer and vote up if helps you.
    MCP Profile

    viernes, 12 de septiembre de 2014 17:30
  • Solo veo diferente que yo utilizo el basic binding mientras que el ejemplo utiliza WS HTTP binding, no sé si eso realmente tenga impacto a parte de las diferencias de protocolos de seguridad.

    Saludos.

    viernes, 12 de septiembre de 2014 18:48
  • Estas utilizando windows server 2008 R2 por si acaso??

    sábado, 16 de mayo de 2015 18:10