gpt4 book ai didi

asp.net-mvc - 如何开始使用 Multi-Tenancy MVC 应用程序

转载 作者:行者123 更新时间:2023-12-05 00:42:15 25 4
gpt4 key购买 nike

我搜索了示例并找到了几个,但它们是整个大型项目。我正在寻找一些关于如何开始构建 MVC Multi-Tenancy 应用程序的示例。我认为,第一部分是破译网址。

在 ASP.Net 中,我就是这样做的。我是通过查看 DNN 代码得到的。 我将如何在 MVC 中做同样的事情?

Global.asax

private void Application_BeginRequest(Object source, EventArgs e)
{
HttpApplication application = (HttpApplication)source;
HttpContext context = application.Context;

string domainName = string.Empty;
// domaName now contains 'example' if application.Request was www.example.com
domainName = GetDomainName(application.Request);

// Using domain, get the info for example from the database
object myPortal = // get from database
// Save in context for use on other pages
context.Items.Add("PortalSettings", myPortal);
}

然后在我的 basepage 中,我从上下文中获取值。

最佳答案

我认为更强大的方法是定义自定义路由。在该自定义路由中,您可以提取域并将其放入路由值中。

然后,您可以拥有定义域属性等的基本 Controller (如 Josh 所述),并将该值存储在那里以方便使用(或者只是根据需要提取它;无论哪种方式)。

通过将它像这样预先放入路由值中,您可以在应用程序中沿着请求路径的任何位置使用该信息,而不仅仅是在 Controller 中,因此您可以通过这种方式获得更多的重用。例如,您可以在自定义的类似 Authorize 的过滤器中使用它来处理用户对该域的权限,等等。

关于asp.net-mvc - 如何开始使用 Multi-Tenancy MVC 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2298418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com