我正在努力解决一个问题,我想找到最好的解决方案。
我想使用 .NET Core 3.0 创建一个同时具有服务器和客户端行为的项目。当某个人调用我的 API 时,我想发回我的响应,并在此完成后立即充当客户端并调用某个服务器。我说“立即”是因为整个来回情况必须在最多 5 秒内完成。
我尝试过像这样使用 OnCompleted 事件:
Response.OnCompleted(async () =>
{
await Task.Run(() =>
{
BehaveAsClient();
});
});
但显然有些问题是因为在 BehaveAsClient() 完成之前没有将响应发送给客户端。我不希望我的回复被延迟。我想要以下顺序:
- 接收来自客户端的请求
- 向客户端发送响应
- 向服务器发起请求
- 从服务器接收响应
我在步骤 3 中的请求数据与步骤 1 的请求数据有关。
对于这样的事情,最佳做法是什么?