gpt4 book ai didi

c# - JsonSerializerSettings 线程安全吗?

转载 作者:太空狗 更新时间:2023-10-29 19:39:14 27 4
gpt4 key购买 nike

如果我在我的项目中使用相同的设置,我可以实例化我的 JsonSerializerSettings 的单个静态副本并在整个过程中使用它吗?

例如:

private static readonly JsonSerializerSettings settings = new JsonSerializerSettings {
Formatting = Formatting.Indented,
TypeNameHandling = TypeNameHandling.None,
DateFormatHandling = DateFormatHandling.IsoDateFormat,
TypeNameAssemblyFormat = FormatterAssemblyStyle.Simple
};

public static string ToJSONString(this Object source) {
return JsonConvert.SerializeObject(source, settings);
}

那么,我的线程危险吗?

最佳答案

以下对话发生在推特上,@JamesNK 是 JSON.net 的作者:https://twitter.com/jonathan_oliver/status/332227095616966656

From: Jonathan Oliver ‏@jonathan_oliver To: @JamesNK

Are the static JsonConvert.DeserializeObject methods thread safe? Getting some strange errors using 5.0.4 and 5.0.5.

响应:

James Newton-King ♔ ‏@JamesNK 8 May 2013 @jonathan_oliver

Yes. Create an issue on GitHub if they’re not

响应:

Jonathan Oliver ‏@jonathan_oliver 9 May 2013

@JamesNK It turns out a ContractResolver attached to a static JsonSerializerSettings object I used with JsonConvert wasn't thread safe.

我没有看到曾经提交过错误,但这确实暗示它们的设计应该是线程安全的,但可能存在特定于实现的方法来破坏它,或者它可能不是一个整体。

关于c# - JsonSerializerSettings 线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23170918/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com