我正在尝试将来自我的 WCF 的请求路由到不同的 Web 服务(3.5 框架)。这甚至可能吗?如果是,请告诉我步骤。我需要从http://example.com/OldService.svc/Route路由到http://Newexample.com/NewService.svc/Request
以下是我尝试过的一些事情。大多数谷歌搜索返回网络表单的路由,我的要求是网络服务。
我在我的 OldService 项目 customroute 处理程序中尝试了以下内容:添加了对路由程序集的引用,配置了 web.config,在 Global.asax 中添加了以下代码
protected void Application_Start(object sender, EventArgs e)
{
RouteCollection routes = RouteTable.Routes;
//routes.Add("SOAP",new Route("soap", new WebServiceRouteHandler("~/Services/SoapQuery.asmx")));
routes.Add("SOAP", new Route("SOAP", new WebServiceRouteHandler("http://Newexample.com/NewService.svc/Request")));
}
添加了一个 WebServiceRouteHandler 如下
public class WebServiceRouteHandler: IRouteHandler
{
private string _VirtualPath;
public WebServiceRouteHandler(string virtualPath)
{
_VirtualPath = virtualPath;
}
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
return new WebServiceHandlerFactory().GetHandler(HttpContext.Current,
"*",
_VirtualPath,
HttpContext.Current.Server.MapPath(_VirtualPath));
}
}
我正在调用旧服务,但我仍然没有重定向到新服务。如果我在这里遗漏任何东西,请告诉我。我应该在我的 OldService Route 方法中添加任何东西吗?