【发布时间】:2012-10-22 07:27:23
【问题描述】:
背景:我们需要能够支持 IIS 以外的 Web 服务器。为此,我们计划将所有处理逻辑转移到另一个服务,该服务将使用排队机制作为传输(具体为 RabbitMQ)。我们将有一个 HTTP web api,它基本上会将所有请求转发到这个其他服务;对于 IIS,我们将在 C# 和 Java 中为其他 Web 服务器(如 Tomcat)实现这个外观。
我的问题是这样的;对于 c#,将所有 HTTP 请求和内容请求转发到另一个服务的最佳方式是什么。我正在考虑为此使用 asmx HTTPHandler;我让它工作;但解决方案很丑陋,需要使用 URL 重写器来处理干净的 URL。
有没有人知道是否可以使用 MVC 或 web-api 本身来做到这一点?我们基本上把收到的所有内容; URL 本身、cookies、查询字符串等;打包送去处理。
【问题讨论】:
-
我认为您正在尝试构建“透明代理”。如果使用 MVC 只是在通配符路由上为根(如“/*”)处理所有请求...
-
谢谢亚历克西;透明代理是正确的。我将尝试 MVC 通配符路由,看看效果如何。
-
ASMX 是一项遗留技术,不应用于新开发。
标签: c# asp.net-mvc c#-4.0 asmx asp.net-web-api-routing