我有一个Web API服务,将文件发送回WinForm客户端,我这样做:
var fileResponse = new HttpResponseMessage(HttpStatusCode.OK);
fileResponse.Content = new StreamContent(zipStream);
fileResponse.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
return fileResponse;
现在我注意到我不能关闭蒸汽(zipStream在这种情况下),因为内容将不会被适当填充,因为StreamContent使用流作为引用。
现在我的问题是,何时以及是否会关闭流?
谢谢。
使用block可以在适当的时候释放流。
using (var zipStream = ....)
{
Test(zipStream);
}
public HttpResponseMessage Test(Stream zipStream)
{
var fileResponse = new HttpResponseMessage(HttpStatusCode.OK);
fileResponse.Content = new StreamContent(zipStream);
fileResponse.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
return fileResponse;
}