Class UniversalSerializer
Universal serializer compatibility utilities that enable cross-serializer functionality. This class provides fallback mechanisms when the primary serializer fails to deserialize data.
- Inheritance
-
Universal
Serializer
Methods
Deserialize<T>(byte[], ISerializer, DateTimeKind?)
Attempts to deserialize data using fallback mechanisms when the primary serializer fails.
public static T? Deserialize<T>(byte[] data, ISerializer primarySerializer, DateTimeKind? forcedDateTimeKind = null)
Parameters
databyte[]The serialized data.
primarySerializerISerializerThe primary serializer to try first.
forcedDateTimeKindDateTime ?Kind Optional DateTime kind for consistent handling.
Returns
- T
The deserialized object.
Type Parameters
TThe type to deserialize to.
Serialize<T>(T, ISerializer, DateTimeKind?)
Attempts to serialize data using fallback mechanisms when the primary serializer fails.
public static byte[] Serialize<T>(T value, ISerializer targetSerializer, DateTimeKind? forcedDateTimeKind = null)
Parameters
valueTThe value to serialize.
targetSerializerISerializerThe target serializer.
forcedDateTimeKindDateTime ?Kind Optional DateTime kind for consistent handling.
Returns
- byte[]
The serialized data.
Type Parameters
TThe type to serialize.
TryFindDataWithAlternativeKeys<T>(IBlobCache, string, ISerializer)
Attempts enhanced cross-serializer compatibility with key consistency checks. This method should be called when a GetObject operation fails to ensure data is properly accessible.
public static Task<T?> TryFindDataWithAlternativeKeys<T>(IBlobCache cache, string requestedKey, ISerializer primarySerializer)
Parameters
cacheIBlobCache The cache to search in.
requestedKeystringThe original key that was requested.
primarySerializerISerializerThe primary serializer being used.
Returns
- Task<T>
The data if found using alternative key formats, otherwise default.
Type Parameters
TThe type to deserialize to.