原因分析:
   队列中存储的objectId属性是字符串,反序列化字符串转换成objectid类型时报错
 
 
解决方法:
   1、定义ObjectIdConverter属性类,反序列化时将字符串转换成ObjectId

  class ObjectIdConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
serializer.Serialize(writer, value.ToString());
} /// <summary>
// 反序列化时将字符串转换成ObjectId类型
/// </summary>
/// <param name="reader"></param>
/// <param name="objectType"></param>
/// <param name="existingValue"></param>
/// <param name="serializer"></param>
/// <returns></returns>
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
return new ObjectId(serializer.Deserialize(reader).ToString());
} public override bool CanConvert(Type objectType)
{
return typeof(ObjectId).IsAssignableFrom(objectType);
}
}
   2、将该属性类应用到ObjectId属性上
     [BsonId]
[JsonConverter(typeof(ObjectIdConverter))]
public ObjectId Id { get; set; }
 

最新文章

  1. .NET Core采用的全新配置系统[5]: 聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]
  2. Jedis的使用
  3. 你想的到想不到的 javascript 应用小技巧方法
  4. WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。
  5. ACM_1 大数求和
  6. 线程7-ThreadLocal
  7. 线程操作案例--生产者与消费者,Object类对线程的支持
  8. iOS 应用内跳转到appstore里下载
  9. NOIP2015-stone(二分答案)
  10. redis 异常排查
  11. qwtplot3D安装——终结解决方案(YOUYOU版)
  12. iOS之UITableView的上拉刷新
  13. python django 实现验证码的功能
  14. 介绍CSS的相关知识
  15. 学生成绩管理系统——C语言实现
  16. PTA 深入虎穴 (正解)和树的同构
  17. spring cloud 学习笔记(1)
  18. git常见用法介绍
  19. Unity在WPF中的应用
  20. swift语言混编--语言交互的接口

热门文章

  1. php连接mysql报错——Fatal error: Call to undefined function mysql_connect() in
  2. 【LA3487】最小割-经典模型 两种方法
  3. 【BZOJ2460】【BJOI2011】元素 [线性基]
  4. 【Foreign】字符串匹配 [KMP]
  5. 通过监测DLL调用探测Mimikatz
  6. ZigBee MAC层(下)
  7. JAVA -- JDK JRE JAR
  8. 记一次CUDA编程任务
  9. 【反演复习计划】【bzoj4407】于神之怒加强版
  10. 【SQL】服务器环境下的SQL