我正在用C#編寫ASP.NET Web API 2.我想要的是一個全面的方法,它將爲每個請求提供給我的Web API。ASP.NET Web API--在路由方法之前爲所有請求調用的方法?
如果該方法返回null,那麼原始路由應該繼續,尋找正確的方法。但是,如果該方法返回HTTPResponseMessage,則服務器應返回該響應,而不繼續正常路由。
用例可能是處理可能影響整個API的各種場景的能力。例如:禁止單個IP地址,阻止(或白名單)某些用戶代理,處理API呼叫計數(例如,某人只能在Y分鐘內將X請求發送至任何 API方法)。
我現在想象得到的唯一方法就是在我爲我的API編寫的每個新方法中逐字地包含一個方法調用。例如,
[HttpGet]
public HttpResponseMessage myNewMethod()
{
// I want to avoid having to do this in every single method.
var check = methodThatEitherReturnsResponseOrNull(Request);
if (check != null) return (HttpResponseMessage)check;
// The method returned null so we go ahead with normal processing.
...
}
有沒有辦法在路由中實現這一點?