Asp.net mvc 3 ASP.NET MVC多租户应用程序问题
我们目前正在开发一个asp.net mvc3(aspx)多租户网站。我们在web.config中创建了一个租户配置部分,其结构如下:Asp.net mvc 3 ASP.NET MVC多租户应用程序问题,asp.net-mvc-3,dependency-injection,multi-tenant,Asp.net Mvc 3,Dependency Injection,Multi Tenant,我们目前正在开发一个asp.net mvc3(aspx)多租户网站。我们在web.config中创建了一个租户配置部分,其结构如下: <tenants> <tenant name="client1" baseUrl="client1.domain.com"> <settings> <setting name="siteName" value="client 1 site"> </settings> &
<tenants>
<tenant name="client1" baseUrl="client1.domain.com">
<settings>
<setting name="siteName" value="client 1 site">
</settings>
</tenant>
<tenant name="client2" baseUrl="client2.domain.com">
<settings>
<setting name="siteName" value="client 2 site">
</settings>
</tenant>
</tenants>
在我们的代码中,我们或多或少有一个租户生成器,它从我们的ITenant接口创建具体的类
一旦我们能够解决这个问题,每一个租户都能很好地呈现我们的站点。但是我觉得我们做两件事的方式不舒服。另外请注意,在进行依赖项注入时,我们没有使用第三方IOC容器(所有DI现在都是自定义的)
提前感谢。对于第一部分,您可以在操作声明中添加一个额外变量,即:
public ActionResult Index(Itenant tenant)
而不是返回currentTenant.HomeIndex()
return Action("Index", new { tenant = currentTenant});
这将自动工作。(或者您可以跳过新的{tenant..}部分,如果您觉得特别有冒险精神,可以使用自定义模型绑定器!)
第二部分,这实际上是更聪明的方法。如果您希望通过重定向获得自定义安全许可,则必须实现自定义筛选器