【发布时间】:2020-09-07 08:35:01
【问题描述】:
我的服务器端有一个内存流对象,该对象应该可以在另一方访问,我将其称为我的 API 的客户端或消费者。 在服务器端我有这样的方法(parameters.Save与第三方库有关)
public MemoryStream GetSerializedParameters()
{
var parameters = GetParameters();
MemoryStream memory = new MemoryStream();
parameters.Save(memory);
return memory;
}
我正在考虑使用 Web API 将这个内存流发送到客户端,所以我的操作是这样的:
[HttpGet("parameters")]
public HttpResponseMessage GetParameters()
{
var stream = _server.GetSerializedParameters();
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new StreamContent(stream);
result.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream");
result.Content.Headers.ContentLength = stream.Length;
return result;
}
我不确定这是否是正确的方法,并且此实现是否正确,因为我无法使用它:
我不知道我必须使用哪种 httpClient 方法:ReadAsStreamAsync() 或其他任何方法,因为我找不到任何工作
【问题讨论】:
-
你为什么要这么做?
标签: c# asp.net-web-api asp.net-core-webapi memorystream