【发布时间】:2018-03-29 15:05:47
【问题描述】:
按照我的代码:
[HttpGet]
public ActionResult StreamVideo(int type1, int type2)
{
using (var ctx = new Entities())
{
var result = ctx.Table.Where(x => x.Type1 == type1 && x.Type2 == type2).FirstOrDefault();
byte[] video_byte = result.Video;
return new RangeFileContentResult(video_byte, "video/x-msvideo", "NameFile.mp4", DateTime.Now);
}
}
我有一个“模态引导程序”,其中包含视频内容。关闭模态并再次打开时,会出现问题:
System.OutOfMemoryException: 'Exception_WasThrown'
在线出现问题:
var result = ctx.Table.Where(x => x.Type1 == type1 && x.Type2 == type2).FirstOrDefault();
有什么办法吗?
【问题讨论】:
-
返回什么?列中有多少字节?我猜
Video是一个 varbinary / image 类型字段,而您将 GB 存储在该字段中。 -
result.Video有多大?也许你正在破坏你的Large Object Heap。 -
" 我猜 Video 是一个 varbinary" 完全正确
-
你试过
.AsNoTracking()吗?ctx.Table.AsNoTracking().Where(.... -
(关于你的更新) 这是完全不同的代码。您原来的帖子是关于检索。编辑后的问题是关于文件的发布(上传)。如果您还有其他问题,您应该将其作为一个新问题提出,不要更改您现有的问题并添加一个(大部分)不相关的问题。
标签: c# asp.net lib.web.mvc