예제 #1
0
        public async Task TryDeleteStateAsync_ValidateOptions(
            ConsistencyMode consistencyMode,
            ConcurrencyMode concurrencyMode,
            StateConsistency expectedConsistency,
            StateConcurrency expectedConcurrency)
        {
            await using var client = TestClient.CreateForDaprClient();

            var stateOptions = new StateOptions
            {
                Concurrency = concurrencyMode,
                Consistency = consistencyMode
            };

            var request = await client.CaptureGrpcRequestAsync(async daprClient =>
            {
                return await daprClient.TryDeleteStateAsync("testStore", "test", "Test_Etag", stateOptions);
            });

            request.Dismiss();

            // Get Request and validate
            var envelope = await request.GetRequestEnvelopeAsync<Autogenerated.DeleteStateRequest>();
            envelope.StoreName.Should().Be("testStore");
            envelope.Key.Should().Be("test");
            envelope.Etag.Value.Should().Be("Test_Etag");
            envelope.Options.Concurrency.Should().Be(expectedConcurrency);
            envelope.Options.Consistency.Should().Be(expectedConsistency);
        }
        // Token: 0x0600089E RID: 2206 RVA: 0x00026F70 File Offset: 0x00025170
        public override ITenantConfigurationSession CreateTenantConfigurationSession(ConsistencyMode consistencyMode, ADSessionSettings sessionSettings, int callerFileLine, string memberName, string callerFilePath)
        {
            CacheDirectorySession cacheDirectorySession = new CacheDirectorySession(sessionSettings);

            cacheDirectorySession.SetCallerInfo(callerFilePath, memberName, callerFileLine);
            return(cacheDirectorySession);
        }
예제 #3
0
        public async Task GetStateAsync_ValidateRequest(ConsistencyMode consistencyMode, StateConsistency expectedConsistencyMode)
        {
            // Configure Client
            var httpClient = new TestHttpClient();
            var daprClient = new DaprClientBuilder()
                             .UseGrpcChannelOptions(new GrpcChannelOptions {
                HttpClient = httpClient
            })
                             .Build();

            var task = daprClient.GetStateAsync <Widget>("testStore", "test", consistencyMode);

            // Get Request & Validate
            httpClient.Requests.TryDequeue(out var entry).Should().BeTrue();
            var request = await GrpcUtils.GetRequestFromRequestMessageAsync <Autogenerated.GetStateRequest>(entry.Request);

            request.StoreName.Should().Be("testStore");
            request.Key.Should().Be("test");
            request.Consistency.Should().Be(expectedConsistencyMode);

            // Create Response & Respond
            SendResponseWithState <Widget>(null, entry);

            // Get response and validate
            var state = await task;

            state.Should().BeNull();
        }
예제 #4
0
 protected FfoDirectorySession(bool useConfigNC, bool readOnly, ConsistencyMode consistencyMode, NetworkCredential networkCredential, ADSessionSettings sessionSettings)
 {
     if (sessionSettings == null)
     {
         throw new ArgumentNullException("sessionSettings");
     }
     this.domainController            = null;
     this.consistencyMode             = consistencyMode;
     this.lcid                        = CultureInfo.CurrentCulture.LCID;
     this.useGlobalCatalog            = false;
     this.enforceDefaultScope         = true;
     this.useConfigNC                 = useConfigNC;
     this.readOnly                    = readOnly;
     this.networkCredential           = networkCredential;
     this.sessionSettings             = sessionSettings;
     this.enforceContainerizedScoping = false;
     this.configScope                 = sessionSettings.ConfigScopes;
     if (sessionSettings.CurrentOrganizationId != null)
     {
         this.tenantId = (sessionSettings.CurrentOrganizationId.OrganizationalUnit ?? sessionSettings.CurrentOrganizationId.ConfigurationUnit);
     }
     if (this.tenantId == null)
     {
         this.tenantId = sessionSettings.RootOrgId;
     }
     this.tenantId = this.ExtractTenantId(this.tenantId);
 }
예제 #5
0
        public async Task TryDeleteStateAsync_ValidateOptions(
            ConsistencyMode consistencyMode,
            ConcurrencyMode concurrencyMode,
            StateConsistency expectedConsistency,
            StateConcurrency expectedConcurrency)
        {
            // Configure Client
            var httpClient = new TestHttpClient();
            var daprClient = new DaprClientBuilder()
                             .UseGrpcChannelOptions(new GrpcChannelOptions {
                HttpClient = httpClient
            })
                             .Build();

            var stateOptions = new StateOptions
            {
                Concurrency = concurrencyMode,
                Consistency = consistencyMode
            };

            var task = daprClient.TryDeleteStateAsync("testStore", "test", "Test_Etag", stateOptions);

            // Get Request and validate
            httpClient.Requests.TryDequeue(out var entry).Should().BeTrue();
            var request = await GrpcUtils.GetRequestFromRequestMessageAsync <Autogenerated.DeleteStateRequest>(entry.Request);

            request.StoreName.Should().Be("testStore");
            request.Key.Should().Be("test");
            request.Etag.Should().Be("Test_Etag");
            request.Options.Concurrency.Should().Be(expectedConcurrency);
            request.Options.Consistency.Should().Be(expectedConsistency);
        }
        // Token: 0x0600061C RID: 1564 RVA: 0x00021254 File Offset: 0x0001F454
        public override ITenantConfigurationSession CreateTenantConfigurationSession(ConsistencyMode consistencyMode, ADSessionSettings sessionSettings, int callerFileLine, string memberName, string callerFilePath)
        {
            ADTenantConfigurationSession adtenantConfigurationSession = new ADTenantConfigurationSession(consistencyMode, sessionSettings);

            adtenantConfigurationSession.SetCallerInfo(callerFilePath, memberName, callerFileLine);
            return(adtenantConfigurationSession);
        }
        // Token: 0x060008A2 RID: 2210 RVA: 0x00026FFC File Offset: 0x000251FC
        public override ITenantConfigurationSession CreateTenantConfigurationSession(ConsistencyMode consistencyMode, Guid externalDirectoryOrganizationId, int callerFileLine, string memberName, string callerFilePath)
        {
            CacheDirectorySession cacheDirectorySession = new CacheDirectorySession(ADSessionSettings.SessionSettingsFactory.Default.FromExternalDirectoryOrganizationId(externalDirectoryOrganizationId));

            cacheDirectorySession.SetCallerInfo(callerFilePath, memberName, callerFileLine);
            return(cacheDirectorySession);
        }
 private static IDirectorySession GetDirectorySession(ConsistencyMode consistencyMode, bool useRecipientSession, ADSessionSettings sessionSettings)
 {
     if (useRecipientSession)
     {
         return(DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(true, consistencyMode, sessionSettings, 612, "GetDirectorySession", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\PartitionDataAggregator.cs"));
     }
     return(DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(true, consistencyMode, sessionSettings, 618, "GetDirectorySession", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\PartitionDataAggregator.cs"));
 }
예제 #9
0
 public MapiSession(string serverExchangeLegacyDn, Fqdn serverFqdn, ConsistencyMode consistencyMode)
 {
     this.serverName             = serverFqdn.ToString().ToLowerInvariant();
     this.serverExchangeLegacyDn = serverExchangeLegacyDn.ToLowerInvariant();
     this.consistencyMode        = consistencyMode;
     this.disposeTracker         = this.GetDisposeTracker();
     this.disposed = false;
 }
        public override ITenantConfigurationSession CreateTenantConfigurationSession(ConsistencyMode consistencyMode, Guid externalDirectoryOrganizationId, int callerFileLine, string memberName, string callerFilePath)
        {
            ADSessionSettings adsessionSettings = ADSessionSettings.FromExternalDirectoryOrganizationId(externalDirectoryOrganizationId);

            if (adsessionSettings == null)
            {
                return(null);
            }
            return(new CompositeTenantConfigurationSession(DirectorySessionFactory.CacheSessionFactory.CreateTenantConfigurationSession(consistencyMode, adsessionSettings, callerFileLine, memberName, callerFilePath), DirectorySessionFactory.NonCacheSessionFactory.CreateTenantConfigurationSession(consistencyMode, adsessionSettings, callerFileLine, memberName, callerFilePath), false));
        }
예제 #11
0
        public async Task TrySaveStateAsync_ValidateOptions(
            ConsistencyMode consistencyMode,
            ConcurrencyMode concurrencyMode,
            StateConsistency expectedConsistency,
            StateConcurrency expectedConcurrency)
        {
            // Configure Client
            var httpClient = new TestHttpClient();
            var daprClient = new DaprClientBuilder()
                             .UseGrpcChannelOptions(new GrpcChannelOptions {
                HttpClient = httpClient
            })
                             .Build();

            var widget = new Widget()
            {
                Size = "small", Color = "yellow",
            };
            var stateOptions = new StateOptions
            {
                Concurrency = concurrencyMode,
                Consistency = consistencyMode
            };

            var metadata = new Dictionary <string, string>
            {
                { "key1", "value1" },
                { "key2", "value2" }
            };
            var task = daprClient.TrySaveStateAsync("testStore", "test", widget, "Test_Etag", stateOptions, metadata);

            // Get Request and validate
            httpClient.Requests.TryDequeue(out var entry).Should().BeTrue();
            var request = await GrpcUtils.GetRequestFromRequestMessageAsync <Autogenerated.SaveStateRequest>(entry.Request);

            request.StoreName.Should().Be("testStore");
            request.States.Count.Should().Be(1);
            var state = request.States[0];

            state.Key.Should().Be("test");
            state.Etag.Should().Be("Test_Etag");
            state.Metadata.Count.Should().Be(2);
            state.Metadata.Keys.Contains("key1").Should().BeTrue();
            state.Metadata.Keys.Contains("key2").Should().BeTrue();
            state.Metadata["key1"].Should().Be("value1");
            state.Metadata["key2"].Should().Be("value2");
            state.Options.Concurrency.Should().Be(expectedConcurrency);
            state.Options.Consistency.Should().Be(expectedConsistency);

            var stateJson        = state.Value.ToStringUtf8();
            var stateFromRequest = JsonSerializer.Deserialize <Widget>(stateJson);

            stateFromRequest.Size.Should().Be(widget.Size);
            stateFromRequest.Color.Should().Be(widget.Color);
        }
 public ADTenantConfigurationSession(string domainController, bool readOnly, ConsistencyMode consistencyMode, NetworkCredential networkCredential, ADSessionSettings sessionSettings, ConfigScopes configScope) : this(domainController, readOnly, consistencyMode, networkCredential, sessionSettings)
 {
     if (ConfigScopes.TenantSubTree != configScope)
     {
         throw new NotSupportedException("Only ConfigScopes.TenantSubTree is supported by this constructor");
     }
     if (ConfigScopes.TenantSubTree == configScope)
     {
         base.ConfigScope = configScope;
     }
 }
예제 #13
0
        public async Task SaveStateAsync_ValidateOptions(
            ConsistencyMode consistencyMode,
            ConcurrencyMode concurrencyMode,
            StateConsistency expectedConsistency,
            StateConcurrency expectedConcurrency)
        {
            await using var client = TestClient.CreateForDaprClient();

            var widget = new Widget()
            {
                Size = "small", Color = "yellow",
            };
            var stateOptions = new StateOptions
            {
                Concurrency = concurrencyMode,
                Consistency = consistencyMode
            };

            var metadata = new Dictionary <string, string>
            {
                { "key1", "value1" },
                { "key2", "value2" }
            };

            var request = await client.CaptureGrpcRequestAsync(async daprClient =>
            {
                await daprClient.SaveStateAsync("testStore", "test", widget, stateOptions, metadata);
            });

            request.Dismiss();

            // Get Request and validate
            var envelope = await request.GetRequestEnvelopeAsync <Autogenerated.SaveStateRequest>();

            envelope.StoreName.Should().Be("testStore");
            envelope.States.Count.Should().Be(1);
            var state = envelope.States[0];

            state.Key.Should().Be("test");
            state.Metadata.Count.Should().Be(2);
            state.Metadata.Keys.Contains("key1").Should().BeTrue();
            state.Metadata.Keys.Contains("key2").Should().BeTrue();
            state.Metadata["key1"].Should().Be("value1");
            state.Metadata["key2"].Should().Be("value2");
            state.Options.Concurrency.Should().Be(expectedConcurrency);
            state.Options.Consistency.Should().Be(expectedConsistency);

            var stateJson        = state.Value.ToStringUtf8();
            var stateFromRequest = JsonSerializer.Deserialize <Widget>(stateJson, client.InnerClient.JsonSerializerOptions);

            stateFromRequest.Size.Should().Be(widget.Size);
            stateFromRequest.Color.Should().Be(widget.Color);
        }
        protected void Initialize(ConsistencyMode adConsistencyMode)
        {
            ITopologyConfigurationSession topologyConfigurationSession = DirectorySessionFactory.Default.CreateTopologyConfigurationSession(adConsistencyMode, ADSessionSettings.FromRootOrgScopeSet(), 92, "Initialize", "f:\\15.00.1497\\sources\\dev\\cluster\\src\\Replay\\Service\\NoncachingReplayAdObjectLookup.cs");

            this.AdSession = topologyConfigurationSession;
            IADToplogyConfigurationSession adSession = ADSessionFactory.CreateWrapper(topologyConfigurationSession);

            this.DagLookup        = new SimpleAdObjectLookup <IADDatabaseAvailabilityGroup>(adSession);
            this.DatabaseLookup   = new SimpleAdObjectLookup <IADDatabase>(adSession);
            this.ServerLookup     = new SimpleAdObjectLookup <IADServer>(adSession);
            this.MiniServerLookup = new SimpleMiniServerLookup(adSession);
        }
예제 #15
0
        // Token: 0x06001E72 RID: 7794 RVA: 0x0008A730 File Offset: 0x00088930
        protected void Initialize(ConsistencyMode adConsistencyMode)
        {
            ITopologyConfigurationSession  topologyConfigurationSession = DirectorySessionFactory.Default.CreateTopologyConfigurationSession(adConsistencyMode, ADSessionSettings.FromRootOrgScopeSet(), 101, "Initialize", "f:\\15.00.1497\\sources\\dev\\cluster\\src\\Replay\\Service\\ReplayAdObjectLookup.cs");
            IADToplogyConfigurationSession adSession = ADSessionFactory.CreateWrapper(topologyConfigurationSession);
            TimeSpan timeToLive         = TimeSpan.FromSeconds((double)RegistryParameters.AdObjectCacheHitTtlInSec);
            TimeSpan timeToNegativeLive = TimeSpan.FromSeconds((double)RegistryParameters.AdObjectCacheMissTtlInSec);

            this.AdSession        = topologyConfigurationSession;
            this.DagLookup        = new AdObjectLookupCache <IADDatabaseAvailabilityGroup>(adSession, timeToLive, timeToNegativeLive);
            this.DatabaseLookup   = new AdObjectLookupCache <IADDatabase>(adSession, timeToLive, timeToNegativeLive);
            this.ServerLookup     = new AdObjectLookupCache <IADServer>(adSession, timeToLive, timeToNegativeLive);
            this.MiniServerLookup = new MiniServerLookupCache(adSession, timeToLive, timeToNegativeLive);
        }
        /// <summary>
        /// Execute operation async
        /// </summary>
        /// <param name="operation">Table operation</param>
        /// <param name="consistencyMode">Consistency mode</param>
        /// <returns>Operation result</returns>
        public async Task <Result> ExecuteOperationAsync(Operation operation, ConsistencyMode consistencyMode)
        {
            if (operation.Table.StorageMode == StorageMode.PersistentOnly)
            {
                return(await this.persistentStore.ExecuteOperationAsync(operation));
            }

            if (operation.Table.StorageMode == StorageMode.CacheOnly)
            {
                this.SetupCacheEntityETag(operation);
                return(await this.cache.ExecuteOperationAsync(operation));
            }

            return(await this.ExecuteStrongConsistentOperationAsync(operation));
        }
예제 #17
0
        private bool HasCount(ref int count)
        {
            IContext context = interceptable.GetInterceptor().Context;

            PropertyStatus propStatus = context.ObjectManager.GetPropertyStatus(interceptable, propertyName);

            if (propStatus != PropertyStatus.NotLoaded)
            {
                return(false);
            }

            IInverseHelper inverseHelper = interceptable as IInverseHelper;

            if (inverseHelper == null)
            {
                return(false);
            }

            ITransaction tx = null;

            ConsistencyMode readConsistency = context.ReadConsistency;

            if (readConsistency == ConsistencyMode.Pessimistic)
            {
                IClassMap  classMap  = context.DomainMap.MustGetClassMap(interceptable.GetType());
                ISourceMap sourceMap = classMap.GetSourceMap();
                if (sourceMap != null)
                {
                    if (sourceMap.PersistenceType.Equals(PersistenceType.ObjectRelational) || sourceMap.PersistenceType.Equals(PersistenceType.Default))
                    {
                        tx = context.GetTransaction(context.GetDataSource(sourceMap).GetConnection());
                        if (tx == null)
                        {
                            return(false);
                        }
                    }
                }
            }

            if (inverseHelper.HasCount(propertyName, tx))
            {
                count = inverseHelper.GetCount(propertyName, tx);
                return(true);
            }

            return(false);
        }
 // Token: 0x060000D7 RID: 215 RVA: 0x000047CC File Offset: 0x000029CC
 protected DirectorySessionBase(bool useConfigNC, bool readOnly, ConsistencyMode consistencyMode, NetworkCredential networkCredential, ADSessionSettings sessionSettings)
 {
     if (sessionSettings == null)
     {
         throw new ArgumentNullException("sessionSettings");
     }
     this.domainController            = null;
     this.consistencyMode             = consistencyMode;
     this.lcid                        = CultureInfo.CurrentCulture.LCID;
     this.useGlobalCatalog            = false;
     this.enforceDefaultScope         = true;
     this.useConfigNC                 = useConfigNC;
     this.readOnly                    = readOnly;
     this.networkCredential           = networkCredential;
     this.sessionSettings             = sessionSettings;
     this.enforceContainerizedScoping = false;
     this.configScope                 = sessionSettings.ConfigScopes;
 }
예제 #19
0
        public async Task TryDeleteStateAsync_ValidateOptions(
            ConsistencyMode consistencyMode,
            ConcurrencyMode concurrencyMode,
            RetryMode retryMode,
            StateConsistency expectedConsistency,
            StateConcurrency expectedConcurrency,
            RetryPattern expectedRetryMode)
        {
            // Configure Client
            var httpClient = new TestHttpClient();
            var daprClient = new DaprClientBuilder()
                             .UseGrpcChannelOptions(new GrpcChannelOptions {
                HttpClient = httpClient
            })
                             .Build();

            var stateOptions = new StateOptions
            {
                Concurrency  = concurrencyMode,
                Consistency  = consistencyMode,
                RetryOptions = new RetryOptions
                {
                    RetryInterval  = TimeSpan.FromSeconds(5),
                    RetryMode      = retryMode,
                    RetryThreshold = 10
                }
            };

            var task = daprClient.TryDeleteStateAsync("testStore", "test", "Test_Etag", stateOptions);

            // Get Request and validate
            httpClient.Requests.TryDequeue(out var entry).Should().BeTrue();
            var request = await GrpcUtils.GetRequestFromRequestMessageAsync <Autogenerated.DeleteStateRequest>(entry.Request);

            request.StoreName.Should().Be("testStore");
            request.Key.Should().Be("test");
            request.Etag.Should().Be("Test_Etag");
            request.Options.Concurrency.Should().Be(expectedConcurrency);
            request.Options.Consistency.Should().Be(expectedConsistency);
            request.Options.RetryPolicy.Pattern.Should().Be(expectedRetryMode);
            request.Options.RetryPolicy.Threshold.Should().Be(10);
            request.Options.RetryPolicy.Interval.Seconds.Should().Be(5);
        }
예제 #20
0
        public async Task GetStateAsync_ValidateRequest(ConsistencyMode consistencyMode, StateConsistency expectedConsistencyMode)
        {
            await using var client = TestClient.CreateForDaprClient();

            var request = await client.CaptureGrpcRequestAsync(async daprClient =>
            {
                return await daprClient.GetStateAsync<Widget>("testStore", "test", consistencyMode);
            });

            // Get Request & Validate
            var envelope = await request.GetRequestEnvelopeAsync<Autogenerated.GetStateRequest>();
            envelope.StoreName.Should().Be("testStore");
            envelope.Key.Should().Be("test");
            envelope.Consistency.Should().Be(expectedConsistencyMode);

            // Create Response & Respond
            var state = await request.CompleteWithMessageAsync(MakeGetStateResponse<Widget>(null));

            // Get response and validate
            state.Should().BeNull();
        }
        internal IConfigurationSession CreateTenantSession(OrganizationId orgId, bool isReadonly, ConsistencyMode consistencyMode)
        {
            ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(base.RootOrgContainerId, orgId, base.ExecutingUserOrganizationId, false);

            return(DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(base.DomainController, isReadonly, consistencyMode, sessionSettings, 221, "CreateTenantSession", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\Deployment\\ManageOrganizationUpgradeTaskBase.cs"));
        }
 public override IRootOrganizationRecipientSession CreateRootOrgRecipientSession(string domainController, ADObjectId searchRoot, int lcid, bool readOnly, ConsistencyMode consistencyMode, NetworkCredential networkCredential, ADSessionSettings sessionSettings, int callerFileLine, string memberName, string callerFilePath)
 {
     return(DirectorySessionFactory.NonCacheSessionFactory.CreateRootOrgRecipientSession(domainController, searchRoot, lcid, readOnly, consistencyMode, networkCredential, sessionSettings, callerFileLine, memberName, callerFilePath));
 }
 public override ITenantConfigurationSession CreateTenantConfigurationSession(ConsistencyMode consistencyMode, ADSessionSettings sessionSettings, int callerFileLine, string memberName, string callerFilePath)
 {
     return(new CompositeTenantConfigurationSession(DirectorySessionFactory.CacheSessionFactory.CreateTenantConfigurationSession(consistencyMode, sessionSettings, callerFileLine, memberName, callerFilePath), DirectorySessionFactory.NonCacheSessionFactory.CreateTenantConfigurationSession(consistencyMode, sessionSettings, callerFileLine, memberName, callerFilePath), false));
 }
        public override ITenantRecipientSession CreateTenantRecipientSession(string domainController, ADObjectId searchRoot, int lcid, bool readOnly, ConsistencyMode consistencyMode, NetworkCredential networkCredential, ADSessionSettings sessionSettings, ConfigScopes configScopes, int callerFileLine, string memberName, string callerFilePath)
        {
            bool cacheSessionForDeletingOnly = true;

            if (networkCredential == null && string.IsNullOrEmpty(domainController))
            {
                cacheSessionForDeletingOnly = false;
            }
            return(new CompositeTenantRecipientSession(DirectorySessionFactory.CacheSessionFactory.CreateTenantRecipientSession(domainController, searchRoot, lcid, readOnly, consistencyMode, networkCredential, sessionSettings, configScopes, callerFileLine, memberName, callerFilePath), DirectorySessionFactory.NonCacheSessionFactory.CreateTenantRecipientSession(domainController, searchRoot, lcid, readOnly, consistencyMode, networkCredential, sessionSettings, configScopes, callerFileLine, memberName, callerFilePath), cacheSessionForDeletingOnly));
        }
 public override ITopologyConfigurationSession CreateTopologyConfigurationSession(string domainController, bool readOnly, ConsistencyMode consistencyMode, NetworkCredential networkCredential, ADSessionSettings sessionSettings, ConfigScopes configScope, int callerFileLine, string memberName, string callerFilePath)
 {
     return(DirectorySessionFactory.NonCacheSessionFactory.CreateTopologyConfigurationSession(domainController, readOnly, consistencyMode, networkCredential, sessionSettings, configScope, callerFileLine, memberName, callerFilePath));
 }
 public override ITopologyConfigurationSession CreateTopologyConfigurationSession(bool readOnly, ConsistencyMode consistencyMode, ADSessionSettings sessionSettings, int callerFileLine, string memberName, string callerFilePath)
 {
     return(DirectorySessionFactory.NonCacheSessionFactory.CreateTopologyConfigurationSession(readOnly, consistencyMode, sessionSettings, callerFileLine, memberName, callerFilePath));
 }
        // Token: 0x0600061F RID: 1567 RVA: 0x000212C4 File Offset: 0x0001F4C4
        public override ITenantConfigurationSession CreateTenantConfigurationSession(string domainController, bool readOnly, ConsistencyMode consistencyMode, NetworkCredential networkCredential, ADSessionSettings sessionSettings, ConfigScopes configScope, int callerFileLine, string memberName, string callerFilePath)
        {
            ADTenantConfigurationSession adtenantConfigurationSession = new ADTenantConfigurationSession(domainController, readOnly, consistencyMode, networkCredential, sessionSettings, configScope);

            adtenantConfigurationSession.SetCallerInfo(callerFilePath, memberName, callerFileLine);
            return(adtenantConfigurationSession);
        }
        // Token: 0x06000622 RID: 1570 RVA: 0x0002133C File Offset: 0x0001F53C
        public override ITopologyConfigurationSession CreateTopologyConfigurationSession(bool readOnly, ConsistencyMode consistencyMode, ADSessionSettings sessionSettings, int callerFileLine, string memberName, string callerFilePath)
        {
            ADTopologyConfigurationSession adtopologyConfigurationSession = new ADTopologyConfigurationSession(readOnly, consistencyMode, sessionSettings);

            adtopologyConfigurationSession.SetCallerInfo(callerFilePath, memberName, callerFileLine);
            return(adtopologyConfigurationSession);
        }
        // Token: 0x06000628 RID: 1576 RVA: 0x00021480 File Offset: 0x0001F680
        public override IRootOrganizationRecipientSession CreateRootOrgRecipientSession(string domainController, ADObjectId searchRoot, int lcid, bool readOnly, ConsistencyMode consistencyMode, NetworkCredential networkCredential, ADSessionSettings sessionSettings, int callerFileLine, string memberName, string callerFilePath)
        {
            ADRootOrganizationRecipientSession adrootOrganizationRecipientSession = new ADRootOrganizationRecipientSession(domainController, searchRoot, lcid, readOnly, consistencyMode, networkCredential, sessionSettings);

            adrootOrganizationRecipientSession.SetCallerInfo(callerFilePath, memberName, callerFileLine);
            return(adrootOrganizationRecipientSession);
        }
        // Token: 0x06000626 RID: 1574 RVA: 0x00021400 File Offset: 0x0001F600
        public override ITenantRecipientSession CreateTenantRecipientSession(string domainController, ADObjectId searchRoot, int lcid, bool readOnly, ConsistencyMode consistencyMode, NetworkCredential networkCredential, ADSessionSettings sessionSettings, ConfigScopes configScope, int callerFileLine, string memberName, string callerFilePath)
        {
            DirectorySessionBase directorySessionBase = ADSessionFactory.UseAggregateSession(sessionSettings) ? new AggregateTenantRecipientSession(domainController, searchRoot, lcid, readOnly, consistencyMode, networkCredential, sessionSettings, configScope) : new ADTenantRecipientSession(domainController, searchRoot, lcid, readOnly, consistencyMode, networkCredential, sessionSettings, configScope);

            directorySessionBase.SetCallerInfo(callerFilePath, memberName, callerFileLine);
            return((ITenantRecipientSession)directorySessionBase);
        }