0

我在收到响应之前发送请求时使用请求 响应Masstransit 请求取消 并抛出此异常Asp.NetCore

System.Threading.Tasks.TaskCanceledException: A task was canceled.

我已经下载masstransit了代码并用它调试了我的项目。我了解ClientRequestHandle在收到我的回复之前处理和取消请求。

我检查了消费者端,它成功运行并按预期发送响应。

4

1 回答 1

1

使用 时RequestHandle<T>,需要保持对句柄的引用,直到请求完成并收到响应(或发生超时或故障)。

您可以通过使用单行方法来简化此操作,例如:

var response = await requestClient.GetResponse<T>(request);

如果您需要向请求中添加内容,例如标头等,那么您需要保留句柄直到完成。

using(var handle = requestClient.Create(request))
{
    var response = await handle.GetResponse<T>();
}
于 2019-02-03T18:03:21.560 回答