2016-05-10 1 views
0

IISにこの中間層(WCF)を展開しました。時々、DataContactはプロパティのデータ型を変更します。すなわち(StudentID)からWCF DataContract mismatch

[DataContact] 
public class Student 
{ 
    public int StudentID { get; set; } 
    public string Name { get; set; } 
} 

へ:

[DataContact] 
public class Student 
{ 
    public string StudentID { get; set; } 
    public string Name { get; set; } 
} 

質問:クライアントを伝えるかのDataContractが変更されたことをクライアントにメッセージ(エラー)を送信する方法はありますか?

+0

サービスが変更されたことをクライアントに通知する方法はないと思います(SOAが壊れると思います)。アスペクト);クライアントは何が変更されたかを判断する必要があります(できる場合)。 XMLを逆シリアル化しようとすると、クライアント側でエラーが発生します(私が期待する)。 – Tim

答えて

1

WCFはバージョン管理機能をサポートしています。

戻り値の型をに変更すると、クライアントバージョンの操作シグネチャでサービスからの戻り値を予想されるデータ型に変換できない場合は例外が発生します。

理解するための重要な違いはを壊している特定の変更およびその他の非改行変化があるということです。例えば、新しいメソッドをWCFサービスに追加すると、ノンブレイクに変更されますが、このメソッドを削除すると、クライアントにとって大きな変更になります。追加の読み取りのために

は、WCFサービスの設計時には、MSDN

hereを読んで異なるバージョンのクライアントがサービスと連携できるように、それは、サービスのバージョントレラントに推奨されます。また、電子メール/文書などを使用して変更内容を伝える必要があります。私は、通知の管理のためにすぐにサポートされているとは考えていません。

関連する問題