- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 2 个问题未能找到任何解决方案。
Azure 服务总线队列中是否有任何内置方式,我只能从 session 处理程序中的一个 session (针对该 sessionId)接收消息。
还有什么方法可以让我仅从该 session 的死信队列接收消息。
我可以在代码中以编程方式执行此操作,但我不想在代码中编写 if else 逻辑。
最佳答案
Is there any built in way in azure service bus queue, where I can receive messages only from one session (for that sessionId) in my session handler.
正如 Sean Feldman 提到的,QueueClient.AcceptMessageSessionAsync(sessionID) 允许在普通队列中实现这一点。
如果想使用QueueClient.AcceptMessageSessionAsync(sessionID)
来接收队列消息,我们需要创建RequiresSession
真实,
var description = new QueueDescription(QueueName)
{
RequiresSession = true
};
namespaceManager.CreateQueue(description);
Also is there any way I can receive messages only from the deadlettered queue for that session alone.
根据我的测试,我们无法使用以下代码从死信队列获取死信队列消息
var dlqName= QueueClient.FormatDeadLetterPath(queueName);
var dlqClient = QueueClient.CreateFromConnectionString(connectionstring, dfQueue);
var gid = Guid.NewGuid().ToString();
var messageSession = client.AcceptMessageSession(gid);
var receiveMessage = messageSession.Receive();
Cannot create a MessageSession for a sub-queue. TrackingId:06a39820-7bf6-412d-ab31-80ef5c174a12_G20_B31, SystemTracker:tomsbservice:Queue: queuename |$DeadLetterQueue
我的解决方法是我们可以获取死信队列消息并提交到队列或另一个普通队列。
关于Azure服务总线: Receive all the message from one session id of a queue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44363543/
我是一名优秀的程序员,十分优秀!