/// <summary>Gets serializer mapped to the key. If not found, will return fallback serializer.</summary>
 /// <typeparam name="TKey">Type of the serializer key.</typeparam>
 /// <typeparam name="TSerializer">Type of the serializer.</typeparam>
 /// <param name="key">Key to get the serializer for.</param>
 /// <returns>Found serializer; if not found, then fallback serializer</returns>
 public static TSerializer GetSerializer <TKey, TSerializer>(this ISerializerMap <TKey, TSerializer> map, TKey key)
 {
     if (map.TryFindMappedSerializer(key, out TSerializer result))
     {
         return(result);
     }
     return(map.FallbackSerializer);
 }
 /// <summary>Gets serializer mapped to the key.</summary>
 /// <typeparam name="TKey">Type of the serializer key.</typeparam>
 /// <typeparam name="TSerializer">Type of the serializer.</typeparam>
 /// <param name="key">Key to get the serializer for.</param>
 /// <param name="serializer">Found serializer.</param>
 /// <returns>True if non-fallback serializer was found; otherwise false.</returns>
 public static bool TryFindMappedSerializer <TKey, TSerializer>(this ISerializerMap <TKey, TSerializer> map, TKey key, out TSerializer serializer)
 {
     serializer = map.FindMappedSerializer(key);
     return(serializer != null);
 }
示例#3
0
        /// <summary>Creates a new hosted client.</summary>
        /// <param name="options">Client configuration.</param>
        /// <param name="logger">Logger to log all log events.</param>
        /// <param name="tokenProvider">Wolf token generator.</param>
        /// <param name="messageSerializers">Map of message serializers.</param>
        /// <param name="responseSerializers">Map of response serializers.</param>
        /// <param name="responseTypeResolver">Resolver of message's response type.</param>
        public HostedWolfClient(IOptionsMonitor <HostedWolfClientOptions> options, ILogger <HostedWolfClient> logger, ILogger <WolfClient> underlyingClientLogger, ITokenProvider tokenProvider,
                                ISerializerMap <string, IMessageSerializer> messageSerializers, ISerializerMap <Type, IResponseSerializer> responseSerializers,
                                IResponseTypeResolver responseTypeResolver,
#if NETCOREAPP3_0
                                IHostApplicationLifetime hostLifetime