Pregunta

En mi archivo ASMX, tengo

        [WebMethod]
        [ScriptMethod]
        public void Method(IDictionary<string, CustomClass> objectOfCustomClass)
        {
           //do stuff
        }

La clase personalizada se define como:

public class CustomClass
    {
        public string Prop1 { get; set; }
        public string Prop2 { get; set; }       
    }

Todo va bien y el servicio web se consume con éxito del método jQuery Ajax. Recientemente decidí probar e intentar acceder a ella desde la URL directa, como http: //localhost/services.asmx/method

y recibo este mensaje

"No se puede serializar la interfaz system.collections.generic.idictionary"

Esto parece apagado. ¿Qué lo está causando y es normal? Estoy confundido: parece que la forma limpia de hacer las cosas, pero según Microsoft no debería hacerse, pero funciona, solo que no cuando se accede al servicio web directamente. ¿Lo que da? También leo en algunos sitios de MS que no puede pasar el idicricio al servicio web como parámetro, pero funciona bien ... entonces, ¿se puede hacer o no? ¿Alguien puede aclarar esto de una vez por todas?

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top