none
truco Enviar DataTable mediante WCF RRS feed

  • Pregunta

  • Hola se que existe un truco para poder transportar un datatable mediante WCF

    lo que pasa es que me truena el servicio a la hora de enviar una tabla

    cuando lo hago con listas funciona bien, pero ahora debo enviar un datatable,

    alguien sabe o tiene idea de cómo hacerle?

    pls

    tks

    el error que tengo si envío datatable's es el siguiente:

    The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:04:59.9062500'

    gracias pos sus comentarios


    saludos

    martes, 13 de marzo de 2012 3:44

Respuestas

  • Hola....

    No es tanto un truco, es una vieja práctica......

    1. En el WCF cuando crees el datatable asegurate de darle un nombre. Adjunto el Código.

    WCF

    public DataTable ObtenerDatos()
            {
                var tabla = new DataTable("test");
                tabla.Columns.Add("p1");
                tabla.Columns.Add("p2");
                tabla.Columns.Add("p3");

                tabla.Rows.Add("1", "2", "3");
                tabla.Rows.Add("4", "5", "6");
                return tabla;
            }

    Código C#

    var proxies = new proxies.WCFTabla.Service1Client(); //REFERENCIA AL WCF
                var tabla = new DataTable("test"); 

    Espero te funcione.

    Saludos.

    • Marcado como respuesta kakaroto2012 martes, 13 de marzo de 2012 19:58
    martes, 13 de marzo de 2012 16:56

Todas las respuestas

  • Hola....

    No es tanto un truco, es una vieja práctica......

    1. En el WCF cuando crees el datatable asegurate de darle un nombre. Adjunto el Código.

    WCF

    public DataTable ObtenerDatos()
            {
                var tabla = new DataTable("test");
                tabla.Columns.Add("p1");
                tabla.Columns.Add("p2");
                tabla.Columns.Add("p3");

                tabla.Rows.Add("1", "2", "3");
                tabla.Rows.Add("4", "5", "6");
                return tabla;
            }

    Código C#

    var proxies = new proxies.WCFTabla.Service1Client(); //REFERENCIA AL WCF
                var tabla = new DataTable("test"); 

    Espero te funcione.

    Saludos.

    • Marcado como respuesta kakaroto2012 martes, 13 de marzo de 2012 19:58
    martes, 13 de marzo de 2012 16:56
  • mi problema era que

    la tabla no tenía un nombre, y con eso fue suficiente para marcarme errores que 

    nada que ver!

    tks por la aportación!


    saludos

    martes, 13 de marzo de 2012 19:59