我在C#中使用MongoDB驱动程序,并使用GridFS存储视频文件
我连续存储文件就像录制流和偶尔一样(可能在写入过程的中间)我要求“播放”文件。
在某些情况下,在播放文件的那一部分存在一个问题:
1.打开相关的GridFS文件流
2.数据读好了。
3.关闭GridFS文件流 - >使用以下详细信息抛出WriteConcernException:
WriteConcern detected an error 'E11000 duplicate key error index:
ElSightRecs.fs.chunks.$files_id_1_n_1 dup key: { :
ObjectId('536243c4c449203a24a8f3b2'), : 2656 }'.
(Response was { "err" : "E11000 duplicate key error index:
ElSightRecs.fs.chunks.$files_id_1_n_1 dup key: { :
ObjectId('536243c4c449203a24a8f3b2'), : 2656 }", "code" : 11000, "n" : 0,
"connectionId" : 1111, "ok" : 1.0 }).
`
为什么我所做的就是关闭文件流时会出现任何写入错误?
答案 0 :(得分:0)
好吧,我不确定它是否是MongoDB驱动程序中的错误,但我发现了问题。
我用OpenRead()
打开了GridFS文件,所以我觉得我受到了很好的保护。显然不是。
我有一个错误,叫Seek到一个高于文件长度的位置。这引起了关闭问题......
不知道为什么,不知道是谁...但也许其他人可以使用这个提示:)
答案 1 :(得分:0)
@RoeeK,关闭的连接可能是超出文件长度的搜索行为。
但是我担心你得到的错误。您是否能够使用一些较小的示例代码重新生成它?如果是的话,请你分享一下。
在您的错误代码段中,您的阅读/执行操作是否已存档_id =' 536243c4c449203a24a8f3b2'?