Пример #1
0
        public static IOperationClientBuilder AddGraphQLClient(
            this IServiceCollection serviceCollection)
        {
            if (serviceCollection is null)
            {
                throw new ArgumentNullException(nameof(serviceCollection));
            }

            serviceCollection.AddSingleton <IGraphQLClient, GraphQLClient>();

            serviceCollection.AddSingleton <IOperationExecutorFactory>(sp =>
                                                                       new HttpOperationExecutorFactory(
                                                                           _clientName,
                                                                           sp.GetRequiredService <IHttpClientFactory>().CreateClient,
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationPipeline <IHttpOperationContext>(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationFormatter(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetResultParsers(_clientName)));

            IOperationClientBuilder builder = serviceCollection.AddOperationClientOptions(_clientName)
                                              .AddValueSerializer(() => new CatalogProductDtoFilterSerializer())
                                              .AddValueSerializer(() => new CreateProductInputSerializer())
                                              .AddValueSerializer(() => new UpdateProductInputSerializer())
                                              .AddValueSerializer(() => new DeleteProductInputSerializer())
                                              .AddResultParser(serializers => new GetProductsResultParser(serializers))
                                              .AddResultParser(serializers => new GetCategoriesResultParser(serializers))
                                              .AddResultParser(serializers => new GetInventoriesResultParser(serializers))
                                              .AddResultParser(serializers => new CreateProductMutationResultParser(serializers))
                                              .AddResultParser(serializers => new UpdateProductMutationResultParser(serializers))
                                              .AddResultParser(serializers => new DeleteProductMutationResultParser(serializers))
                                              .AddOperationFormatter(serializers => new JsonOperationFormatter(serializers))
                                              .AddHttpOperationPipeline(b => b.UseHttpDefaultPipeline());

            serviceCollection.TryAddSingleton <IOperationExecutorPool, OperationExecutorPool>();
            return(builder);
        }
Пример #2
0
 public static IOperationClientBuilder AddOperationPipeline <T>(
     this IOperationClientBuilder builder,
     Func <IServiceProvider, OperationDelegate <T> > factory)
     where T : IOperationContext =>
 builder.ConfigureClient((sp, o) =>
                         o.OperationPipelines.Add(pipelines =>
                                                  pipelines.Add(factory(sp))));
        public static IOperationClientBuilder AddGitHubClient(
            this IServiceCollection serviceCollection)
        {
            if (serviceCollection is null)
            {
                throw new ArgumentNullException(nameof(serviceCollection));
            }

            serviceCollection.AddSingleton <IGitHubClient, GitHubClient>();

            serviceCollection.AddSingleton <IOperationExecutorFactory>(sp =>
                                                                       new HttpOperationExecutorFactory(
                                                                           _clientName,
                                                                           sp.GetRequiredService <IHttpClientFactory>().CreateClient,
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationPipeline <IHttpOperationContext>(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationFormatter(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetResultParsers(_clientName)));

            IOperationClientBuilder builder = serviceCollection.AddOperationClientOptions(_clientName)
                                              .AddResultParser(serializers => new GetUserResultParser(serializers))
                                              .AddOperationFormatter(serializers => new JsonOperationFormatter(serializers))
                                              .AddHttpOperationPipeline(builder => builder.UseHttpDefaultPipeline());

            serviceCollection.TryAddSingleton <IOperationExecutorPool, OperationExecutorPool>();
            serviceCollection.TryAddEnumerable(new ServiceDescriptor(
                                                   typeof(ISocketConnectionInterceptor),
                                                   typeof(MessagePipelineHandler),
                                                   ServiceLifetime.Singleton));
            return(builder);
        }
Пример #4
0
        public static IOperationClientBuilder AddSchemaRegistryClient(
            this IServiceCollection serviceCollection)
        {
            if (serviceCollection is null)
            {
                throw new ArgumentNullException(nameof(serviceCollection));
            }

            serviceCollection.AddSingleton <ISchemaRegistryClient, SchemaRegistryClient>();

            serviceCollection.AddSingleton <IOperationExecutorFactory>(sp =>
                                                                       new HttpOperationExecutorFactory(
                                                                           _clientName,
                                                                           sp.GetRequiredService <global::System.Net.Http.IHttpClientFactory>().CreateClient,
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationPipeline <IHttpOperationContext>(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationFormatter(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetResultParsers(_clientName)));

            IOperationClientBuilder builder = serviceCollection.AddOperationClientOptions(_clientName)
                                              .AddValueSerializer(() => new TagInputSerializer())
                                              .AddResultParser(serializers => new PublishSchemaResultParser(serializers))
                                              .AddOperationFormatter(serializers => new JsonOperationFormatter(serializers))
                                              .AddHttpOperationPipeline(builder => builder.UseHttpDefaultPipeline());

            serviceCollection.TryAddSingleton <IOperationExecutorPool, OperationExecutorPool>();
            return(builder);
        }
        public static IOperationClientBuilder AddMyHobbyPalClient(
            this IServiceCollection serviceCollection)
        {
            if (serviceCollection is null)
            {
                throw new ArgumentNullException(nameof(serviceCollection));
            }

            serviceCollection.AddSingleton <IMyHobbyPalClient, MyHobbyPalClient>();

            serviceCollection.AddSingleton <IOperationExecutorFactory>(sp =>
                                                                       new HttpOperationExecutorFactory(
                                                                           _clientName,
                                                                           sp.GetRequiredService <IHttpClientFactory>().CreateClient,
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationPipeline <IHttpOperationContext>(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationFormatter(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetResultParsers(_clientName)));

            IOperationClientBuilder builder = serviceCollection.AddOperationClientOptions(_clientName)
                                              .AddValueSerializer(() => new UpsertPersonInputSerializer())
                                              .AddValueSerializer(() => new UpsertHobbyForPersonInputSerializer())
                                              .AddResultParser(serializers => new GetAllPersonsResultParser(serializers))
                                              .AddResultParser(serializers => new GetPersonWithHobbiesResultParser(serializers))
                                              .AddResultParser(serializers => new UpsertPersonResultParser(serializers))
                                              .AddResultParser(serializers => new UpsertHobbyForPersonResultParser(serializers))
                                              .AddOperationFormatter(serializers => new JsonOperationFormatter(serializers))
                                              .AddHttpOperationPipeline(builder => builder.UseHttpDefaultPipeline());

            serviceCollection.TryAddSingleton <IOperationExecutorPool, OperationExecutorPool>();
            return(builder);
        }
        public static IOperationClientBuilder AddStarWarsClient(
            this IServiceCollection serviceCollection)
        {
            if (serviceCollection is null)
            {
                throw new ArgumentNullException(nameof(serviceCollection));
            }

            serviceCollection.AddSingleton <IStarWarsClient, StarWarsClient>();

            serviceCollection.AddSingleton <IOperationExecutorFactory>(sp =>
                                                                       new HttpOperationExecutorFactory(
                                                                           _clientName,
                                                                           sp.GetRequiredService <IHttpClientFactory>().CreateClient,
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationPipeline <IHttpOperationContext>(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationFormatter(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetResultParsers(_clientName)));

            IOperationClientBuilder builder = serviceCollection.AddOperationClientOptions(_clientName)
                                              .AddResultParser(serializers => new GetHumanResultParser(serializers))
                                              .AddOperationFormatter(serializers => new JsonOperationFormatter(serializers))
                                              .AddHttpOperationPipeline(builder => builder.UseHttpDefaultPipeline());

            serviceCollection.TryAddSingleton <IOperationExecutorPool, OperationExecutorPool>();
            return(builder);
        }
Пример #7
0
 public static IOperationClientBuilder AddOperationPipeline <T>(
     this IOperationClientBuilder builder,
     Func <OperationDelegate <T> > factory)
     where T : IOperationContext =>
 builder.ConfigureClient(o =>
                         o.OperationPipelines.Add(pipelines =>
                                                  pipelines.Add(factory())));
Пример #8
0
        public static IOperationClientBuilder AddChatClient(
            this IServiceCollection serviceCollection)
        {
            if (serviceCollection is null)
            {
                throw new ArgumentNullException(nameof(serviceCollection));
            }

            serviceCollection.AddSingleton <IChatClient, ChatClient>();

            serviceCollection.AddSingleton <IOperationExecutorFactory>(sp =>
                                                                       new HttpOperationExecutorFactory(
                                                                           _clientName,
                                                                           sp.GetRequiredService <IHttpClientFactory>().CreateClient,
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationPipeline <IHttpOperationContext>(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationFormatter(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetResultParsers(_clientName)));

            IOperationClientBuilder builder = serviceCollection.AddOperationClientOptions(_clientName)
                                              .AddValueSerializer(() => new DirectionValueSerializer())
                                              .AddValueSerializer(() => new LoginInputSerializer())
                                              .AddValueSerializer(() => new CreateUserInputSerializer())
                                              .AddResultParser(serializers => new PeopleResultParser(serializers))
                                              .AddResultParser(serializers => new GetPeopleAndRecipientResultParser(serializers))
                                              .AddResultParser(serializers => new RecipientByIdResultParser(serializers))
                                              .AddResultParser(serializers => new SendMessageResultParser(serializers))
                                              .AddResultParser(serializers => new SignInResultParser(serializers))
                                              .AddResultParser(serializers => new SignUpResultParser(serializers))
                                              .AddOperationFormatter(serializers => new JsonOperationFormatter(serializers))
                                              .AddHttpOperationPipeline(builder => builder.UseHttpDefaultPipeline());

            serviceCollection.TryAddSingleton <IOperationExecutorPool, OperationExecutorPool>();
            return(builder);
        }
Пример #9
0
 public static IOperationClientBuilder AddValueSerializer(
     this IOperationClientBuilder builder,
     Func <IValueSerializer> factory) =>
 builder.ConfigureClient(o =>
                         o.ValueSerializers.Add(serializers =>
 {
     IValueSerializer serializer  = factory();
     serializers[serializer.Name] = serializer;
 }));
Пример #10
0
 public static IOperationClientBuilder AddResultParser(
     this IOperationClientBuilder builder,
     Func <IValueSerializerCollection, IResultParser> factory) =>
 builder.ConfigureClient(o =>
                         o.ResultParsers.Add((serializers, parsers) =>
 {
     IResultParser parser       = factory(serializers);
     parsers[parser.ResultType] = parser;
 }));
Пример #11
0
 public static IOperationClientBuilder AddHttpOperationPipeline(
     this IOperationClientBuilder builder,
     Action <IOperationPipelineBuilder <IHttpOperationContext> > configure) =>
 builder.AddOperationPipeline(sp =>
 {
     OperationPipelineBuilder <IHttpOperationContext> builder =
         OperationPipelineBuilder <IHttpOperationContext> .New();
     configure(builder);
     return(builder.Build(sp));
 });
        public static IOperationClientBuilder AddChatClient(
            this IServiceCollection serviceCollection)
        {
            if (serviceCollection is null)
            {
                throw new ArgumentNullException(nameof(serviceCollection));
            }

            serviceCollection.AddSingleton <IChatClient, ChatClient>();

            serviceCollection.AddSingleton <IOperationExecutorFactory>(sp =>
                                                                       new HttpOperationExecutorFactory(
                                                                           _clientName,
                                                                           sp.GetRequiredService <IHttpClientFactory>().CreateClient,
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationPipeline <IHttpOperationContext>(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationFormatter(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetResultParsers(_clientName)));

            serviceCollection.AddSingleton <IOperationStreamExecutorFactory>(sp =>
                                                                             new SocketOperationStreamExecutorFactory(
                                                                                 _clientName,
                                                                                 sp.GetRequiredService <ISocketConnectionPool>().RentAsync,
                                                                                 sp.GetRequiredService <ISubscriptionManager>(),
                                                                                 sp.GetRequiredService <IClientOptions>().GetOperationFormatter(_clientName),
                                                                                 sp.GetRequiredService <IClientOptions>().GetResultParsers(_clientName)));

            IOperationClientBuilder builder = serviceCollection.AddOperationClientOptions(_clientName)
                                              .AddValueSerializer(() => new DirectionValueSerializer())
                                              .AddValueSerializer(() => new LoginInputSerializer())
                                              .AddValueSerializer(() => new CreateUserInputSerializer())
                                              .AddResultParser(serializers => new PeopleResultParser(serializers))
                                              .AddResultParser(serializers => new GetPeopleAndRecipientResultParser(serializers))
                                              .AddResultParser(serializers => new RecipientByIdResultParser(serializers))
                                              .AddResultParser(serializers => new SendMessageResultParser(serializers))
                                              .AddResultParser(serializers => new SignInResultParser(serializers))
                                              .AddResultParser(serializers => new SignUpResultParser(serializers))
                                              .AddResultParser(serializers => new UserIsTypingResultParser(serializers))
                                              .AddResultParser(serializers => new OnMessageReceivedResultParser(serializers))
                                              .AddResultParser(serializers => new OnUserOnlineStatusChangedResultParser(serializers))
                                              .AddResultParser(serializers => new OnUserIsTypingResultParser(serializers))
                                              .AddOperationFormatter(serializers => new JsonOperationFormatter(serializers))
                                              .AddHttpOperationPipeline(builder => builder.UseHttpDefaultPipeline());

            serviceCollection.TryAddSingleton <ISubscriptionManager, SubscriptionManager>();
            serviceCollection.TryAddSingleton <IOperationExecutorPool, OperationExecutorPool>();
            serviceCollection.TryAddEnumerable(new ServiceDescriptor(
                                                   typeof(ISocketConnectionInterceptor),
                                                   typeof(MessagePipelineHandler),
                                                   ServiceLifetime.Singleton));
            return(builder);
        }
Пример #13
0
        public static IOperationClientBuilder AddSchemaRegistryClient(
            this IServiceCollection serviceCollection)
        {
            if (serviceCollection is null)
            {
                throw new ArgumentNullException(nameof(serviceCollection));
            }

            serviceCollection.AddSingleton <ISchemaRegistryClient, SchemaRegistryClient>();

            serviceCollection.AddSingleton <IOperationExecutorFactory>(sp =>
                                                                       new HttpOperationExecutorFactory(
                                                                           _clientName,
                                                                           sp.GetRequiredService <System.Net.Http.IHttpClientFactory>().CreateClient,
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationPipeline <IHttpOperationContext>(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationFormatter(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetResultParsers(_clientName)));

            serviceCollection.AddSingleton <IOperationStreamExecutorFactory>(sp =>
                                                                             new SocketOperationStreamExecutorFactory(
                                                                                 _clientName,
                                                                                 sp.GetRequiredService <ISocketConnectionPool>().RentAsync,
                                                                                 sp.GetRequiredService <ISubscriptionManager>(),
                                                                                 sp.GetRequiredService <IClientOptions>().GetOperationFormatter(_clientName),
                                                                                 sp.GetRequiredService <IClientOptions>().GetResultParsers(_clientName)));

            IOperationClientBuilder builder = serviceCollection.AddOperationClientOptions(_clientName)
                                              .AddValueSerializer(() => new QueryFileFormatValueSerializer())
                                              .AddValueSerializer(() => new IssueTypeValueSerializer())
                                              .AddValueSerializer(() => new ResolutionTypeValueSerializer())
                                              .AddValueSerializer(() => new HashFormatValueSerializer())
                                              .AddValueSerializer(() => new TagInputSerializer())
                                              .AddValueSerializer(() => new QueryFileInputSerializer())
                                              .AddResultParser(serializers => new PublishSchemaResultParser(serializers))
                                              .AddResultParser(serializers => new MarkSchemaPublishedResultParser(serializers))
                                              .AddResultParser(serializers => new PublishClientResultParser(serializers))
                                              .AddResultParser(serializers => new MarkClientPublishedResultParser(serializers))
                                              .AddResultParser(serializers => new OnPublishDocumentResultParser(serializers))
                                              .AddOperationFormatter(serializers => new JsonOperationFormatter(serializers))
                                              .AddHttpOperationPipeline(builder => builder.UseHttpDefaultPipeline());

            serviceCollection.TryAddSingleton <ISubscriptionManager, SubscriptionManager>();
            serviceCollection.TryAddSingleton <IOperationExecutorPool, OperationExecutorPool>();
            serviceCollection.TryAddEnumerable(new ServiceDescriptor(
                                                   typeof(ISocketConnectionInterceptor),
                                                   typeof(MessagePipelineHandler),
                                                   ServiceLifetime.Singleton));
            return(builder);
        }
Пример #14
0
        public static IOperationClientBuilder AddStarWarsClient(
            this IServiceCollection serviceCollection)
        {
            if (serviceCollection is null)
            {
                throw new ArgumentNullException(nameof(serviceCollection));
            }

            serviceCollection.AddSingleton <IStarWarsClient, StarWarsClient>();

            serviceCollection.AddSingleton <IOperationExecutorFactory>(sp =>
                                                                       new HttpOperationExecutorFactory(
                                                                           _clientName,
                                                                           sp.GetRequiredService <IHttpClientFactory>().CreateClient,
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationPipeline <IHttpOperationContext>(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationFormatter(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetResultParsers(_clientName)));

            serviceCollection.AddSingleton <IOperationStreamExecutorFactory>(sp =>
                                                                             new SocketOperationStreamExecutorFactory(
                                                                                 _clientName,
                                                                                 sp.GetRequiredService <ISocketConnectionPool>().RentAsync,
                                                                                 sp.GetRequiredService <ISubscriptionManager>(),
                                                                                 sp.GetRequiredService <IClientOptions>().GetOperationFormatter(_clientName),
                                                                                 sp.GetRequiredService <IClientOptions>().GetResultParsers(_clientName)));

            IOperationClientBuilder builder = serviceCollection.AddOperationClientOptions(_clientName)
                                              .AddValueSerializer(() => new EpisodeValueSerializer())
                                              .AddValueSerializer(() => new ReviewInputSerializer())
                                              .AddResultParser(serializers => new GetHeroResultParser(serializers))
                                              .AddResultParser(serializers => new GetHumanResultParser(serializers))
                                              .AddResultParser(serializers => new SearchResultParser(serializers))
                                              .AddResultParser(serializers => new CreateReviewResultParser(serializers))
                                              .AddResultParser(serializers => new OnReviewResultParser(serializers))
                                              .AddOperationFormatter(serializers => new JsonOperationFormatter(serializers))
                                              .AddHttpOperationPipeline(builder => builder.UseHttpDefaultPipeline());

            serviceCollection.TryAddSingleton <ISubscriptionManager, SubscriptionManager>();
            serviceCollection.TryAddSingleton <IOperationExecutorPool, OperationExecutorPool>();
            serviceCollection.TryAddEnumerable(new ServiceDescriptor(
                                                   typeof(ISocketConnectionInterceptor),
                                                   typeof(MessagePipelineHandler),
                                                   ServiceLifetime.Singleton));
            return(builder);
        }
Пример #15
0
        /// <summary>
        /// Configures the client options that will be used to create a operation client.
        /// </summary>
        /// <param name="builder">
        /// The <see cref="IServiceCollection"/>.
        /// </param>
        /// <param name="configure">
        /// A delegate that is used to configure the <see cref="ClientOptions"/>.
        /// </param>
        /// <returns>
        /// An <see cref="IOperationClientBuilder"/> that can be used to configure the client.
        /// </returns>
        public static IOperationClientBuilder ConfigureClient(
            this IOperationClientBuilder builder,
            Action <ClientOptionsModifiers> configure)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (configure == null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            builder.Services.Configure <ClientOptionsModifiers>(
                builder.Name,
                options => configure(options));

            return(builder);
        }
Пример #16
0
        /// <summary>
        /// Adds a delegate that will be used to configure a named <see cref="WebSocketClient"/>.
        /// </summary>
        /// <param name="builder">
        /// The <see cref="IServiceCollection"/>.
        /// </param>
        /// <param name="configureClient">
        /// A delegate that is used to configure an <see cref="WebSocketClient"/>.
        /// </param>
        /// <returns>
        /// An <see cref="IWebSocketClientBuilder"/> that can be used to configure the client.
        /// </returns>
        /// <remarks>
        /// The <see cref="IServiceProvider"/> provided to <paramref name="configureClient"/>
        /// will be the application's root service provider instance.
        /// </remarks>
        public static IOperationClientBuilder ConfigureClient(
            this IOperationClientBuilder builder,
            Action <IServiceProvider, ClientOptionsModifiers> configureClient)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (configureClient == null)
            {
                throw new ArgumentNullException(nameof(configureClient));
            }

            builder.Services.AddTransient <IConfigureOptions <ClientOptionsModifiers> >(sp =>
                                                                                        new ConfigureNamedOptions <ClientOptionsModifiers>(
                                                                                            builder.Name,
                                                                                            options => configureClient(sp, options)));

            return(builder);
        }
Пример #17
0
        public static IOperationClientBuilder AddAlbumClient(
            this IServiceCollection serviceCollection)
        {
            if (serviceCollection is null)
            {
                throw new ArgumentNullException(nameof(serviceCollection));
            }

            serviceCollection.AddSingleton <IAlbumClient, AlbumClient>();

            serviceCollection.AddSingleton <IOperationExecutorFactory>(sp =>
                                                                       new HttpOperationExecutorFactory(
                                                                           _clientName,
                                                                           sp.GetRequiredService <IHttpClientFactory>().CreateClient,
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationPipeline <IHttpOperationContext>(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetOperationFormatter(_clientName),
                                                                           sp.GetRequiredService <IClientOptions>().GetResultParsers(_clientName)));

            IOperationClientBuilder builder = serviceCollection.AddOperationClientOptions(_clientName)
                                              .AddValueSerializer(() => new StatusValueSerializer())
                                              .AddValueSerializer(() => new GeoCoordinateDirectionValueSerializer())
                                              .AddValueSerializer(() => new ModelSortDirectionValueSerializer())
                                              .AddValueSerializer(() => new ModelAttributeTypesValueSerializer())
                                              .AddValueSerializer(() => new ModelPhotoFilterInputSerializer())
                                              .AddValueSerializer(() => new ModelIDInputSerializer())
                                              .AddValueSerializer(() => new ModelStringInputSerializer())
                                              .AddValueSerializer(() => new ModelStatusInputSerializer())
                                              .AddValueSerializer(() => new ModelSizeInputSerializer())
                                              .AddResultParser(serializers => new GetAlbumResultParser(serializers))
                                              .AddResultParser(serializers => new ListAlbumsResultParser(serializers))
                                              .AddResultParser(serializers => new GetPhotoResultParser(serializers))
                                              .AddResultParser(serializers => new ListPhotosResultParser(serializers))
                                              .AddResultParser(serializers => new ListPhotosByAlbumUploadTimeResultParser(serializers))
                                              .AddOperationFormatter(serializers => new JsonOperationFormatter(serializers))
                                              .AddHttpOperationPipeline(b => b.UseHttpDefaultPipeline());

            serviceCollection.TryAddSingleton <IOperationExecutorPool, OperationExecutorPool>();
            return(builder);
        }
Пример #18
0
 public static IOperationClientBuilder AddOperationFormatter(
     this IOperationClientBuilder builder,
     Func <IValueSerializerCollection, IOperationFormatter> factory) =>
 builder.ConfigureClient(o =>
                         o.OperationFormatter = serializer =>
                                                factory(serializer));