يمكنك بسهولة إدخال تطبيقات ملموسة مختلفة للخدمات وقيم التكوين المختلفة لكل مستأجر.
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/ValuesWithDependeency
http://localhost:5000/SZ/api/ValuesWithDependeency
http://localhost:5000/XX/api/ValuesWithOptions
http://localhost:5000/SZ/api/ValuesWithOptions
لاحظ النواتج المختلفة لكل مستأجر.
في مشروع ASP.NET الخاص بك، اعتمد على حزمة Multitenancy:
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
الخاص بك، يجب عليك تغيير تسجيل Mvc في طريقة ConfigureServices
من
services . AddMvcCore ( ) ;
ل
services . AddMvcCore ( o => { o . UseTenantRoutePrefix ( ) ; } )
يمكنك تغيير الاسم الافتراضي لـ tenantId
عن طريق استدعاء UseTenantRoutePrefix()
بالاسم المطلوب: UseTenantRoutePrefix("tenantIdentifier")
.