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