2

WCF サービスのデータ型とメソッドをバージョン管理する良い方法はありますか?

このようなものは、バージョン 1.0 からバージョン 4.5 にメソッドを含めるとよいでしょう。

[ServiceContract()]
interface ITradeTrackingService
{
    [OperationContract()]
    [Version(1.0, 4.5)]
    void PublishQuote(Quote quote);
}

そして、データ型に似たもの。

次に、私のURLで次のようにしたいと思います:

server.com/ws/2.3/

そして、私の Global.asax BeginRequest で次のようにします:

protected void Application_BeginRequest(object sender, EventArgs e)
{
    Service.Version = someParsingOfUrl(); // return 2.3;
}

そして、正しいメソッドが公開され、データ型の正しい値が公開されました。

これは私が夢見ているだけですか、それとも何らかの方法でこれを行うことができますか?

4

2 に答える 2

7

サービスのバージョン管理に関する情報はたくさんあります。考慮すべきことがたくさんあります。

バージョニングについて私が読んだ最も摩擦の少ない記事はここで概説されていますが、特にインターフェイスの継承を使用してエンドポイント コントラクトをバージョン管理する場所では、少し「ハッキー」に思えます (こちらの例を参照してください)。

マイクロソフト自身は、それについてかなり多くのことを言っています (ここ)。

于 2012-04-24T09:21:48.877 に答える