Пример #1
0
 /// <summary>Gets response type for the message.</summary>
 /// <typeparam name="TFallbackType">Type of response to use as fallback.</typeparam>
 /// <param name="resolver">Resolver to get type from.</param>
 /// <param name="message">Sent message.</param>
 /// <returns>Type of the response.</returns>
 public static Type GetMessageResponseType <TFallbackType>(this IResponseTypeResolver resolver, IWolfMessage message) where TFallbackType : IWolfResponse
 => resolver.GetMessageResponseType(message.GetType(), typeof(TFallbackType));
Пример #2
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="underlyingClientLogger">Logger that will be used by the underlying client.</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>
        /// <param name="hostLifetime">Host lifetime used to terminate application.</param>
        public HostedWolfClient(IOptionsMonitor <HostedWolfClientOptions> options, ILogger <HostedWolfClient> logger, ILogger <WolfClient> underlyingClientLogger, ITokenProvider tokenProvider,
                                ISerializerProvider <string, IMessageSerializer> messageSerializers, ISerializerProvider <Type, IResponseSerializer> responseSerializers,
                                IResponseTypeResolver responseTypeResolver,
#if NETCOREAPP3_0
                                IHostApplicationLifetime hostLifetime