using Abp.Configuration.Startup; using Abp.MultiTenancy; using Abp.Runtime.Remoting; namespace Abp.Runtime.Session { /// /// Implements null object pattern for . /// public class NullAbpSession : AbpSessionBase { /// /// Singleton instance. /// public static NullAbpSession Instance { get; } = new NullAbpSession(); /// public override long? UserId => null; /// 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(new AsyncLocalAmbientDataContext()) ) { } } }