Table of Contents

Class UniversalSerializer

Namespace
Akavache.Core
Assembly
Akavache.dll

Universal serializer compatibility utilities that enable cross-serializer functionality. This class provides fallback mechanisms when the primary serializer fails to deserialize data.

public static class UniversalSerializer
Inheritance
UniversalSerializer

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

data byte[]

The serialized data.

primarySerializer ISerializer

The primary serializer to try first.

forcedDateTimeKind DateTimeKind?

Optional DateTime kind for consistent handling.

Returns

T

The deserialized object.

Type Parameters

T

The 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

value T

The value to serialize.

targetSerializer ISerializer

The target serializer.

forcedDateTimeKind DateTimeKind?

Optional DateTime kind for consistent handling.

Returns

byte[]

The serialized data.

Type Parameters

T

The 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

cache IBlobCache

The cache to search in.

requestedKey string

The original key that was requested.

primarySerializer ISerializer

The primary serializer being used.

Returns

Task<T>

The data if found using alternative key formats, otherwise default.

Type Parameters

T

The type to deserialize to.