【问题标题】:WCF 4.0 - How to route old service URL to new service URL?WCF 4.0 - 如何将旧服务 URL 路由到新服务 URL?
【发布时间】:2011-06-01 03:25:43
【问题描述】:

我有一个旧的 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

这可能吗?如果可以,完成这项任务的最佳/最高效的方法是什么?

感谢您的建议。

【问题讨论】:

    标签: c# .net wcf rest url-routing


    【解决方案1】:

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

    【讨论】:

    • 由于我使用的是 WCF REST 服务模板,因此没有创建带有标记的 .svc 文件。我不得不删除我的课程,创建一个新服务,将工厂添加到标记中,并将其连接到我的 Global.asax 中。我根本不需要为这个更改修改我的 web.config。它开箱即用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-17
    • 2013-10-08
    • 2011-09-11
    • 2012-09-22
    • 1970-01-01
    • 2015-08-14
    • 2017-04-08
    相关资源
    最近更新 更多