2011-06-01 66 views
2

我有一个旧的WCF 3.5 RESTful服务,这是在:WCF 4.0 - 如何将旧服务URL路由到新的服务URL?

http://www.mydomain.com/rest/Service.svc 

我已经过迁移我的服务,现在居住在WCF 4.0 RESTful服务:

http://www.mydomain.com/rest/Service 

由于新的WCF 4.0在Global.asax中进行路由,它会自动为我删除.svc扩展名。我正在寻找一种方法将旧的基准网址路由到新的基准网址。我需要考虑到会有明显的是服务的名称,如

Service.svc/MyEndpoint?param1=param1Val 

这是可能的,如果是后多了,什么是完成这个任务的最佳/最高效的方法是什么?

感谢您的任何建议。

回答

1

您仍然可以同时具有.svc文件和基于路由的激活,对于相同的服务类别,因此对两个地址的请求都会导致调用该服务。 .svc中的端点将使用<%@ ServiceHost%>指令或web.config中的Factory属性进行定义,并且使用向ServiceRoute注册的工厂定义来自路由的端点(svc-less) 。

+0

由于我使用的是WCF REST服务模板,因此没有使用标记创建.svc文件。我不得不删除我的班级,创建一个新的服务,将工厂添加到标记并将其连接到我的Global.asax中。我没有必要修改我的web.config来完成这个更改。它开箱即用。 – Brandon 2011-06-01 14:13:57