none
Ayuda con servicio web WCF RRS feed

  • Pregunta

  • Tengo un problema con unas funciones de un servicio web WCF. Os expongo el codigo:

    CS:

    List<short> idElementos = new List<short>();

    servicio.obtenerElementosLista2Completed += new EventHandler<obtenerElementosLista2CompletedEventArgs>(obtenerElementosLista2Completed); servicio.obtenerElementosLista2Async(idElementos);

    Service1.svc.cs:

            public List<string> obtenerElementosLista2(List<short> o)
            {
                List<string> x = new List<string>(), z =  new List<string>();
                string texto = "";
                foreach (short y in o)
                {
                    SqlConnection Cn = new SqlConnection(@"Data Source=X;Initial Catalog=X;User ID=X");
                    SqlDataAdapter Adap = new SqlDataAdapter("Select cel.Descripcion from Centros_ElementosListas cel, Centros_Relacion_Listas crl where crl.IdElemento2 = cel.IdElemento and crl.IdElemento1 = " + y, Cn);
                    DataSet ds = new DataSet();
                    Adap.Fill(ds, "Tabla");
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        texto += ds.Tables[0].Rows[i].ItemArray[0].ToString() + ".";
                    }
                    x.Add(texto);
                    texto = "";
                }
                return x;
            }

    IService1.cs:

    [OperationContract]
            List<string> obtenerElementosLista2(List<short> o);

    El error que me da es:

    Error    2    Argumento 1: no se puede convertir de 'System.Collections.Generic.List<short>' a 'System.Collections.ObjectModel.ObservableCollection<short>'.

    Alguna idea?


    • Editado Karmak84 jueves, 7 de marzo de 2013 8:31
    miércoles, 6 de marzo de 2013 17:29

Respuestas

  • Hola Karmak.

    No se como estas invocando el servicio, si lo haces agregando la referencia al servicio, puedes configurar el tipo a usar para las colecciones que seran generadas en la clase proxy, para ello boton derecho en la referencia al servicio -> configurar, con lo que por defecto creo que sale ObservableCollection, deberas modificarlo por una lista si quieres.


    Saludos
    David González
    MCP, MCTS
    Visita mi Blog en: http://www.dgzornoza.com/

    • Marcado como respuesta Karmak84 jueves, 7 de marzo de 2013 15:14
    jueves, 7 de marzo de 2013 13:10

Todas las respuestas

  • aqui

    List<short> idElemento = new List<short>();

    veo que defines una variable difernete a

    servicio.obtenerElementosLista2Async(idElementos);

    la segunda tiene una "s" de mas, por lo que me pregunto esa lista con s al final donde esta declarada

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    miércoles, 6 de marzo de 2013 19:38
  • Si perdon, es que eso fue editado a prisa y corriendo y me la deje, no es el codigo completo solo puse lo que era necesario para verlo.
    jueves, 7 de marzo de 2013 8:31
  • ok pero has validado que esa sea la lista correcta que asignas, porque alli defines claramente

    List<short> idElemento = new List<short>();

    peor en el codigo real tambien lo haces asi ?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 7 de marzo de 2013 12:48
  • Hola Karmak.

    No se como estas invocando el servicio, si lo haces agregando la referencia al servicio, puedes configurar el tipo a usar para las colecciones que seran generadas en la clase proxy, para ello boton derecho en la referencia al servicio -> configurar, con lo que por defecto creo que sale ObservableCollection, deberas modificarlo por una lista si quieres.


    Saludos
    David González
    MCP, MCTS
    Visita mi Blog en: http://www.dgzornoza.com/

    • Marcado como respuesta Karmak84 jueves, 7 de marzo de 2013 15:14
    jueves, 7 de marzo de 2013 13:10
  • Si Leandro, estaba bien declarado en el codigo como IdElementos y no como IdElemento, eso fue una errata.

    Gracias por la informacion David, que ha habido un momento que VS parecia que se reia de mi, dando me errores en consultas que antes me iban bien y de repente todas las consultas me daban error xDDD. Era lo de la configuracion.

    jueves, 7 de marzo de 2013 15:15