【问题标题】:How to send a continuous stream of data with asp .net core web api?如何使用asp .net core web api发送连续的数据流?
【发布时间】:2021-09-06 03:37:08
【问题描述】:

我想向客户端发送连续的数据流。假设我有一个 web api 服务路由[Route(/bla/continuous/data)]。客户端期望来自该api的http上的连续流数据,有没有办法做到这一点?例如,我在这条路线上尝试的这段代码[Route(/bla/continuous/data)]

System.Xml.Serialization.XmlSerializer serializeObj = new 
System.Xml.Serialization.XmlSerializer(typeof(CachedResponse));
MemoryStream memoryStream = new MemoryStream();
serializeObj.Serialize(memoryStream, events);
var xmlDoc = Encoding.ASCII.GetString(memoryStream.ToArray());
XDocument xDoc = XDocument.Parse(xmlDoc);
xDoc.StripNamespace();
var xmlReader = xDoc.CreateReader();
xmlReader.MoveToContent();
var response = Regex.Replace(xmlReader.ReadInnerXml(), @"\s+", "");            

现在最后响应类型是字符串类型,但我想那不是连续流,如果有意义的话,我希望能够连续发送该响应,不确定我是否解释正确!!

【问题讨论】:

  • 试试 WebSockets 或 SignalR

标签: c# asp.net-core asp.net-web-api asp.net-core-webapi asp.net-core-3.1


【解决方案1】:

你必须使用发布/订阅模式,你可以使用任何消息代理

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    • 2019-03-10
    • 2020-10-20
    • 1970-01-01
    • 2019-08-14
    • 2019-10-19
    • 2017-07-07
    相关资源
    最近更新 更多