0

我正在努力解决一个问题,我想找到最好的解决方案。

我想使用 .NET Core 3.0 创建一个同时具有服务器和客户端行为的项目。当某个人调用我的 API 时,我想发回我的响应,并在此完成后立即充当客户端并调用某个服务器。我说“立即”是因为整个来回情况必须在最多 5 秒内完成。

我尝试过像这样使用 OnCompleted 事件:

Response.OnCompleted(async () =>
{
  await Task.Run(() =>
  {
    BehaveAsClient();
  });
});

但显然有些问题是因为在 BehaveAsClient() 完成之前没有将响应发送给客户端。我不希望我的回复被延迟。我想要以下顺序:

  1. 接收来自客户端的请求
  2. 向客户端发送响应
  3. 向服务器发起请求
  4. 从服务器接收响应

我在步骤 3 中的请求数据与步骤 1 的请求数据有关。

对于这样的事情,最佳做法是什么?

4

0 回答 0