Fla*_*ien 7 guid mongodb mongodb-.net-driver
我正在使用官方MongoDB驱动程序(C#)实现自定义IBsonSerializer.我处于必须序列化和反序列化Guid的情况.
如果我按如下方式实现Serialize方法,它可以工作:
public void Serialize(BsonWriter bsonWriter, Type nominalType, object value, IBsonSerializationOptions options)
{
BsonBinaryData data = new BsonBinaryData(value, GuidRepresentation.CSharpLegacy);
bsonWriter.WriteBinaryData(data);
}
Run Code Online (Sandbox Code Playgroud)
但是我不希望Guid表示为CSharpLegacy,我想使用标准表示.但是,如果我更改该代码中的Guid表示,我会收到以下错误:
MongoDB.Bson.BsonSerializationException:编写器的GuidRepresentation是CSharpLegacy,它要求subType参数为UuidLegacy,而不是UuidStandard.
如何使用标准表示序列化Guid值?
小智 15
老问题,但万一有人在谷歌上发现它像我做...
做一次:
BsonDefaults.GuidRepresentation = GuidRepresentation.Standard;
Run Code Online (Sandbox Code Playgroud)
例如,在Web应用程序/ Web API中,Global.asax.cs文件是添加一次的最佳位置
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
BsonDefaults.GuidRepresentation = GuidRepresentation.Standard;
//Other code...below
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6282 次 |
| 最近记录: |