C# 收听Azure队列消息赢取表单

C# 收听Azure队列消息赢取表单,c#,multithreading,azure,C#,Multithreading,Azure,我正在运行下面的代码,它正在锁定我的赢单。我试图完成的是在表单上显示一条队列消息(当一条消息可用时) 这是我用来监听队列的代码 public void RunListener() { CloudQueue queue = clnt.GetQueueReference("products"); while (true) { CloudQueueMessage qMessage = null;

我正在运行下面的代码,它正在锁定我的赢单。我试图完成的是在表单上显示一条队列消息(当一条消息可用时)

这是我用来监听队列的代码

public void RunListener()
        {
               CloudQueue queue = clnt.GetQueueReference("products");

        while (true)
        {
            CloudQueueMessage qMessage = null;
        do
        {
            qMessage = queue.GetMessage(TimeSpan.FromSeconds(10));
            if (qMessage != null)
            {
               //handle message
            }
        }
        while (qMessage != null);


        Thread.Sleep(10000);     
        }
    }

如何使用它来获取消息,然后在不锁定表单的情况下处理它?

您可能希望以某种方式使用多线程,否则您发布的代码将“锁定”UI线程,直到它完成。我建议使用Async/Await,但也可以使用BackgroundWorker或新线程


另外,“Thread.Sleep”在这种情况下使用起来非常糟糕,因为当您使用它时,它会将UI线程冻结10秒

您可能希望以某种方式使用多线程,否则您发布的代码将“锁定”UI线程,直到它完成。我建议使用Async/Await,但也可以使用BackgroundWorker或新线程


另外,“Thread.Sleep”在这种情况下使用起来非常糟糕,因为当您使用它时,它会将UI线程冻结10秒

你能分享一个如何实现的例子吗?查找它,尝试一些东西,然后用你遇到的任何新问题发布另一个堆栈溢出问题。你能分享一个如何实现的例子吗?查找它,尝试一些东西,然后用你遇到的任何新问题发布另一个堆栈溢出问题。