关闭Mongo GridFS文件流时WriteConcernException

时间:2014-05-01 13:37:26

标签: c# mongodb mongodb-.net-driver gridfs gridfs-stream

我在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 }).

`

为什么我所做的就是关闭文件流时会出现任何写入错误?

2 个答案:

答案 0 :(得分:0)

好吧,我不确定它是否是MongoDB驱动程序中的错误,但我发现了问题。
我用OpenRead()打开了GridFS文件,所以我觉得我受到了很好的保护。显然不是。
我有一个错误,叫Seek到一个高于文件长度的位置。这引起了关闭问题...... 不知道为什么,不知道是谁...但也许其他人可以使用这个提示:)

答案 1 :(得分:0)

@RoeeK,关闭的连接可能是超出文件长度的搜索行为。

但是我担心你得到的错误。您是否能够使用一些较小的示例代码重新生成它?如果是的话,请你分享一下。

在您的错误代码段中,您的阅读/执行操作是否已存档_id =' 536243c4c449203a24a8f3b2'?