ShopPlatform.Web 1.0.0.0
농산물, 소프트웨어 라이선스와 개발 용역을 직접 판매하는 CodeMaru 직영 쇼핑몰입니다.
로딩중...
검색중...
일치하는것 없음
ShopPlatform.Middleware.TenantMiddleware 클래스 참조sealed

더 자세히 ...

Public 멤버 함수

 TenantMiddleware (RequestDelegate next)
async Task InvokeAsync (HttpContext ctx, TenantContext tenantCtx, IShopTenantStore store)

Private 속성

readonly RequestDelegate _next

정적 Private 속성

static readonly HashSet< string > _reserved

상세한 설명

요청 경로에서 {slug} 를 추출해 TenantContext 에 주입. 경로 패턴: /{slug}/... 또는 /{slug} 예약어 ("admin", "healthz", "_blazor", "_framework") 는 테넌트로 처리하지 않음.

TenantMiddleware.cs 파일의 13 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ TenantMiddleware()

ShopPlatform.Middleware.TenantMiddleware.TenantMiddleware ( RequestDelegate next)
inline

지정한 설정으로 TenantMiddleware 클래스의 새 인스턴스를 초기화합니다.

매개변수
nextnext에 사용할 RequestDelegate 값입니다.

TenantMiddleware.cs 파일의 54 번째 라인에서 정의되었습니다.

54=> _next = next;

다음을 참조함 : _next.

멤버 함수 문서화

◆ InvokeAsync()

async Task ShopPlatform.Middleware.TenantMiddleware.InvokeAsync ( HttpContext ctx,
TenantContext tenantCtx,
IShopTenantStore store )
inline

Invoke Async 작업을 수행합니다.

매개변수
ctxctx에 사용할 HttpContext 값입니다.
tenantCtxtenant Ctx에 사용할 TenantContext 값입니다.
storestore에 사용할 IShopTenantStore 값입니다.
반환값
Invoke Async 작업에서 생성한 Task 결과입니다.

TenantMiddleware.cs 파일의 96 번째 라인에서 정의되었습니다.

97 {
98 var path = ctx.Request.Path.Value ?? "/";
99 var segments = path.TrimStart('/').Split('/', 2);
100 var slug = segments[0];
101
102 if (!string.IsNullOrEmpty(slug) && !_reserved.Contains(slug))
103 {
104 var config = await store.GetAsync(slug);
105 if (config != null)
106 tenantCtx.Config = config;
107 }
108
109 await _next(ctx);
110 }
Task< ShopConfig?> GetAsync(string slug)

다음을 참조함 : _next, _reserved, ShopPlatform.Services.IShopTenantStore.GetAsync().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ _next

readonly RequestDelegate ShopPlatform.Middleware.TenantMiddleware._next
private

next 값을 보관합니다.

TenantMiddleware.cs 파일의 36 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : InvokeAsync(), TenantMiddleware().

◆ _reserved

readonly HashSet<string> ShopPlatform.Middleware.TenantMiddleware._reserved
staticprivate
초기값:
= new(StringComparer.OrdinalIgnoreCase)
{
"admin", "healthz", "_blazor", "_framework", "_content", "favicon.ico", "robots.txt", "sitemap.xml"
}

reserved 값을 보관합니다.

TenantMiddleware.cs 파일의 23 번째 라인에서 정의되었습니다.

24 {
25 "admin", "healthz", "_blazor", "_framework", "_content", "favicon.ico", "robots.txt", "sitemap.xml"
26 };

다음에 의해서 참조됨 : InvokeAsync().


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: