4
我試圖圍繞我的web api調用實現一些日誌記錄。沒什麼特別的,但我仍然在學習異步/等待,並希望在不中斷性能的情況下進行日誌記錄。C#覆蓋OnActionExecutingAsync Web API調用
這是我想要實現的一個例子,只是不完全確定如何去做。
public class Logging : ActionFilterAttribute
{
public override async Task OnActionExecutingAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
{
// DoLoggingHere(); ????
base.OnActionExecutingAsync(actionContext, cancellationToken);
// OrDoLoggingHere(); ????
// Also, what does the return look like if any?
}
public override Task OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken)
{
// This method should/could complete before the logging completes.
base.OnActionExecutedAsync(actionExecutedContext, cancellationToken);
// Might log here too.
}
}
基本上我不希望我的任何日誌記錄阻礙HTTP調用。它應該是透明的。
尋找任何幫助!
能base.OnActionExecutedAsync()來之前,我的記錄結束叫什麼名字? –
您的日誌記錄將在OnActionExecuting返回一些結果之後完成,因爲我們正在等待它,而且它會在OnActionExecuted被調用之前完成 –
我正在尋求相反的結果。我想先看到OnActionExecuted,然後是我的日誌記錄。 –