配置
本页介绍 Apache Fory™ C# 的 ForyBuilder 选项以及默认配置值。
构建运行时
using Apache.Fory;
Fory fory = Fory.Builder().Build();
ThreadSafeFory threadSafe = Fory.Builder().BuildThreadSafe();
默认配置
Fory.Builder().Build() 默认使用以下配置:
| 选项 | 默认值 | 说明 |
|---|---|---|
Xlang | true | 跨语言协议模式 |
TrackRef | false | 禁用引用跟踪 |
Compatible | false | Schema 一致模式(不写入演进元数据) |
CheckStructVersion | false | 禁用结构体 schema 哈希校验 |
MaxDepth | 20 | 动态对象图的最大嵌套深度 |
构建器选项
Xlang(bool enabled = true) 选项
控制是否启用跨语言模式。
Fory fory = Fory.Builder()
.Xlang(true)
.Build();
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 哈希校验。
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()
.Xlang(true)
.Compatible(true)
.TrackRef(true)
.Build();
线程安全服务实例
ThreadSafeFory fory = Fory.Builder()
.Compatible(true)
.TrackRef(true)
.BuildThreadSafe();