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);
}
嗨,在這種方法中,我的迴應是無所謂的。 – BHuelse
我發現你的意思。 'actionContext.Response = actionContext.Request.CreateErrorResponse(HttpStatusCode.ServiceUnavailable,「Maintenance」);''在OnActionExecuting作品中,thx – BHuelse