I am trying to understand how I can create an ASP.NET MVC site that exists as a VS2010 project in a solution, and then for several tenants I would create a site that inherits from it. This would provide the flexibility of adding modular functions to one without affecting the other, and both could benefit from optimizing the core libraries.
Is this a crazy idea? What patterns exist for this kind of thing? I did something similar for a website (adding DLLS as plugins), but not in MVC.
"Tenant" is a business client. Everyone already has their own MSSQL database and separate processing around them, each client is in his own bunker. Databases are similar to several functions added here and there, they are versioned and deployed separately, the whole process works well. The client has n logins. I want to create a single "base site", which can then be used to provide the function to the tenant, and all actions will be divided for the tenant in one database. Where everything becomes ugly, I can add a new component (for example, a forum) to one tenant's site, without letting the site work for other tenants.
All ideas are appreciated. Thanks.
Snowy source share