void Container7()
 {
     //Method: CreateProvider
     //<snippet7>
     SqlPersistenceProviderFactory factory = new SqlPersistenceProviderFactory(
         DataBaseConstants.ConnectionString,
         false,
         TimeSpan.FromSeconds(60));
     LockingPersistenceProvider provider = (LockingPersistenceProvider)factory.CreateProvider(Guid.NewGuid());
     //</snippet7>
 }
Beispiel #2
0
        public ServiceDurableInstance(
            PersistenceProvider persistenceProvider,
            ServiceDurableInstanceContextProvider contextManager,
            bool saveStateInOperationTransaction,
            UnknownExceptionAction unknownExceptionAction,
            DurableRuntimeValidator runtimeValidator,
            TimeSpan operationTimeout,
            Type serviceType)
            : base(contextManager, persistenceProvider == null ? Guid.Empty : persistenceProvider.Id)
        {
            if (persistenceProvider == null)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("persistenceProvider");
            }

            if (contextManager == null)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("contextManager");
            }

            if (runtimeValidator == null)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("runtimeValidator");
            }

            Fx.Assert(operationTimeout > TimeSpan.Zero,
                      "Timeout needs to be greater than zero.");

            this.lockingProvider = persistenceProvider as LockingPersistenceProvider;
            this.provider        = persistenceProvider;
            this.contextManager  = contextManager;
            this.saveStateInOperationTransaction = saveStateInOperationTransaction;
            this.unknownExceptionAction          = unknownExceptionAction;
            this.runtimeValidator = runtimeValidator;
            this.operationTimeout = operationTimeout;
            this.newServiceType   = serviceType;
        }