damienbod / AspNetCoreLocalization

Localization.SqlLocalizer & ASP.NET Core MVC Localization Examples
http://damienbod.com/2015/10/21/asp-net-5-mvc-6-localization/
MIT License
251 stars 101 forks source link

Support for Multi-tenancy ? #48

Open abentabet opened 6 years ago

abentabet commented 6 years ago

Hello there ! Is there any plans to support database-per-tenant for LocalizationModelContext ?

Thanks in advance !

damienbod commented 6 years ago

@abentabet Haven't really thought about this. What would be useful?

Greetings Damien

mkgn commented 3 years ago

Hello,

My question is also along the same line. However I want some insight so I can try to modify your code to do this. Let me brief my setup. I am trying to keep it simple and only considering storing strings (no localized icons, images etc.)

1) Each tenant has it's own database and each tenant can customize their resource strings. So there will be a table for localizeddata in each tenant database.

2) Tenant identification is happening via the url pattern. example :- tenant1.domain.com , tenant2.domain.com. So the app will identitify tenant1/tenant2 and then load the correct connection string to work with the correct database for that tenant. For multitenancy i am using https://github.com/Finbuckle/Finbuckle.MultiTenant

3) So our localization setup should be able to load resources from the connection string based on the tenant that is logged in (identified via subdomain).

What I don't get is how to customize the resource manager to use the connection string dynamically without loading the resources at the beginning. It should load the resources at the very first request (only way to get the tenant connectionstring) and then cache it for each tenant. Ex:- a dictionary object with <key,resource collection> like <tenant1,tenant1resourcecollection>

If you can give me some pointers, I will try to manage it myself.