跳到主要内容
版本:0.17

配置

本页介绍 Apache Fory™ C# 的 ForyBuilder 选项和默认配置值。 Config 是由 ForyBuilder 创建的不可变运行时快照。

构建运行时

using Apache.Fory;

Fory fory = Fory.Builder().Build();
ThreadSafeFory threadSafe = Fory.Builder().BuildThreadSafe();

默认配置

Fory.Builder().Build() 使用以下默认值:

选项默认值说明
TrackReffalse默认关闭引用跟踪
CompatiblefalseSchema 一致模式,不写入演进元数据
CheckStructVersionfalse默认关闭结构体 schema hash 校验
MaxDepth20动态对象图的最大嵌套深度

构建器选项

C# 始终使用与 xlang 兼容的帧头,因此 ForyBuilder 不提供单独的 Xlang(...) 开关。

TrackRef(bool enabled = false)

为共享对象图和循环对象图启用引用跟踪。

Fory fory = Fory.Builder()
.TrackRef(true)
.Build();

Compatible(bool enabled = false)

启用 Schema 演进模式。

Fory fory = Fory.Builder()
.Compatible(true)
.Build();

CheckStructVersion(bool enabled = false)

为生成的结构体序列化器启用严格的 schema hash 校验。

Fory fory = Fory.Builder()
.CheckStructVersion(true)
.Build();

MaxDepth(int value)

设置动态对象图允许的最大嵌套深度。

Fory fory = Fory.Builder()
.MaxDepth(32)
.Build();

value 必须大于 0

常见配置

追求速度的 Schema 一致服务

Fory fory = Fory.Builder()
.TrackRef(false)
.Compatible(false)
.Build();

兼容的跨语言服务

Fory fory = Fory.Builder()
.Compatible(true)
.TrackRef(true)
.Build();

线程安全的服务实例

ThreadSafeFory fory = Fory.Builder()
.Compatible(true)
.TrackRef(true)
.BuildThreadSafe();

相关主题