public static IStatelessServiceHostRemotingListenerReplicaTemplate UseSerializationProvider <TSerializationProvider>(
            this IStatelessServiceHostRemotingListenerReplicaTemplate @this,
            Func <TSerializationProvider> factoryFunc)
            where TSerializationProvider : IServiceRemotingMessageSerializationProvider
        {
            @this.ConfigureObject(
                configurator => configurator.UseSerializationProvider(provider => factoryFunc()));

            return(@this);
        }
        public static IStatelessServiceHostRemotingListenerReplicaTemplate UseSerializationProvider <TSerializationProvider>(
            this IStatelessServiceHostRemotingListenerReplicaTemplate @this)
            where TSerializationProvider : IServiceRemotingMessageSerializationProvider
        {
            @this.ConfigureObject(
                configurator => configurator.UseSerializationProvider(
                    provider => ActivatorUtilities.CreateInstance <TSerializationProvider>(provider)));

            return(@this);
        }
        public static IStatelessServiceHostRemotingListenerReplicaTemplate UseImplementation <TImplementation>(
            this IStatelessServiceHostRemotingListenerReplicaTemplate @this)
            where TImplementation : IService
        {
            @this.ConfigureObject(
                configurator => configurator.UseImplementation(
                    provider => ActivatorUtilities.CreateInstance <TImplementation>(provider)));

            return(@this);
        }
        public static IStatelessServiceHostRemotingListenerReplicaTemplate UseImplementation <TImplementation>(
            this IStatelessServiceHostRemotingListenerReplicaTemplate @this,
            Func <IServiceProvider, TImplementation> factoryFunc)
            where TImplementation : IService
        {
            @this.ConfigureObject(
                configurator => configurator.UseImplementation(factoryFunc));

            return(@this);
        }
        public static IStatelessServiceHostRemotingListenerReplicaTemplate UseHandler <THandler>(
            this IStatelessServiceHostRemotingListenerReplicaTemplate @this,
            Func <IServiceProvider, THandler> factoryFunc)
            where THandler : IServiceRemotingMessageHandler
        {
            @this.ConfigureObject(
                configurator => configurator.UseHandler(factoryFunc));

            return(@this);
        }