非同期メソッドでメッセージを受信したいだけです! そして私のUIをフリーズさせます
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();
}
}
通常のメソッドと同じようにメソッドを呼び出しているだけで、その番号は機能しています! このコードは、async/await の代わりに BackgroundWorkers を使用していたときに機能していました
アイデア?