C# Azure队列存储已触发,但未删除消息
在我决定删除之前,如何在“功能应用程序”中保留消息 当我在c#中构建控制台应用程序时,我可以决定何时删除与我一起阅读的消息:C# Azure队列存储已触发,但未删除消息,c#,azure,azure-functions,C#,Azure,Azure Functions,在我决定删除之前,如何在“功能应用程序”中保留消息 当我在c#中构建控制台应用程序时,我可以决定何时删除与我一起阅读的消息: queue.DeleteMessage(msg); 我能够通过以下过程自动读取队列: 问题是,正如Azure所说: 返回存储资源管理器,单击“刷新”,并验证邮件是否已被处理且不再在队列中 在这种情况下,当函数完成时,我不能自己删除消息 我试图抛出新异常(“失败”)模拟失败的功能,但消息仍被删除 我希望将此消息保留在队列中,直到我决定删除它(在函数末尾) 我试图抛出新异常
queue.DeleteMessage(msg);
我能够通过以下过程自动读取队列:
问题是,正如Azure所说:
抛出新异常(“失败”)代码>模拟失败的功能,但消息仍被删除
我希望将此消息保留在队列中,直到我决定删除它(在函数末尾)
我试图抛出新异常(“失败”)代码>模拟失败的功能,但消息仍被删除
该消息不会被删除,无论可见性超时时间以秒为单位,它都不可见。您正在WebJobs SDK的上下文中运行代码,这就是为什么您不能自己调用.DeleteMessage()
。您只收到消息,而不是队列客户端
如果函数成功完成,则函数运行时(WebJobs SDK)将删除该消息
参考:
编辑:
出列计数也会产生影响。如果消息dequeueCount
属性达到5,WebJobs SDK将把消息移动到毒药队列(QueueName-poison
)
有关更多信息,请参见此:
我试图抛出新异常(“失败”)代码>模拟失败的功能,但消息仍被删除
该消息不会被删除,无论可见性超时时间以秒为单位,它都不可见。您正在WebJobs SDK的上下文中运行代码,这就是为什么您不能自己调用.DeleteMessage()
。您只收到消息,而不是队列客户端
如果函数成功完成,则函数运行时(WebJobs SDK)将删除该消息
参考:
编辑:
出列计数也会产生影响。如果消息dequeueCount
属性达到5,WebJobs SDK将把消息移动到毒药队列(QueueName-poison
)
有关更多信息,请参见此:
True,我尝试了一条成功消息,并用“throw”表示1,成功消息工作并消失,但失败消息位于myqueue毒药中
。但是NextVisibleTime=“Null”
这意味着它已经被排了5次队,如果dequeueCount
属性达到5,SDK将把它移动到毒药队列。我想是5,不要引用我的话,检查一下文件。是的,是5。你可以引用我的话:)--是的,我尝试了一条成功消息,1加上“throw”,成功消息工作并消失,但失败的消息在myqueue毒药中
。但是NextVisibleTime=“Null”
这意味着它已经被排了5次队,如果dequeueCount
属性达到5,SDK将把它移动到毒药队列。我想是5,不要引用我的话,检查一下文件。是的,是5。你可以引用我的话:)--