.net – 是否可以将ServiceStack.Text.JsConfig设置范围仅限于您的库?

.net – 是否可以将ServiceStack.Text.JsConfig设置范围仅限于您的库?,第1张

概述我正在编写一个内部使用 ServiceStack.Text的自定义库.使用我的其他库也可以使用ServiceStack.Text. 我想改变一些JsConfig选项(特别是日期处理),但是,像任何好公民一样,我不希望我对这些值的修改会给我的消费者带来副作用. 不幸的是,JsConfig是一个静态类,所以它的设置是静态的,并且会在同一个AppDomain中流向ServiceStack的其他消费者.这 我正在编写一个内部使用 ServiceStack.Text的自定义库.使用我的其他库也可以使用ServiceStack.Text.

我想改变一些JsConfig选项(特别是日期处理),但是,像任何好公民一样,我不希望我对这些值的修改会给我的消费者带来副作用.

不幸的是,JsConfig是一个静态类,所以它的设置是静态的,并且会在同一个AppDomain中流向ServiceStack的其他消费者.这是一种不受欢迎的行为.

有没有办法将我的配置更改范围扩展到我对JsonSerializer的调用?

更新

我确实知道有JsConfig.reset方法,不幸的是如果调用者已经定制它,那将会丢失.

我可以保存值并恢复它们,但我必须同步对序列化程序的访问,这也有点挫败了目的.

希望有一些简单的我不见了?

解决方法 ServiceStack.Text中缺少此功能,因此我为其添加了 pull request.

基本上现在,如果您想要调整配置设置的范围,可以使用以下语法:

using(var config = JsConfig.BeginScope()){    config.DateHandler = ...}

一旦使用块超出范围,将不再设置值,其ThreadStatic也不会影响其他线程.

总结

以上是内存溢出为你收集整理的.net – 是否可以将ServiceStack.Text.JsConfig设置范围仅限于您的库?全部内容,希望文章能够帮你解决.net – 是否可以将ServiceStack.Text.JsConfig设置范围仅限于您的库?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1140209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存