gpt4 book ai didi

c# - 从 QueueClient.OnMessage 回调中获取队列名称

转载 作者:行者123 更新时间:2023-12-03 04:29:49 24 4
gpt4 key购买 nike

QueueClient.OnMessage接受回调,Action<BrokeredMessaged> ,作为一个参数,将由内部消息泵执行,当消息可用时,内部消息泵会不断轮询队列(或订阅)。

我一直在研究 Reflector 中的 BrokeredMessage 类型,但找不到一种方法来获取消息来自 BrokeredMessage 对象的队列名称(最后一部分是关键)。如果可以的话,怎么拔出来呢?

最佳答案

终于找到了使用反射的解决方案:

public void OnMessageCallback(BrokeredMessage message) {
var context = message.GetType().GetProperty("ReceiveContext", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(message);
var receiver = (MessageReceiver)context.GetType().GetProperty("MessageReceiver", BindingFlags.Public | BindingFlags.Instance).GetValue(context);
var queueName = receiver.Path;
}

关于c# - 从 QueueClient.OnMessage 回调中获取队列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38507421/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com