0
유지 관리 필터를 구현하려는 WebApi
프로젝트가 있습니다. 이제 필터가 두 번 호출된다는 문제가 있습니다. 그래서 나는 올바른 http 상태 코드를 가지고 있지만, 필터는 가로 채기를하지 않고 제어되는 내 메소드가 정상적으로 호출됩니다.WebApi 프로젝트의 유지 관리를 위해 필터 체인을 가로 채는 방법
내가해야 할 일은 필터가 올바르게 가로 채고 다른 방법이 호출되지 않는다는 것입니다.
public class MaintenanceFilter : ActionFilterAttribute
{
[Dependency]
public IUaCRepository UaC { get; set; }
public override void OnActionExecuting(HttpActionContext actionContext)
{
base.OnActionExecuting(actionContext);
}
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
if (UaC != null && UaC.CheckMaintenance(WebApiConfig.CONFIG_STANDARD))
{
var response = actionExecutedContext.Response;
response.StatusCode = HttpStatusCode.ServiceUnavailable;
return;
}
base.OnActionExecuted(actionExecutedContext);
}
}
안부
[편집]이 내 문제 soleved :
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (UaC != null && UaC.CheckMaintenance(WebApiConfig.CONFIG_STANDARD))
{
actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.ServiceUnavailable, "Maintenance");
return;
}
base.OnActionExecuting(actionContext);
}
안녕하세요,이 방법은 내 응답이 null입니다. – BHuelse
나는 당신이 의미하는 것을 발견했다. 'actionContext.Response = actionContext.Request.CreateErrorResponse (HttpStatusCode.ServiceUnavailable, "Maintenance");' OnActionExecuting 작동, thx – BHuelse