我有一个自定义的 ASP.NET Web API 消息处理程序,对于收到的每个请求,它都会将请求方法和请求 uri 保存到自定义数据库:
我正在尝试异步运行 Save 方法,到目前为止我已经这样做了。我只想知道这是否是异步调用 Save 方法的正确方法?await
在 Task.Run... 之前是否正确?我是否还应该添加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
............................
}
}