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())
)
{
}
}
}