类型注册
本页介绍如何在 Apache Fory™ C# 中注册用户类型。
按数字 type 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 或名称映射一致。
- 在高频序列化负载开始前完成注册,避免运行时缺失。