Principales respuestas
Ayuda con servicio web WCF

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
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
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- Editado Leandro TuttiniMVP miércoles, 6 de marzo de 2013 19:41
-
-
-
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
-
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.