Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF 4.0-如何将旧服务URL路由到新服务URL?_C#_.net_Wcf_Rest_Url Routing - Fatal编程技术网

C# WCF 4.0-如何将旧服务URL路由到新服务URL?

C# WCF 4.0-如何将旧服务URL路由到新服务URL?,c#,.net,wcf,rest,url-routing,C#,.net,Wcf,Rest,Url Routing,我有一个旧的WCF 3.5 RESTful服务,位于: http://www.mydomain.com/rest/Service.svc 我已将我的服务迁移到WCF 4.0 RESTful服务,该服务现在位于: http://www.mydomain.com/rest/Service 由于Global.asax中新的WCF 4.0路由,它会自动为我删除.svc扩展名。我正在寻找一种将旧的基本URL路由到新的基本URL的方法。我需要考虑的是,在服务名称之后显然会有更多的内容,例如 Servic

我有一个旧的WCF 3.5 RESTful服务,位于:

http://www.mydomain.com/rest/Service.svc
我已将我的服务迁移到WCF 4.0 RESTful服务,该服务现在位于:

http://www.mydomain.com/rest/Service
由于Global.asax中新的WCF 4.0路由,它会自动为我删除.svc扩展名。我正在寻找一种将旧的基本URL路由到新的基本URL的方法。我需要考虑的是,在服务名称之后显然会有更多的内容,例如

Service.svc/MyEndpoint?param1=param1Val
这是否可能?如果可能,完成此任务的最佳/最有效方式是什么


感谢您的建议。

对于同一服务类,您仍然可以同时使用.svc文件和基于路由的激活,因此对这两个地址的请求都会导致调用该服务。.svc中的端点将使用指令上的Factory属性或通过web.config定义,路由中的端点(svc less)将使用在ServiceRoute中注册的工厂定义。

由于我使用的是WCF REST服务模板,因此没有创建带有标记的.svc文件。我必须删除我的类,创建一个新服务,将工厂添加到标记中,并将其连接到我的Global.asax中。对于此更改,我根本不需要修改我的web.config。它是开箱即用的。