我已经得到了其在根文件夹一个WCF服务的简单的Web应用程序:重新定位WCF服务端点?
+AppRoot
---MyService.svc
这已被修改为包括了很多新的功能,而且我这分成两个独立的服务在不同的文件夹来表示他们的版本:
+AppRoot
---v1
-----MyService.svc
---v2
-----MyService.svc
然而,这种服务的现有消费者仍然使用V1需要能够访问V1服务旧的URL - 例如。 http://services.example.com/MyService.svc
。
我想保持这些服务在它们各自的v1和v2文件夹中保持物理隔离,同时透明地将试图访问旧URL的客户端路由到v1服务(而不是在根目录中有v1,在它自己的文件夹中有v2 )。
我试过在Global.asax中设定的路线:
RouteTable.Routes.MapPageRoute("MyServiceV1", "MyService.svc", "~/v1/MyService.svc");
还试图设置服务端点:
<endpoint address="/MyService.svc"
binding="webHttpBinding"
contract="MyApp.V1.IMyService"
behaviorConfiguration="web" />
这些都不似乎工作。
有没有其他方法可以做到这一点?