.net – 是否可以将ServiceStack.Text.JsConfig设置范围仅限于您
发布时间:2020-12-14 18:43:58 所属栏目:资源 来源:网络整理
导读:我正在编写一个内部使用 ServiceStack.Text的自定义库.使用我的其他库也可以使用ServiceStack.Text. 我想改变一些JsConfig选项(特别是日期处理),但是,像任何好公民一样,我不希望我对这些值的修改会给我的消费者带来副作用. 不幸的是,JsConfig是一个静态类,所
我正在编写一个内部使用
ServiceStack.Text的自定义库.使用我的其他库也可以使用ServiceStack.Text.
我想改变一些JsConfig选项(特别是日期处理),但是,像任何好公民一样,我不希望我对这些值的修改会给我的消费者带来副作用. 不幸的是,JsConfig是一个静态类,所以它的设置是静态的,并且会在同一个AppDomain中流向ServiceStack的其他消费者.这是一种不受欢迎的行为. 有没有办法将我的配置更改范围扩展到我对JsonSerializer的调用? 更新 我确实知道有JsConfig.Reset方法,不幸的是如果调用者已经定制它,那将会丢失. 我可以保存值并恢复它们,但我必须同步对序列化程序的访问,这也有点挫败了目的. 希望有一些简单的我不见了? 解决方法
ServiceStack.Text中缺少此功能,因此我为其添加了
pull request.
基本上现在,如果您想要调整配置设置的范围,可以使用以下语法: using(var config = JsConfig.BeginScope()) { config.DateHandler = ... } 一旦使用块超出范围,将不再设置值,其ThreadStatic也不会影响其他线程. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |