您无需处置流。它将由FileStreamResult.WriteFile方法处置。此类的代码摘录:
public FileStreamResult(Stream fileStream, string contentType) : base(contentType){ if (fileStream == null) { throw new ArgumentNullException("fileStream"); } this.FileStream = fileStream;}protected override void WriteFile(HttpResponsebase response){ Stream outputStream = response.OutputStream; using (this.FileStream) { byte[] buffer = new byte[0x1000]; while (true) { int count = this.FileStream.Read(buffer, 0, 0x1000); if (count == 0) { return; } outputStream.Write(buffer, 0, count); } }}
请注意
using。当您
File(dg.GetdocumentStream(), "text/plain",filename)从控制器调用时,它会调用构造函数,该构造函数将流存储到一个公共属性中,该属性在渲染过程中被处置。
结论:您无需担心使用来配置获得的流
dg.GetdocumentStream()。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)