asp.net api重定向外部url
我正在试图找到一种从api重定向到外部url的方法。asp.net api重定向外部url,asp.net,redirect,asp.net-web-api,http-redirect,Asp.net,Redirect,Asp.net Web Api,Http Redirect,我正在试图找到一种从api重定向到外部url的方法。 这是我的控制器中的当前代码: [HttpGet, Route( "transcribe/{itemNum}/{salUnit}" )] public IHttpActionResult RedirectToProductPage( string itemNum, string salUnit ) { Configuration.Services.GetTraceWriter().Debug( Request, _controllernam
这是我的控制器中的当前代码:
[HttpGet, Route( "transcribe/{itemNum}/{salUnit}" )]
public IHttpActionResult RedirectToProductPage( string itemNum, string salUnit ) {
Configuration.Services.GetTraceWriter().Debug( Request, _controllername, $"RedirectToProductPage({itemNum}, '{salUnit}');" );
GroupClaes.MSSQL.Wiggum.Databases.Distribution dis = new GroupClaes.MSSQL.Wiggum.Databases.Distribution();
// get productId
try {
int productId = dis.Products.Where( x => x.ItemNum == itemNum && x.Active ).Join( dis.PackingUnits, x => salUnit, x => x.Unit, ( inner, outer ) => new {
inner.Id
} ).FirstOrDefault().Id;
Uri url = new Uri($"https://test-eshop.claes-distribution.be/products?page=0&query=&productId={productId}");
return Redirect( url );
} catch ( Exception ex ) {
iTrace.Error( _controllername, ex );
return InternalServerError();
}
}
该方法的工作url为我希望它将我重定向到
它不会将我重定向到
所以我认为这是必须的,它重定向到另一个网站,但我不知道为什么这是haping 在我的tracelogs中,我有以下输出:
[05-07-2018-09-38-25.748-Info]System.Web.Http.Request:http://api.groupclaes.be/distribution/webshop/data/products/transcribe/1141011100/Z1;
[05-07-2018-09-38-25.763-Info]System.Web.Http.ModelBinding:HttpActionBinding;ExecuteBindingAsync;模型状态是有效的。值:itemNum=1141011100,salUnit=Z1;
[05-07-2018-09-38-25.763-调试]原始API.Controllers.Distribution.ProductsController:RedirectTopProductPage(1141011100,'Z1');;
[05-07-2018-09-38-25.795-Info]System.Web.Http.Request:http://api.groupclaes.be/products?page=0&query=&productId=6;
[05-07-2018-09-38-25.795-Info]System.Net.Http.Formatting:JsonMediaTypeFormatter;GetPerRequestFormatterInstance;获取类型为'HttpError',mediaType='application/json'的'JsonMediaTypeFormatter'类型的格式化程序;字符集=utf-8'代码>
不完全是超级帮助,但您也可以看到重定向请求转到api并给出404错误,因为页面不存在。在webApi中,重定向到其他网站应按预期工作。您是否有ActionFilters、OnActionExecuted override、EndRequest事件侦听器。。。这可能会改变控制器操作后的响应?我没有,在我的web api配置中,我唯一更改的是格式化程序(我删除了xml而支持json),我替换了跟踪服务并启用了corsnew EnableCorsAttribute(“*”,“*”,“GET,PUT,POST,DELETE,OPTIONS”)代码>我的global.asax文件,除了我的应用程序_Start之外,它有3行AreaRegistration.RegisterAlleas();GlobalConfiguration.Configure(WebApiConfig.Register);RouteConfig.RegisterRoutes(RouteTable.Routes)代码>不包含任何其他逻辑