多租户ASP .NET应用程序中的隔离

Jef*_*eff 13 .net c# asp.net appdomain multi-tenant

我正在构建一个多租户ASP .NET应用程序.鉴于每个租户可以动态配置他们的应用程序(可能涉及将动态自定义程序集加载到内存中),我需要一种隔离每个租户的方法.

出于维护原因,我不希望为每个租户创建一个新的Web应用程序.

我一直在考虑使用AppDomainManager为每个应用程序创建一个AppDomain,但似乎并不打算用于ASP .NET应用程序.

有没有人对这个问题有一些建议?

谢谢.

Dav*_*kle 5

我想问题是:如果你不是在创建一个Web应用程序,那么你真正接受哪种类型的隔离?

如果你真的想要一个OS级保证程序集不会相互踩踏,我会给每个人自己的Web应用程序.如果您允许人们加载第三方程序集,则尤其如此,如果这些第三方程序集可以找到实例化非托管代码的方法,则尤其如此.

如果它是你的所有(托管)代码,我可以看到没有创建一个单独的Web应用程序,但是一旦你将动态自定义程序集放入混合中,我认为这是唯一的方法.