跳到主要内容
版本:0.16

类型注册

本页介绍如何在 Apache Fory™ C# 中注册用户类型。

通过数值类型 ID 注册

使用显式 ID 可以获得更紧凑、也更稳定的跨服务映射。

Fory fory = Fory.Builder().Build();
fory.Register<User>(100);
fory.Register<Order>(101);

按类型名注册

当你更偏好符号化映射时,可以使用“命名空间 + 类型名”的注册方式。

Fory fory = Fory.Builder().Build();
fory.Register<User>("com.example", "User");

也可以使用简写重载:

fory.Register<User>("User");

注册自定义序列化器

Fory fory = Fory.Builder().Build();
fory.Register<MyType, MyTypeSerializer>(200);

也支持基于命名空间的自定义序列化器注册:

fory.Register<MyType, MyTypeSerializer>("com.example", "MyType");

线程安全注册

ThreadSafeFory 暴露了相同的注册 API。注册信息会同步到所有线程私有的运行时实例中。

using ThreadSafeFory fory = Fory.Builder().BuildThreadSafe();
fory.Register<User>(100);
fory.Register<Order>(101);

注册规则

  • 在写入端和读取端都注册用户自定义类型。
  • 在不同服务和语言之间保持 ID / 名称映射一致。
  • 在高吞吐序列化负载开始前完成注册,避免运行时缺失。

相关主题