2

私は、新しい WCF サービス スイートのバージョン管理戦略を策定する任務を負っています。私が読んだ多くの記事では、中間ルーティング サービスを使用して、通話を適切なサービス バージョンに転送することを推奨しています。これがどのように機能するかは理解していますが、クライアントを重大な変更から保護するという点で、これがどれほどの利益をもたらすか疑問に思っています.

たとえば、エンドポイントが異なる 2 つのバージョンのサービスがあるとします。

mycompany.com/API/v1.0/GetCustomer
mycompany.com/API/v2.0/GetCustomer

ルーティング サービス ソリューションは、SOAP メッセージ内のカスタム 'version' ヘッダーを探し、呼び出しを適切なサービスにルーティングします。バージョン ヘッダーが見つからない場合は、最新バージョンを使用できます。

または、両方のエンドポイントを公開するだけで、消費者は必要なバージョンを呼び出すことができます。

あるソリューションが他のソリューションより優れている点は何ですか? ルーティング サービスを追加すると、追加のレベルの構成が追加されるようです。どちらのソリューションも、アップグレードを希望する場合、消費者がコードを変更する必要があります...

これについては別の投稿で質問する方がよいかもしれませんが、サービスの複数のバージョンを維持するということは、ソース コードでコントラクトの同時バージョンが必要になることを意味します。これを管理するための推奨される方法はありますか (名前空間など)?

ありがとう

4

2 に答える 2

1

ルーティングは、WCF アクション フィルター処理と組み合わせて使用​​できます。http://www.dotnetcurry.com/ShowArticle.aspx?ID=470をご覧ください。

于 2013-01-30T13:07:32.417 に答える
0

バージョン パラメーターを GetCustomer 操作に送信することでサービスを再構築し、それを単一のサービスとして維持できます。

于 2013-01-30T13:01:34.780 に答える