2010-05-21 2 views
1

lHi,Paramètres obligatoires dans l'objet de requête (WCF)

J'écris actuellement un service WCF. L'une de ces méthodes obtient un objet de requête et renvoie un objet de réponse. Dans la requête, il y a quelques membres de type valeur.

Existe-t-il un moyen de définir les membres obligatoires de manière déclarative? Je suis à un stade précoce de développement et je ne veux pas commencer avec le versionnement maintenant. De plus je ne veux pas avoir de méthode sig avec 25 paramètres, donc j'ai créé l'objet request. Le problème que j'ai est qu'en raison des types de valeur, je ne peux jamais être sûr si le consommateur du service a voulu avoir la valeur par défaut dedans, ou c'était juste par la paresse. Du côté des consommateurs, vous ne pouvez pas facilement détecter que vous avez probablement manqué cette propriété. Donc, je voudrais avoir quelque chose qui force l'appelant du service à fournir une valeur, et sinon, il obtient idéalement une erreur de compilation.

des idées?

tia, Martin

Répondre

2

Oui, absolument:

[DataContract] 
public class YourRequestClass 
{ 
    [DataMember(IsRequired=true)] 
    int RequestID { get; set; } 

} 

Il y a un certain nombre de sous-attributs à l'attribut DataMember que vous pouvez utiliser - Order et IsRequired étant probablement les plus fréquemment utilisés .

+0

Salut, merci pour votre réponse, mais cela ne résout pas vraiment mon problème. Parce que dès que je mets à jour la référence de mon service sur le client, personne ne va me déranger pour vraiment fournir une valeur là-bas. La sérialisation ajoutera ceci à la demande, et le service l'accepte, même s'il ne s'agit que de la valeur par défaut. –

Questions connexes