CoreMultitenancy
1.0.0
테넌트별로 다양한 구체적인 서비스 구현과 다양한 구성 값을 쉽게 주입할 수 있습니다.
cd src
dotnet clean && dotnet pack Multitenancy/ && dotnet build && dotnet test ../test/MultitenantAspApp.Tests/MultitenantAspApp.Tests.csproj && dotnet run --project MultitenantAspApp
이제 체크아웃할 수 있습니다
http://localhost:5000/XX/api/ValuesWithDependency
http://localhost:5000/SZ/api/ValuesWithDependency
http://localhost:5000/XX/api/ValuesWithOptions
http://localhost:5000/SZ/api/ValuesWithOptions
테넌트별로 다른 출력을 확인하세요.
ASP.NET 프로젝트에서 다중 테넌트 지원 패키지에 대한 종속성을 가져옵니다.
dotnet add package Multitenancy
모든 종속성을 설정한 후 각 테넌트에 대해 재정의/개별 종속성을 설정합니다.
services . ConfigureTenant ( t =>
{
t . TenantId = "SZ" ;
t . ServiceCollection . AddTransient < IHelloWorldService , SzHelloWorldService > ( ) ;
t . ServiceCollection . Configure < ValuesControllerOptions > ( o =>
{
o . Value1Value = 42 ;
o . Value2Value = "value1_configured_by_delegate_for_SZ" ;
} ) ;
} ) ;
Configure
메서드에 미들웨어 추가
app . UseMultitenancy ( ) ;
경로 접두사를 추가합니다.
string tenantId
매개변수를 컨트롤러 작업에 전달할 수 있으려면 테넌트를 식별하는 경로 접두사를 추가하고 이를 작업 메서드에 전달할 수 있습니다.
이렇게 하려면 Startup.cs
파일에서 ConfigureServices
메서드의 Mvc 등록을 다음과 같이 변경해야 합니다.
services . AddMvcCore ( ) ;
에게
services . AddMvcCore ( o => { o . UseTenantRoutePrefix ( ) ; } )
원하는 이름( UseTenantRoutePrefix("tenantIdentifier")
으로 UseTenantRoutePrefix()
호출하여 tenantId
의 기본 이름을 변경할 수 있습니다.