Question

Dans mon fichier ASMX, j'ai

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

La classe personnalisée est définie comme:

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

Tout se passe bien et le service Web est consommé avec succès à partir de la méthode JQuery Ajax. Récemment, j'ai décidé de tester et d'essayer d'y accéder à partir de l'URL directe telle que http: //localhost/services.asmx/method

Et je reçois ce message

"Impossible de sérialiser le système d'interface.collections.generic.idictionary"

Cela semble éteint. Qu'est-ce qui le cause et est-ce normal? Je suis confus - il semble que la manière propre de faire les choses mais selon Microsoft ne devrait pas être fait, mais cela fonctionne, mais pas lors de l'accès directement au service Web. Ce qui donne? J'ai également lu sur certains sites MS que vous ne pouvez pas transmettre idictionnaire au service Web en tant que paramètre, mais cela fonctionne bien ... alors peut-il être fait ou non? Quelqu'un peut-il clarifier cela une fois pour toutes?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top