我有一个C#Windows Store应用程序,其中有一个在等待命令通过网络进入的任务中运行的streamsocket侦听器。在做下一个命令之前,我需要确保每个命令都已完全处理。使用异步按顺序处理命令,不等待警告
监听器需要一个原始消息,并做
await ProcessMessage(message);
这是
private async Task ProcessMessage(string message, string optionalFlags = "")
,它解析该消息并调用的许多方法中的一种,即
ProcessCommandXYZ(parameters);
这似乎工作,但在异步任务ProcessMessage线我得到一个CS1998“异步方法缺乏'等待'”警告,一nd搜索说,如果您收到此消息,则说明您可能没有正确使用异步。
我的方法是否正确,我可以忽略此警告吗?还是有更好的方法来做到这一点?
更新
我认识了很多我的问题是方法之一是更新它绑定到一个列表视图的状态,所以这是在UI调度,使之不同步和我正在等待它的ProcessCommandABC()。既然这只是一种方法,我相信我可以优化,如果这是最好的,不要等待一种方法?
也许我问的是错误的问题,我已经更新了主帖 - 真正的问题是调度员导致命令失序 – Jason