يمكنك بسهولة إدخال تطبيقات ملموسة مختلفة للخدمات وقيم التكوين المختلفة لكل مستأجر.
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") .