Caching issue in development

Getting the following exception when trying to pull an object out of the cache, it was added fine

Exception has occurred: CLR/System.InvalidCastException
An exception of type 'System.InvalidCastException' occurred in System.Private.CoreLib.dll but was not handled in user code: 'Unable to cast object of type 'ᵀAɗƹϦŵɧҏҤũIԯŹӍijİαwʒԒȻҵʕɇԓӮťpǭԓͶӣӚЉҩԧđӓͲᴱ.ᵀrҪƆǺɸˋεӄԎΦǍаΚᴱ[System.Object]' to type 'ᵀAɗƹϦŵɧҏҤũIԯŹӍijİαwʒԒȻҵʕɇԓӮťpǭԓͶӣӚЉҩԧđӓͲᴱ.ᵀrҪƆǺɸˋεӄԎΦǍаΚᴱ[System.Nullable`1[FourRoads.VerintCommunity.ForumLastPost.Interfaces.LastReadPostInfo]]'.'
at System.Runtime.CompilerServices.CastHelpers.<IsInstanceOf_NoCacheLookup>g____PInvoke|4_0(Void* __toTypeHnd_native, Int32 __throwCastException_native, ObjectHandleOnStack __obj_native) at System.Runtime.CompilerServices.CastHelpers.<IsInstanceOf_NoCacheLookup>g____PInvoke|4_0(Void* __toTypeHnd_native, Int32 __throwCastException_native, ObjectHandleOnStack __obj_native) at System.Runtime.CompilerServices.CastHelpers.ChkCastAny_NoCacheLookup(Void* toTypeHnd, Object obj) at System.Runtime.CompilerServices.CastHelpers.ChkCast_Helper(Void* toTypeHnd, Object obj) at ᵀAɗƹϦŵɧҏҤũIԯŹӞŖѨћѤđΘɅιƚDŽċɘõãɔǷɦӡҲDZԦËϴЅʼnᴱ.ᵀĴǩӉVŹАζӓǼɞϬȾɧᴱ.Get[T](String key) at ᵀAɗƹϦŵɧҏҤũIԯŹӞŖѨћѤđΘɅιƚDŽċɘõãɔǷɦӡҲDZԦËϴЅʼnᴱ.ᵀÞҋĺòȐđçˬƁҩґԬʋᴱ.TryGet[T](String key, CacheScope scope, T& value, ConsistencyLevel consistency) at Telligent.Evolution.Extensibility.Caching.Version1.CacheService.TryGet[T](String key, CacheScope scope, T& value, GetOptions`1 options)

this is what it added to the cache

    public struct LastReadPostInfo
    {
        public int ReplyCount { get; set; }
        public Guid? ContentId { get; set; }
        public DateTime PostDate { get; set; }
    }
Parents
No Data
Reply
  • Tell me more about IDistributedCacheSerializationProvider and it's intent?

    Previous versions of caching relied on .NET's binary formatting when serializing/deserializing objects for the distributed cache. Binary formatting was removed as of .NET 9 due to security concerns.

    The typical workaround is to use an explicit serialization format instead, JSON, MessagePack, etc.

    IDistributedCacheSerializationProvider is a way for a plugin to define how a custom type can be serialized to and from a byte array, and the caching service looks for one if it's asked to serialize a type it doesn't know about for the distributed cache.

    It's not required if only caching in-process, since those are just live, non-serialized, objects.

Children