| 1234567891011121314151617181920212223242526272829303132333435363738 |
- using Abp.Configuration.Startup;
- using Abp.MultiTenancy;
- using Abp.Runtime.Remoting;
- namespace Abp.Runtime.Session
- {
- /// <summary>
- /// Implements null object pattern for <see cref="IAbpSession"/>.
- /// </summary>
- public class NullAbpSession : AbpSessionBase
- {
- /// <summary>
- /// Singleton instance.
- /// </summary>
- public static NullAbpSession Instance { get; } = new NullAbpSession();
- /// <inheritdoc/>
- public override long? UserId => null;
- /// <inheritdoc/>
- public override int? TenantId => null;
- public override MultiTenancySides MultiTenancySide => MultiTenancySides.Tenant;
- public override long? ImpersonatorUserId => null;
- public override int? ImpersonatorTenantId => null;
- private NullAbpSession()
- : base(
- new MultiTenancyConfig(),
- new DataContextAmbientScopeProvider<SessionOverride>(new AsyncLocalAmbientDataContext())
- )
- {
- }
- }
- }
|