Foros del Web » Programando para Internet » ASPX (.net) »

WebService que regrese Dictionary

Estas en el tema de WebService que regrese Dictionary en el foro de ASPX (.net) en Foros del Web. Hola a todo buenos dias. Ya tenia tiempo que no entraba. Tengo un problema con un webservice, tengo una funcion la cual quiero que me ...
  #1 (permalink)  
Antiguo 08/02/2008, 10:59
 
Fecha de Ingreso: mayo-2006
Mensajes: 55
Antigüedad: 18 años
Puntos: 0
WebService que regrese Dictionary

Hola a todo buenos dias.

Ya tenia tiempo que no entraba.

Tengo un problema con un webservice, tengo una funcion la cual quiero que me regrese un Dictionary(System.Collections.Generic.Dictionary) pero al momento de correr mi webservice me marca el siguiente error:

The type System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] is not supported because it implements IDictionary.

Y el coodigo de mi web service es el siguiente:

Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
Imports System.Web.Script.Services
Imports System.Data
Imports System.Collections.Generic
Imports ArbolGenealogico.Conexion
Imports ArbolGenealogico.Fill

<System.Web.Services.WebService(Namespace:="http ://tempuri.org/")> _
<System.Web.Services.WebServiceBinding(ConformsTo: =WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
<ScriptService()> _
Public Class Arbol
Inherits System.Web.Services.WebService

<WebMethod()> _
Public Function ObtieneDatosPersona(ByVal Id As Integer) As Dictionary(Of Integer, String)
Dim Qry As String = "Select * From persona Where arbol_padre = " & Id.ToString()
Dim ds As New DataSet
ds = Conexion.EjecutaDatasetQry(Qry)
If ds.Tables(0).Rows.Count <> 0 Then
Dim ArrPersona As New Dictionary(Of Integer, String)
For Each dr In ds.Tables(0).Rows
ArrPersona.Add(CInt(dr("id_menu")), CStr(dr("prs_nombre")))
Next
Return ArrPersona
Else
Return Nothing
End If
Return Nothing
End Function
End Class


Alguien ha hecho algo como esto? De ser asi espero puedan ayudarme.

Muchas Gracias

Atte

Ing. Irving Arriaga Fuentes
  #2 (permalink)  
Antiguo 08/02/2008, 16:49
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Re: WebService que regrese Dictionary

La cuestión es que el Dictionary no tiene un equivalente para serializar en un XML Schema, lo que podrías hacer es decirle al serializer que implemente la interfaz IXmlSerializable

te paso una referencia, espero que te sirva

http://msdn.microsoft.com/msdnmag/is...s/default.aspx

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 08/02/2008, 18:40
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Re: WebService que regrese Dictionary

Yo retornaria el dataset en el webservice....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:56.