Service WCF: le Retour des objets personnalisés
Je suis en utilisant le service WCF dans mon application. J'ai besoin de retourner un objet personnalisé dans la classe de service.
La méthode est comme suit:
IService.cs:
[OperationContract]
object GetObject();
Service.cs
public object GetObject()
{
object NewObject = "Test";
return NewObject;
}
Chaque fois que je fais un appel au service, il déclenche une exception avec le message suivant:
System.ServiceModel.CommunicationException: "An error occured while receiving the HTTP response to <service path>"
Exception Interne:
System.Net.WebException: "The underlying connection was closed. An unexpected error occured on receive"
Ne pouvons-nous pas retourner les types d'objets ou d'objets personnalisés à partir de la WCF service?
où pensez-vous organiser votre service wcf?
OriginalL'auteur Blessy Antony | 2009-12-29
Vous devez vous connecter pour publier un commentaire.
Vous devez retourner une instance d'une classe qui est marqué avec l'
DataContract
attribut:Maintenant modifier votre interface de service comme suit:
Et de votre service:
OriginalL'auteur Klaus Byskov Pedersen
Vous devez retourner un type spécifique, et non "objet". Un "objet" peut être de tout type.
"objet" est un joker. Cela signifie que vous pourriez être de retourner quoi que ce soit. Vous devez dire à la WCF quelles sortes de choses que vous pouvez retourner, à l'aide de la
ServiceKnownTypeAttribute
.OriginalL'auteur John Saunders
Les objets personnalisés sont très bien, tandis que MS a dit que vous n'avez pas à utiliser l' [DataContract] ou [datamember] les attributs de plus, je n'ai pas réussi sans eux. Essayez de marquage vous objet personnalisé avec les attributs et de voir ce qui se passe. Vous pouvez obtenir plus d'informations quant à ce qui est explicitement passe par l'activation du traçage et à l'aide de svcutil pour obtenir de trace.
OriginalL'auteur Steve