【发布时间】: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