.NET控制器同时处理POST请求时SSE连接关闭的问题求助
.NET控制器同时处理POST请求时SSE连接关闭的问题求助
各位大佬好,我最近在做一个基于LLM的简单聊天应用,逻辑是用户发送第一条POST消息作为触发,之后LLM的响应通过SSE流式返回给前端。
目前的情况是:我写了一个ASP.NET Core Web API控制器,里面有两个端点——一个是处理SSE连接的GET接口(/stream),另一个是接收用户消息的POST接口。前端用Angular开发,由Node服务托管,还配置了proxy.conf,用EventSource和后端的SSE接口建立连接。
如果我在服务器端硬编码用户的初始问题,不用调用POST接口的话,SSE能正常把LLM的响应流式推送到前端,完全没问题。这是我当前SSE接口的部分代码:
// Endpoint for streaming chat messages [HttpGet("stream")] public async Task GetChatMessagesAsStreamAsync() { string prompt = """ Heres my lovely prompt """; await _agentGroupChatService.AddChatMessage(new ChatRequest { Message= prompt }); // Set the response content type... }
但现在只要我先通过POST接口发送用户的初始消息,再尝试用SSE接收流式响应,连接就直接关闭了,根本收不到LLM的内容。有没有大佬碰到过类似的情况?或者能指点下可能的问题点在哪?比如是不是控制器的并发处理有问题?还是SSE连接和POST请求之间存在什么状态冲突?
备注:内容来源于stack exchange,提问作者iasksillyquestions
相关产品推荐
相关产品推荐

