我有一個自定義的ASP.NET Web API的消息處理程序,對於自帶這將節省的請求方法和請求URI到自定義數據庫的每個請求:的ASP.NET Web API的消息處理異步
我想運行Save方法異步,我已經完成了這一點。我只想知道這是否是異步調用Save方法的正確方法?在Task.Run ...之前有await
是否正確?如果我還對我的保存方法添加async
:private async void Save(
有人能告訴我是否可以改用TaskCompletionSource<T>()
public class CustomHandler : DelegatingHandler
{
protected async override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request,
CancellationToken cancellationToken)
{
var response = await base.SendAsync(request, cancellationToken);
await Task.Run(() => Save(request), cancellationToken);
return response;
}
private void Save(HttpRequestMessage request)
{
var method = request.Method.Method;
var url = request.RequestUri.ToString();
// here is saved to custom db code removed
............................
}
}