Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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# 对于添加到队列中的新消息,MSMQ上是否存在任何事件或回调_C#_Msmq_Message Queue - Fatal编程技术网

C# 对于添加到队列中的新消息,MSMQ上是否存在任何事件或回调

C# 对于添加到队列中的新消息,MSMQ上是否存在任何事件或回调,c#,msmq,message-queue,C#,Msmq,Message Queue,我有两个部分。一个是窗口应用程序,另一个是窗口服务。 窗口应用程序写入消息队列(MSMQ),服务正在读取并处理该消息。 服务是否应始终在队列中查找新消息…就代码而言,我是否应 当循环时使用无限,或使用计时器或队列上是否有任何事件或回调,用于将新消息添加到队列中?这样,当窗口应用程序向队列添加新消息时,服务可以知道。 这就是我的全部要求,以使我的应用程序高效,因此,如果有任何其他方法来实现这一点,你可以建议。 感谢阅读您不需要任何事件或循环。方法将从队列中读取,如果队列为空,它将阻塞,直到添加新

我有两个部分。一个是窗口应用程序,另一个是窗口服务。
窗口应用程序写入消息队列(MSMQ),服务正在读取并处理该消息。
服务是否应始终在队列中查找新消息…就代码而言,我是否应
当循环时使用无限
,或使用
计时器


队列上是否有任何事件或回调,用于将新消息添加到队列中?这样,当窗口应用程序向队列添加新消息时,服务可以知道。
这就是我的全部要求,以使我的应用程序高效,因此,如果有任何其他方法来实现这一点,你可以建议。

感谢阅读

您不需要任何事件或循环。方法将从队列中读取,如果队列为空,它将阻塞,直到添加新消息。如果同时需要执行其他操作,请将接收代码放在单独的线程中

您还可以通过使用来使用异步方法。当从队列中读取消息时,这实际上会引发一个事件