我只想以异步方法接收我的消息!它冻结了我的用户界面
    public async void ProcessMessages()
    {
        MessageQueue MyMessageQueue = new MessageQueue(@".\private$\MyTransactionalQueue");
        MyMessageQueue.Formatter = new XmlMessageFormatter(new Type[] { typeof(string) });
        while (true)
        {
            MessageQueueTransaction MessageQueueTransaction = new MessageQueueTransaction();
            MessageQueueTransaction.Begin();
            ContainError = false;
            ProcessPanel.SetWaiting();
            string Body = MyMessageQueue.Receive(MessageQueueTransaction).Body.ToString();
            //Do some process with body string.
            MessageQueueTransaction.Commit();
        }
    }
我只是像任何常规方法一样调用该方法,并且它没有工作!当我使用 BackgroundWorkers 而不是 async/await 时,此代码可以正常工作
想法?