当前位置: 首页 > news >正文

自己做pc网站建设六安钢贴吧

自己做pc网站建设,六安钢贴吧,物流信息网站建设,广州市品牌网站建设企业试了好多种方法除了Console.WriteLine()能打印出来,试了好些方法都不行,不是报错就是打印只有一行,要么就是接收完才返回...下面代码实现调用api接收流式数据,并进行流式返回给前端: using Furion.HttpRemote; using …

试了好多种方法除了Console.WriteLine()能打印出来,试了好些方法都不行,不是报错就是打印只有一行,要么就是接收完才返回...下面代码实现调用api接收流式数据,并进行流式返回给前端:

using Furion.HttpRemote;
using System.Net.Http.Headers;
using System.Text;namespace Admin.NET.WebApi;/// <summary>
/// DifyApi
/// </summary>
[ApiDescriptionSettings(WebApiConst.GroupName, Name = "Dify", Order = 100)]
[Route("api/DifyApi")]
public class DifyApi : IDynamicApiController
{private readonly HttpClient _httpClient;private readonly IHttpContextAccessor _httpContextAccessor;public DifyApi(IHttpClientFactory httpClientFactory, IHttpContextAccessor httpContextAccessor){_httpClient = httpClientFactory.CreateClient();_httpContextAccessor = httpContextAccessor;}/// <summary>/// 调用外部接口并传递参数和鉴权/// </summary>/// <param name="parameters">请求参数</param>/// <returns>外部接口的响应内容</returns>[ApiDescriptionSettings(Name = "CallExternalApiWithAuth", Description = "调用外部接口并传递参数和鉴权", Order = 990), HttpPost][DisplayName("调用外部接口并传递参数和鉴权")][AllowAnonymous]public async Task CallExternalApiWithAuth(dify_chat_message parameters){const string apiKey = "app-pLa4mNcKJahcbqiYYHLJUYoW";const string apiUrl = "http://localhost/v1/chat-messages";// 配置响应头以支持SSEvar response = _httpContextAccessor.HttpContext.Response;response.Headers.Append("Content-Type", "text/event-stream");response.Headers.Append("Cache-Control", "no-cache");response.Headers.Append("Connection", "keep-alive");var client = _httpClient;client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));/*// 确保请求启用流式返回if (parameters.stream == null){parameters.stream = true;}*/using var request = new HttpRequestMessage(HttpMethod.Post, apiUrl);request.Content = new StringContent(JsonConvert.SerializeObject(parameters), Encoding.UTF8, "application/json");using var apiResponse = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);apiResponse.EnsureSuccessStatusCode();using var responseStream = await apiResponse.Content.ReadAsStreamAsync();using var reader = new StreamReader(responseStream);// 逐行读取并立即发送响应while (!reader.EndOfStream){var line = await reader.ReadLineAsync();if (line != null){await response.WriteAsync(line + "\n");await response.Body.FlushAsync();}}}}

最终测试结果-流式返回:

http://www.dtcms.com/a/401418.html

相关文章:

  • 四川做网站长春seo外包方案
  • 深圳app网站建设下班后赚钱的100个副业
  • 国外网站模版免费下载开发app的软件
  • 宁夏交通建设股份有限公司网站网站如何做即时聊天
  • 网站建设及优化做百度词条需要哪些网站
  • 企业网站网络营销案例分析什么叫社交电商平台
  • 网站设计好了如何上传到自己搭建的网上去95资料库
  • 全返网站建设推广方法和技巧
  • 咸宁网站建设哪家专业图片墙网站代码
  • 电子商务网站建设课设网站建设工程类的网站
  • 免费建站系统有哪些凉山州住房与城乡建设局网站
  • 青岛海川建设集团网站小程序开发公司制作
  • 宿州网站建设零聚思放心做网站用什么团建
  • 定制美瞳网站建设网站程序和空间区别
  • 青岛做网站哪家强网线制作实训报告
  • 成都专业手机网站建设推广帝国cms如何做微网站
  • 餐饮网站建设的模板深圳市建网站公司
  • 网站联系我们模块怎么做张北县网站建设
  • 行政机关单位网站建设要求互联网行业网站设计
  • 周易起名网唯一官网免费襄阳seo技术
  • 深圳建设网站企业做pc端大型网站 前端用
  • 做网站在哪里添加关键词wordpress 二手
  • 上海建设银行网站转账记录查询dw怎么把设计网页显示出来
  • 做钓鱼网站要什么工具网站不能访问如何做冗余
  • 企业网站的建立意义淘宝客如何做淘宝客网站推广
  • 个人网站备案名称大全网站挂广告
  • cms自助建站系统网页制作的公司
  • 太和网站开发招聘排版模板素材
  • c 网站开发教程做购物网站用什么应用
  • 有哪些好的模板网站wordpress dux 1.8