c# - 如何在不使用静态注册表的情况下配置 BsonSerializer?
问题描述
在 C# 项目中,我们目前在 BsonSerializer 上使用静态方法来为特定类型注册序列化程序。这在应用程序启动时发生一次。但是,我们的验收测试在每次测试之前启动应用程序并在每次测试之后将其关闭,并且在应用程序第二次启动时调用 RegisterSerializer 时它会失败,因为之前测试的注册仍然在注册表中,因为它是全局静态。
有没有办法在不依赖全局静态的情况下注册序列化程序?或者在运行测试时避免这个问题的另一种策略?
解决方案
一篇不错的文章,可以帮助任何未来的读者
https://www.mydevhub.com/mongodb/adding-custom-type-converter-to-mongodb-in-c/
我的解决方案是在静态构造函数中添加所有BsonSerializer.*
调用StartUp.cs
推荐阅读
- php - 我有问题从mysql按年分组数据值
- vim - Vim 获取/设置缓冲区名称而不输入缓冲区
- notepad++ - Notepad++ - 将来自 SQL Server 的大查询变成一行
- sql-server - Oracle Varchar2 到 SQL Server Varchar
- php - PHP 错误页面(自定义)
- docker - ddev start 报错:当前安装的 docker 版本不符合 ddev 的要求:17.6.2-ce is less than 18.06.0-ce
- robots.txt - Googlebot 无法获取此页面的所有资源
- azure - Application Insight 日志 403
- responsive-design - Bootstrap 4.1 carousel-fade 响应式图像效果
- meteor - 获得流星谷歌日历的权限不足