C# 在WebApi中跨任务共享会话

C# 在WebApi中跨任务共享会话,c#,websocket,asp.net-web-api2,C#,Websocket,Asp.net Web Api2,我有一个客户端程序,它发送到一个webapi,然后返回一个websocket 一旦连接好,我就会向api发送第二个请求,以启动一些测试 然后webapi也钩住websocket。在完成任务时发送消息。我使用System.Net.Websockets.ClientWebSocket执行此操作 var cts = new CancellationTokenSource(); var socket = new ClientWebSocket(); string wsUri = "wss://local

我有一个客户端程序,它发送到一个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来接收“进度”消息

但是,如何在这两项任务之间共享进度?这是最好的办法吗