2017-09-29 3 views
0

私はWCFと.NET 4.5を使用しており、しばらくの間運用されていたWCF SOAP Webサービスを使用しています。プロパティの名前を変更する必要がありますが、一部のプロダクションユーザーがリクエストに古いプロパティ名を持つ可能性があります。古いプロパティ名を受け入れる - WFC/SOAP

例えば、プロパティがMyPoorlyNamedPropertyと呼ばれ、MyPropertyに名前が変更された場合、SOAPのMyPoorlyNamedPropertyとMyPropertyの両方が同じプロパティにデシリアライズされることを願っています。

名前が変更されたプロパティの "代替"受け入れられた名前を指定するWCFの型のプロパティを飾る方法はありますか?

答えて

0

代替名の装飾などは分かりません。あなたが破壊チェンジを作成したい場合は、両方のいずれかを実行する必要があります。

  1. 変更プロパティ名と契約が変更され、それに応じ
  2. がにあなたのAPIを変更する準備する必要があることを、あなたのクライアントに通知両方のプロパティを受け入れます。古いプロパティの値を持つリクエストを受け取った場合は、この値を新しいプロパティに設定します。

解決策2は醜いのでベストプラクティスではありません。私はそれをすることをお勧めしません。

0

モデルに2番目のプロパティを追加できます。そしてgetで作業してください。セット; DataMember attribute

[DataContract] 
public class Person 
{ 
    [DataMember] 
    private string _surname; 

    public string Surname { get { return this._surname; } set { this._surname = value; } } 
    public string Lastname { get { return this._surname; } set { this._surname = value; } } 
} 
関連する問題