10 c# asp.net rabbitmq .net-core
我正在尝试通过RabbitMq调用后端(C#)的RestApi(asp.net核心).要处理许多请求,我需要异步调用后端.
对我来说,来自rabbitmq的示例代码似乎不是线程安全的,因为它会使消息出列,直到返回具有正确相关ID的消息为止.所有其他人都将被忽略.(链接:https://www.rabbitmq.com/tutorials/tutorial-six-dotnet.html)
while(true)
{
var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue();
if(ea.BasicProperties.CorrelationId == corrId)
{
return Encoding.UTF8.GetString(ea.Body);
}
}
Run Code Online (Sandbox Code Playgroud)
我在考虑以下几种可能性:
我可以使用SimpleRpcClient为每个请求创建一个自己的实例.这将导致为每个请求创建一个新的回复队列.
创建一个自己的RPC客户端,创建一个回复队列(可能是每个请求类型),并根据相关ID返回对正确请求的正确响应.
使多个调用异步的最佳做法是什么?是否已经实现了第二种可能性,还是我需要自己实现?
| 归档时间: |
|
| 查看次数: |
2169 次 |
| 最近记录: |