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); }
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(); }
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); }
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")); }
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)); }
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; } }
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); }
// 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)); }
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; }
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); }
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); }