我正在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;
 }

10-08 08:41