我有一个自定义的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
............................
}
}