void IServiceBehavior.Validate(ServiceDescription description, ServiceHostBase host)
        {
            DurableServiceAttribute durable = new DurableServiceAttribute();

            durable.SaveStateInOperationTransaction = true;
            description.Behaviors.Add(durable);

            PersistenceProviderFactory factory;

            if (AutoCompleteInstance)
            {
                factory = new TransactionalInstanceProviderFactory();
            }
            else
            {
                factory = new TransactionalMemoryProviderFactory();
            }

            PersistenceProviderBehavior persistenceBehavior = new PersistenceProviderBehavior(factory);

            description.Behaviors.Add(persistenceBehavior);

            if (TransactionRequiredAllOperations)
            {
                foreach (ServiceEndpoint endpoint in description.Endpoints)
                {
                    foreach (OperationDescription operation in endpoint.Contract.Operations)
                    {
                        operation.Behaviors.Find <OperationBehaviorAttribute>().TransactionScopeRequired = true;
                    }
                }
            }
        }
        public void Validate(ServiceDescription serviceDescription, System.ServiceModel.ServiceHostBase serviceHostBase)
        {
            PersistenceProviderBehavior persistenceBehavior = serviceDescription.Behaviors.Find <PersistenceProviderBehavior>();

            if (persistenceBehavior != null)
            {
                serviceDescription.Behaviors.Remove <PersistenceProviderBehavior>();
            }
            serviceDescription.Behaviors.Add(new PersistenceProviderBehavior(new ActorInstanceProviderFactory()));
        }
        public void Validate(ServiceDescription serviceDescription, System.ServiceModel.ServiceHostBase serviceHostBase)
        {
            PersistenceProviderBehavior persistenceBehavior = serviceDescription.Behaviors.Find <PersistenceProviderBehavior>();

            if (persistenceBehavior != null)
            {
                serviceDescription.Behaviors.Remove <PersistenceProviderBehavior>();
            }
            serviceDescription.Behaviors.Add(new PersistenceProviderBehavior(new SqlPersistenceProviderFactory(new NameValueCollection
            {
                { "connectionStringName", "DurableServices" },
                { "serializeAsText", "true" }
            })));
        }