2011-04-08 3 views
8

複数のサービスを使用していたWCFアプリケーションがありますが、現在は単一のサービスにリファクタリングしていますが、クライアントは引き続き古いURLで呼び出す予定です。私はこのServiceRouteでワイルドカードを使用する

RouteTable.Routes.Add(new ServiceRoute("Services/MyoldService.svc", 
          new MyServiceFactory("MyoldService"), typeof(Service1))); 

のような単一の実装にルーティングするためにそれらをのRouteTableを使用し、これをacommodateする

は、すべてのサービスがURLパターンにワイルドカードのいくつかの種類を使用することにより、単一の実装に行くことを指定することが可能ですServiceRouteの?

ので

RouteTable.Routes.Add(new ServiceRoute("Services/*.svc", 
          new MyServiceFactory("MyoldService"), typeof(Service1))); 

または同じ目標を達成するための他の方法のようなもの。

+0

「フィルタテーブル」をお探しですか? –

+0

http://www.codeproject.com/Articles/772854/WCF-Routing-Service-Part-I-Basic-Concept-Simple-Ro –

+0

あなたが 'IgnoreRoute'を避けたい、あるいは新しいものをリダイレクトしたいのですか?サービス – wiretext

答えて

0

私の提案は、MSDNのドキュメントに基づいてServiceRouteはルートから継承しているので、それが動作するはずのように、これは思わ{DONTCARE}の代わりに、* を使用して

+0

それは私にとってはうまくいかないようですが、中括弧が好きではないようです。 – Chris

+1

[参照コード](http://referencesource.microsoft.com/#System.ServiceModel.Activation/System/ServiceModel/Activation/ServiceRoute.cs,ec5812c2847148d7)から、中括弧が見つかった場合はtrhow例外のようです。誰かが私が正しく理解しているかどうかを明確にすること – DDan

+0

ええ、それは私のためにやった。 – Chris

関連する問題