你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
IReliableStateManager.TryAddStateSerializer<T> 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为所有可靠集合注册自定义序列化程序。
public bool TryAddStateSerializer<T> (Microsoft.ServiceFabric.Data.IStateSerializer<T> stateSerializer);
abstract member TryAddStateSerializer : Microsoft.ServiceFabric.Data.IStateSerializer<'T> -> bool
Public Function TryAddStateSerializer(Of T) (stateSerializer As IStateSerializer(Of T)) As Boolean
类型参数
- T
将序列化和反序列化的类型。
参数
- stateSerializer
- IStateSerializer<T>
要添加的状态序列化程序。
返回
如果添加了自定义序列化程序,则为 True。 如果给定类型的自定义序列化程序已存在,则为 False。
注解
当可靠集合需要序列化对象时,它会要求状态管理器提供给定类型的序列化程序。 如果为输入类型注册了自定义序列化程序,状态管理器将首先检查。 否则,如果其中一个内置序列化程序可以序列化类型,它将检查。 状态管理器具有适用于以下类型的内置序列化程序:guid、bool、byte、sbyte、char、decimal、double、float、int、uint、long、ulong、short、ushort 和 string。 如果没有,它将使用 DataContractSerializer。
序列化程序必须无限向前和向后兼容。 对于使用内置序列化程序的类型,Service Fabric 可确保向前和向后兼容性。 但是,如果为具有内置序列化程序的类型添加了自定义序列化程序,则自定义序列化程序必须与该类型的内置序列化格式兼容。
应从有状态服务的构造函数调用此方法。 这可确保可靠集合在开始恢复持久化状态之前具有必要的序列化程序。