微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ConcurrentQueue是从ASP.NET MVC卸载日志记录的最佳方法吗?

如何解决ConcurrentQueue是从ASP.NET MVC卸载日志记录的最佳方法吗?

我有一个ASP.NET MVC应用程序,该应用程序严重依赖于事件记录,该记录与sql Server同步完成。在繁重的负载和大量日志中,我需要从主线程卸载日志记录。 我正在查看ConcurrentQueue,这是从ASP.NET卸载日志记录的最佳方法吗?

我研究了几种选择,例如使用外部应用程序处理日志并将其插入数据库

  • 使用MSMQ实现消息队列
    • 太多消息可能会阻塞队列,而我们可能永远也追不上插入数据库的时间?
  • 登录到文本文件
    • 慢速序列化和写入磁盘(?)
    • 具有冗余功能一个加分

或者使ASP.NET本身通过登录ConcurrentQueue / BlockingCollection

来处理插入数据库的操作
  • 使用this code from "learn-some-code"在“启动”上启动长时间运行的任务并检查队列。
    • 占地面积小
    • 如果任务意外退出会发生什么情况
    • 不是为长时间运行的任务而构建的ASP.NET(?)
  • 配置Hangfire或类似方法以检查队列

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。