新しいバージョンのWCF Webサービスを作成しましたが、サービスとデータの契約に関して何も変更を加えていないことを確認したいと思います。WCFサービスの下位互換性チェック
VB6 Com Apiデベロッパーとしての思いを思い出して、コンパイル時にコンポーネントの以前のリリースバージョンを指定してコンパイラがバイナリ互換性が維持されていることを確認するのが簡単だったことを思い出してください。
私は、(うまくいけば) "契約の互換性"チェックと呼ばれるものを想定しています。 VB6 dev envと同様のチェックを行うためにメタデータを使用します。これは、ユーティリティを実行する別のビルドステップとして実行できます。
私はそこにそのような有用性が存在しないと受け入れる準備ができています。そうであれば、これを実現するためのアルゴリズムがどのように見えるか、誰にも分かりますか?
- 現在のライブサービスバージョン
- からメタデータを取得し、新たなサービスのバージョン
- の互換性のためのチェックサービスの契約および各Data契約からメタデータを取得します。重大な変更のみを報告する。 、それは複雑ですが、確かに自動化だろうよう
ステップ3はそのような
互換性の問題がある場合は、サービスコントラクトのネームスペースを使用してバージョン管理を行い、古いバージョンがもう使用されていないことを確認するまで、両方のバージョンを使用できます。 –