dar*_*key 5 c# msmq async-await
有谁知道为什么System.Messaging没有提供Send方法的异步版本来向队列发送MSMQ消息.
实际上有Peek和Receive方法的异步版本(通过Begin/End对可以转换为C#5 async awaitable方法),但是很明显没有提供BeginSend/EndSend方法,只是一个发送方法,在我看来像这是一个同步阻塞I/O调用.
我认为这不是System.Messaging的限制,而是System.Messaging正在使用的本机消息队列API(mqrt.dll)之一,它将重叠结构作为函数中的参数MQReceiveMessage使用与IOCP重叠I/O,虽然函数MQsendMessage不采用这种结构,所以看起来它是纯粹的同步调用.
我的问题仍然存在,任何人都会知道为什么MessageQueue API不提供将消息发送到队列的异步方式?