C# 如何使.NET重定向与部署到具有URL后缀的Azure API管理服务的API一起工作?
我有几个由Azure API管理服务提供的API API管理服务有一个域,每个API在Azure门户中都有自己的“API URL后缀”设置,如下所示:C# 如何使.NET重定向与部署到具有URL后缀的Azure API管理服务的API一起工作?,c#,.net,azure,http,redirect,C#,.net,Azure,Http,Redirect,我有几个由Azure API管理服务提供的API API管理服务有一个域,每个API在Azure门户中都有自己的“API URL后缀”设置,如下所示: API 1: API 2: API 3: 问题是,当这些API中的任何一个使用redirect或RedirectToAction方法执行重定向时,它在新URL中不包含“API URL后缀”,这会导致Azure返回404错误 e、 g 打电话给 https://www.example.com/first/api/v1/controller/ac
- API 1:
- API 2:
- API 3:
redirect
或RedirectToAction
方法执行重定向时,它在新URL中不包含“API URL后缀”,这会导致Azure返回404错误
e、 g
打电话给
https://www.example.com/first/api/v1/controller/action
这应该转到
https://www.example.com/first/api/v1/controller/redirected
实际上重定向到
https://www.example.com/api/v1/controller/redirected
找不到
我不知道这是Azure问题、编码问题还是HTTP问题
重定向时,相对位置头是否只考虑域,而不考虑域后面的内容
我是否应该在Redirect
和RedirectToAction
调用中硬编码“API URL后缀”
我是否需要为我的开发环境设置某种代理,然后在测试时在实际路由之前添加后缀
我需要手动确保代码和Azure设置同步吗
或者是否有某种Azure设置可以解决这一问题,因此我重定向将实际使用“API URL后缀”
或者有其他的解决方法吗?是否需要使用请求URL进行一些丑陋的字符串操作?您可以使用API管理中的策略:
<policies>
<inbound>
<base />
<rewrite-uri template="/v2/US/hardware/{storenumber}&{ordernumber}?City=city&State=state" />
</inbound>
<outbound>
<base />
</outbound>