Skip to main content
Version: 0.17

Configuration

This page covers ForyBuilder options and default configuration values for Apache Fory™ C#. Config is an immutable runtime snapshot created by ForyBuilder.

Build a Runtime​

using Apache.Fory;

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

Default Configuration​

Fory.Builder().Build() uses:

OptionDefaultDescription
TrackReffalseReference tracking disabled
CompatiblefalseSchema-consistent mode (no evolution metadata)
CheckStructVersionfalseStruct schema hash checks disabled
MaxDepth20Max dynamic nesting depth

Builder Options​

C# always uses xlang-compatible framing, so ForyBuilder does not expose a separate Xlang(...) toggle.

TrackRef(bool enabled = false)​

Enables reference tracking for shared/circular object graphs.

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

Compatible(bool enabled = false)​

Enables schema evolution mode.

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

CheckStructVersion(bool enabled = false)​

Enables strict schema hash validation for generated struct serializers.

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

MaxDepth(int value)​

Sets max nesting depth for dynamic object graphs.

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

value must be greater than 0.

Common Configurations​

Fast schema-consistent service​

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

Compatible cross-language service​

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

Thread-safe service instance​

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