私はWebサービスを持っていますSOAP WCFで開発されましたが、バージョン管理にベストプラクティスがありますか?契約を変更するとき、すべてのクライアントの参照を更新したくないが、単に公開したいだけです。古いバージョンと共存する新しいバージョン。
スタディケース:1つのエンドポイントを持つWebサービスを使用していて、すべてのクライアントがそれをポイントしているため、すぐに契約を変更する必要があり、すべてのクライアントがクラッシュするのを回避する方法を検索します。これを回避する2つの方法を知っています。
他の方法はありますか?
これは、どのような変更を行うか、クライアントがどのプラットフォームで構築されているか、変更追跡ポリシーは何かなど、多くの事柄に依存します。
たとえば、データコントラクトに新しいプロパティを追加するか、サービスコントラクトに新しい操作を追加するだけの場合は、クライアントがバージョントレラントであり(DataContractSerializerがバージョントレラントである限り)、それを現在の実装に追加しても安全です。変更追跡ポリシー。ただし、変更がより深刻な場合に備えて、新しいコントラクトを作成し、それを新しいエンドポイントで公開することを必要とする厳密なバージョン管理戦略を使用することをお勧めします。
私はこれらの記事を読むことを提案しました:
バージョン管理戦略
ベストプラクティス:データコントラクトのバージョン管理
これは、適切なバージョン戦略を選択し、従うべきベストプラクティスを提供するのに役立ちます。