Nachricht oder ein Typ, der hat MessageContractAttribute und andere Parameter unterschiedlicher Typen
Ich bin der Entwicklung von WCF-services, wo einige Klassen haben die [MessageContract]
Attribut, und einige nicht.
Wenn ich versuche die Dienste ausführen bekomme ich diese Fehlermeldung unten:
Die operation "ProcessOperation' konnte nicht geladen werden, da es einen parameter oder Rückgabetyp vom Typ System.ServiceModel.- Kanäle.Nachricht oder ein Typ, der hat MessageContractAttribute und andere Parameter von unterschiedlichen Typen. Bei der Verwendung von System.ServiceModel.- Kanäle.Nachricht oder Arten mit MessageContractAttribute, die Methode muss nicht verwenden, jede andere Art von Parametern.
Bedeutet es, dass alle Dienste müssen [MessageContract]
obwohl Sie nicht verwandt sind?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nein, es bedeutet, dass Sie mehrere Parameter auf die Methode und einige von Ihnen sind nicht Nachrichten. Versuchen Sie, die Buchung der Schnittstelle zu Ihrem service.
Diese blog-post erklärt:
Wichtiger Hinweis:
Diese im Grunde bedeutet, dass eine bestimmte operation, ist die Verwendung einer Kombination von message-Vertrag-Typen und primitiven Typen in einer der folgenden Kombinationen:
Alle Szenarien aufgeführt, die oben würde den Fehler generiert.
Gelöst!
Kann ich nicht zurückgeben-String, ich habe zurück Gruß-Objekt an den client.
Wenn Sie das Problem mit den gemischten Typen der primitiven(wie string) und MessageContract als der andere Typ, also eine Klasse als Rückgabe und einen string-parameter, eine Art, wie ich das Problem gelöst wurde, das Umschalten von MessageContract zu DataContract.
Den anderen Weg, um dieses Problem zu lösen wäre, eine Klasse zu erstellen, halten Sie Ihre primitiven Typ als Eigenschaft, so dass sowohl die Rückgabe-und parameter umsetzen kann MessageContract.
Wenn Sie über das Message-Objekt als parameter soll die Methode void zurück