私は作成して公開しているASP.NET Web APIを持っています。ここではいくつかの改善を検討していますが、これらの改善には特定の呼び出しの変更が必要です。つまり、既存のクライアントを機能させるためにバージョンアップする必要があります。ASP.NET Web APIでのAPIのバージョン管理
私はこれまでアプリケーションで属性ルーティングを使用しています。メソッドは、RoutePrefixおよびRoute属性を介してコントローラ/アクションによって呼び出されます。
クラスのV2を作成する必要があるときは、実際に変更されたクラスを再作成し、変更されていないため他のルートをv1クラスにリダイレクトします。 (さもなければ、私はあまりにも多くの定型コードやコードを重複してしまいます)。私はV2に行くために、新しいクラスをしたい、と任意のクラスが変更されていないことV2について コントローラ/アクション
:
は、私は何をしたい、次のルートはクラスの私のv1のバージョンのために働く持っています私はV1クラスからHttpControllerDescriptorを返すしたい。ルートはv2/Controller/Actionのように見えますが、Controller/Actionにリダイレクトされます。
IHttpControllerSelectorを実装し、適切なHttpControllerDescriptorsを返しましたが、メソッドに呼び出しを行っていません。ルーティング情報がアクションに一致しないので、私はそれを信じています。 (IHttpActionSelectorを配置し、例外をトレースすると「要求に一致する複数のアクションが見つかりました」)
これは可能ですか?これは可能なのでしょうか?
これはあなたを助けるかもしれません:http://www.culbertsonexchange.com/wp/?p = 318。あなたがあなたの質問に言及したことを達成したいのであれば、属性ルーティングのための独自のカスタムロジックを実装する必要があります。 –