2013-09-23 34 views
1

我只是想知道是否有人曾經見過這個異常?我正在使用C#驅動程序,並已在許多服務器上成功運行此代碼。我們在一臺特定的生產服務器上看到這一點。MongoDB - 'MongoDB.Bson.ObjectId'的類型初始值設定項引發異常

我第一次看到這是第一次插入一個新的集合。之後,似乎每次我爲該集合調用InsertBatch時都會發生這種情況。

我在同一次運行中成功地在其他集合上成功調用了InsertBatch。

錯誤* *消息=關於 'MongoDB.Bson.ObjectId' 的類型初始引發了異常。,堆棧跟蹤=在MongoDB.Bson.ObjectId.GenerateNewId() 在MongoDB.Bson.Serialization.IdGenerators。 BsonObjectIdGenerator.GenerateId(對象容器,對象文件) 在MongoDB.Driver.MongoCollection.InsertBatch(類型nominalType,IEnumerable的文件,MongoInsertOptions選項)

感謝,

保羅

+0

你能重現嗎?你可以用驅動程序源代碼進行調試嗎? – WiredPrairie

+0

我們確實重現了它,不幸的是它在客戶環境中,所以我們無法調試它,但這實際上是一個好主意。我至少可以在我的環境中進行調試,以查看代碼中發生了什麼。 –

+0

我發現它可以用一行程序重現: ObjectId id = ObjectId.GenerateNewId(); 返回的錯誤是:'MongoDB.Bson.ObjectId'的類型初始值設定項引發了一個異常 –

回答

0

檢查內部例外。由於Mongo沒有實現FIPS,並且這在某些操作系統配置中是必需的,所以即使在嘗試讀取或生成ObjectId時禁用身份驗證(因爲它們具有加密的id值),也可能會出現此錯誤。要解決此問題,請在您的集合上替換加密的「_id」字段值,或者修改Windows註冊表以允許不實施FIPS的應用程序。

相關問題