我正在asp.net MVC 5
中创建自定义过滤器,并且尝试重定向到方法On Action Executing
中已尝试过Redirect To Action
的特定控制器,但它没有任何建议?
我正在Web API控制器中使用此过滤器
这是我的代码:
public override void OnActionExecuting(HttpActionContext actionContext)
{
Uri MyUrl = actionContext.Request.RequestUri;
var host = MyUrl.Host;
if (host == "localhost")
{
// redirect should be here
}
}
最佳答案
对于WebApi,您可以使用HttpActionContext.Response Property:
public override void OnActionExecuting(HttpActionContext actionContext)
{
var response = actionContext.Request.CreateResponse(HttpStatusCode.Redirect);
response.Headers.Location = new Uri("https://www.example.com");
actionContext.Response = response;
}