C# ASP.NET Web API 2控制器中的反向代理?

C# ASP.NET Web API 2控制器中的反向代理?,c#,proxy,asp.net-web-api2,handler,C#,Proxy,Asp.net Web Api2,Handler,我试图在我的Web Api控制器中设置一个反向代理,以便 可以过滤请求vía URI并将其发送到各自的 命运 到目前为止,我在Node.js+Express中有一个反向代理,如下所示,我正在尝试将其迁移到WebApi控制器: var serverOne = 'http://localhost:8080/geoserver/TRAC/wms?'; var serverTwo = 'https://iden.com/ogc/wms?'; var serverThree = 'https://insp

我试图在我的Web Api控制器中设置一个反向代理,以便 可以过滤请求vía URI并将其发送到各自的 命运

到目前为止,我在Node.js+Express中有一个反向代理,如下所示,我正在尝试将其迁移到WebApi控制器:

var serverOne = 'http://localhost:8080/geoserver/TRAC/wms?';
var serverTwo = 'https://iden.com/ogc/wms?';
var serverThree = 'https://inspi.com/services/CP/wfs';

app.all('/geoserver', function (req, res) {
  apiProxy.web(req, res, {target: serverOne});
});

app.all('/idena', function (req, res) {
  apiProxy.web(req, res, {
    changeOrigin: true,
    target: serverTwo
    });
});

app.all('/inspire', function (req, res) {
  apiProxy.web(req, res, {
    changeOrigin: true,
    target: serverThree
    });
});
这就是我想要实现的目标:

  • 如果我收到
    localhost:65000/geoserver
    请求,请将其重新发送到
    serverOne
  • 如果我收到一个
    localhost:65000/idena
    请求,请将其重新发送到
    serverTwo
  • 如果我收到一个
    localhost:65000/inspire
    请求,请将其重新发送到
    serverThree
我一直在研究使用处理程序或安装第三方组件的不同方法,但我不确定这些方法是否正确

我应该使用哪些技术或技术来设置反转 ASP.NET Web API 2中我的控制器上的代理


直接在WebAPI控制器中是不可能的,但通过向项目中添加ASP.NET处理程序,可以很容易地完成此操作

然后创建前面提到的反向代理