Tenir compte de la ServiceContract-Interface suivante:La suppression d'un MessageBodyMember dans un MessageContract est-elle considérée comme un changement de rupture?
[ServiceContract]
public interface ITest
{
[OperationContract]
void MyMethod(MyClass obj);
}
Avec MyClass beeing:
[MessageContract]
public MyClass
{
[MessageBodyMember(Order = 0)]
public int A { get; set; }
[MessageBodyMember(Order = 1)]
public int B { get; set; }
[MessageBodyMember(Order = 2)]
public int C { get; set; }
}
MyClass
est maintenant changé pour ressembler à ce qui suit:
[MessageContract]
public MyClass
{
[MessageBodyMember(Order = 0)]
public int A { get; set; }
[MessageBodyMember(Order = 2)]
public int C { get; set; }
}
Est-ce qu'un client de consommer ce WCF -Service doit apporter des modifications supplémentaires pour travailler avec la nouvelle définition de service?
En outre, que se passerait-il si je devais en plus changer C
pour avoir le nouveau Order = 1
?
Merci! Puisque la classe est seulement utilisée pour envoyer des données du client au serveur, je suppose qu'avec votre explication, le client peut toujours utiliser le service même si aucune mise à jour de wsdl n'a été faite? – Shion
Si vous envoyez des données du client au serveur, avec l'objet "MyClient", vous devez remplir l'objet dans le client. Le client ne définit-il pas le MessageBodyMember "B"? – naro
Bien sûr, le client va toujours remplir "B" et le passer au serveur, le client n'a pas mis à jour le wsdl. La question est: Le serveur sera-t-il capable de gérer cela et de répondre à la demande? – Shion