|
|
|
|
@ -1,4 +1,7 @@
|
|
|
|
|
using System;
|
|
|
|
|
using JetBrains.Annotations;
|
|
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
using Volo.Abp.MultiTenancy;
|
|
|
|
|
using Volo.ExtensionMethods;
|
|
|
|
|
|
|
|
|
|
@ -6,6 +9,13 @@ namespace Volo.Abp.AspNetCore.MultiTenancy
|
|
|
|
|
{
|
|
|
|
|
public abstract class HttpTenantResolverBase : ITenantResolver
|
|
|
|
|
{
|
|
|
|
|
private readonly ILogger<HttpTenantResolverBase> _logger;
|
|
|
|
|
|
|
|
|
|
protected HttpTenantResolverBase(ILogger<HttpTenantResolverBase> logger)
|
|
|
|
|
{
|
|
|
|
|
_logger = logger;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public virtual void Resolve(ITenantResolveContext context)
|
|
|
|
|
{
|
|
|
|
|
var httpContext = context.GetHttpContext();
|
|
|
|
|
@ -14,7 +24,14 @@ namespace Volo.Abp.AspNetCore.MultiTenancy
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ResolveFromHttpContext(context, httpContext);
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
ResolveFromHttpContext(context, httpContext);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
{
|
|
|
|
|
_logger.LogWarning(e.ToString());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ResolveFromHttpContext(ITenantResolveContext context, HttpContext httpContext)
|
|
|
|
|
@ -26,6 +43,6 @@ namespace Volo.Abp.AspNetCore.MultiTenancy
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected abstract string GetTenantIdOrNameFromHttpContextOrNull(ITenantResolveContext context,HttpContext httpContext);
|
|
|
|
|
protected abstract string GetTenantIdOrNameFromHttpContextOrNull([NotNull] ITenantResolveContext context, [NotNull] HttpContext httpContext);
|
|
|
|
|
}
|
|
|
|
|
}
|