在ServiceRoute中使用通配符

时间:2011-04-08 13:57:31

标签: c# wcf

我有一个曾经拥有多项服务的WCF应用程序,但现在我们已将它们重构为单个服务,但客户仍然会在旧网址上调用它们。

为了解决这个问题,我使用RouteTable将它们路由到像这样的单一实现

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

是否可以通过在ServiceRoute的url模式中使用某种通配符来指定所有服务转到单个实现?

类似

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

或实现同一目标的任何其他方式。

2 个答案:

答案 0 :(得分:0)

尝试使用{dontcare}代替* 由于ServiceRoute继承自Route,因此它似乎应该基于MSDN文档

答案 1 :(得分:0)

我的建议是通过IIS url重写来实现,这允许使用通配符:

http://www.iis.net/learn/extensions/url-rewrite-module/using-the-url-rewrite-module