如何从流中创建BsonDocument(c#)

时间:2018-02-22 12:23:10

标签: c# mongodb mimekit

我想将从服务器读取的电子邮件插入MongoDB。我使用MimeKit从服务器获取电子邮件。尝试直接插入mimeMessage.ToBsonDocument()我得到System.InvalidOperationException: 'Timeouts are not supported on this stream.'所以我猜测消息对象使用内部流来从服务器读取数据。

我现在想要使用内存流首先将数据写入流,然后从该流创建BsonDocument。

我读到here,执行此操作的最佳方法是BsonDocument.ReadFrom(ms);,但编译器找不到方法' ReadFrom'在BsonDocument。

这种方法是否在较新版本中被替换?什么? 或者从流中创建BsonDocument的最佳方法是什么?

由于

1 个答案:

答案 0 :(得分:0)

根据Closed-form of Bezier intersection test的文档,您似乎需要将流转换为字符串,然后使用string bsonText; using (var reader = new StreamReader (ms)) bsonText = reader.ReadToEnd (); var bsonDocument = BsonDocument.Parse (bsonText); 方法:

MimeMessage

那就是说,我不认为您可以将BsonDocument写入流中,然后期望将其解析为MimeMessage。当您将flask-dropzone写入流时,它将采用MIME格式,而不是BSON格式。