【发布时间】:2017-07-04 15:02:06
【问题描述】:
我的操作过滤器属性没有重定向到我定义的新网址:
public class RunOnServerAttribute : System.Web.Http.Filters.ActionFilterAttribute
{
public ServerType Type;
public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext filterContext)
{
switch (Type)
{
case ServerType.CMS:
if (!filterContext.Request.RequestUri.AbsoluteUri.StartsWith(Config.CMSUrl))
{
Uri correctedUri = new Uri($"{Config.CMSUrl.TrimEnd('/')}/{filterContext.Request.RequestUri.PathAndQuery.TrimStart('/')}");
var response = filterContext.Request.CreateResponse(System.Net.HttpStatusCode.Moved);
response.Headers.Location = correctedUri;
return;
// This does not seem to work
}
break;
}
base.OnActionExecuting(filterContext);
}
}
它只是继续正常的请求。我正在通过检查正在执行的 api 方法中的 Request.RequestUri 来调试它
【问题讨论】: