我使用 .net core Web 应用程序作为发布者,使用 .net core 控制台应用程序作为订阅者。 我能够使用 Azure 门户中设置的托管标识在这两个系统之间成功传递消息。
我的问题是我需要将元数据添加到正在发送的消息中。我该怎么做?
以下是我的发布商代码:
string data = JsonConvert.SerializeObject(payloadEvents);
Message message = new Message(Encoding.UTF8.GetBytes(data));
var tokenProvider = TokenProvider.CreateManagedIdentityTokenProvider();
TopicClient sendClient = new TopicClient(_serviceBusNamespace, _topicName, tokenProvider, retryPolicy: null);
await sendClient.SendAsync(message);
最佳答案
Message
对象有一个名为 UserProperties
的属性可用于设置该消息的自定义元数据。
类似于:
string data = JsonConvert.SerializeObject(payloadEvents);
Message message = new Message(Encoding.UTF8.GetBytes(data));
message.UserProperties.Add("key1", "value1");
message.UserProperties.Add("key2", "value2");
var tokenProvider = TokenProvider.CreateManagedIdentityTokenProvider();
TopicClient sendClient = new TopicClient(_serviceBusNamespace, _topicName, tokenProvider, retryPolicy: null);
await sendClient.SendAsync(message);
关于Azure 服务总线 - 如何将元数据添加到消息中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61628422/