Skip to main content
Version: dev

Configuration

This page covers ForyBuilder options and default configuration values for Apache Fory™ C#.

Build a Runtime

using Apache.Fory;

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

Default Configuration

Fory.Builder().Build() uses:

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

Builder Options

Xlang(bool enabled = true)

Controls cross-language mode.

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

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()
.Xlang(true)
.Compatible(true)
.TrackRef(true)
.Build();

Thread-safe service instance

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