Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将有害消息移动到处理队列_C#_.net_Wcf_Msmq_Message Queue - Fatal编程技术网

C# 将有害消息移动到处理队列

C# 将有害消息移动到处理队列,c#,.net,wcf,msmq,message-queue,C#,.net,Wcf,Msmq,Message Queue,我正在尝试向系统支持网站添加功能,以将邮件从毒药队列移回处理队列。这就是我迄今为止所尝试的: // path = "FormatName:DIRECT=OS:machine-name\private$\queue-name"; var poisonQueue = new MessageQueue(path + ";poison"); var processingQueue = new MessageQueue(path); foreach(var message in poisonQueue

我正在尝试向系统支持网站添加功能,以将邮件从毒药队列移回处理队列。这就是我迄今为止所尝试的:

// path = "FormatName:DIRECT=OS:machine-name\private$\queue-name";

var poisonQueue = new MessageQueue(path + ";poison");
var processingQueue = new MessageQueue(path);

foreach(var message in poisonQueue.GetAllMessages())
{
    processingQueue.Send(message);
}

var poisonCount = poisonQueue.GetAllMessages().Count();
var processingCount = processingQueue.GetAllMessage().Count();
不幸的是,
Send()
似乎什么都没做。调试器将计数显示为:

poisonCount: 6
processingCount: 0

您应该将有害消息移动到重试队列,然后将再次处理消息

请查看此处了解更多详细信息


只是一个想法,为什么不显式声明变量?我通过艰苦的方式学会了这一点;绝不允许编译器为您选择变量类型。这是否回答了您的问题?我最终使用了您链接到的非托管API。对于那些想知道如何在队列和子队列(包括毒药)之间移动消息的人来说,这对我很有用,请参见