using Microsoft.AspNetCore.Http; using TakeoutSaaS.Shared.Abstractions.Tenancy; namespace TakeoutSaaS.Shared.Web.Security; /// /// HttpContext 租户扩展方法。 /// public static class TenantHttpContextExtensions { /// /// 获取 HttpContext.Items 中缓存的租户上下文。 /// /// 当前 HttpContext /// 租户上下文,若不存在则返回 null public static TenantContext? GetTenantContext(this HttpContext? context) { if (context == null) { return null; } if (context.Items.TryGetValue(TenantConstants.HttpContextItemKey, out var value) && value is TenantContext tenantContext) { return tenantContext; } return null; } }