我有一个客户端程序,它发送给webapi并返回一个websocket。
一旦连接起来,我就向api发送第二个请求以开始一些测试。
然后webapi也会挂钩到websocket。在完成任务时发送消息。我使用System.Net.Websockets.ClientWebSocket
执行此操作var cts = new CancellationTokenSource();
var socket = new ClientWebSocket();
string wsUri = "wss://localhost:44301/api/v1/devices/registerForSocket";
await socket.ConnectAsync(new Uri(wsUri), cts.Token);
RunTests(deviceid, socket, cts);
现在我需要为客户端添加能够轮询当前进度更新的功能。基本上,这将是一个bool,在进程运行时设置为false,然后在完成后恢复为true。
现在要做到这一点,我将不得不运行一个单独的ClientWebSocket来接收“PROGRESS”消息。
但是,我如何分享这两项任务之间的进展?这是最好的方式吗?