- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如果我在我的项目中使用相同的设置,我可以实例化我的 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/
我是一名优秀的程序员,十分优秀!