gpt4 book ai didi

asp.net-mvc - 在ASP.NET中基于帐户的查找

转载 作者:行者123 更新时间:2023-12-03 07:33:38 24 4
gpt4 key购买 nike

我正在考虑将ASP.NET用于新的SaaS服务,但出于对我的爱,我似乎无法弄清楚如何像大多数SaaS应用程序(例如37Signals)一样基于子域进行帐户查找。

例如,如果我提供yourname.mysite.com,那么我将如何使用ASP.NET(特别是MVC)提取子域,以便加载正确的模板(显示公司名称等)?可以使用常规路由完成吗?

这在SaaS中似乎很常见,因此必须在ASP.NET中有一种简便的方法。我知道有些插件可以为其他框架(如Ruby on Rails)做到这一点。

最佳答案

这对我有用:

    //--------------------------------------------------------------------------------------------------------------------------
public string GetSubDomain()
{
string SubDomain = "";

if (Request.Url.HostNameType == UriHostNameType.Dns)
SubDomain = Regex.Replace(Request.Url.Host, "((.*)(\\..*){2})|(.*)", "$2");
if (SubDomain.Length == 0)
SubDomain = "www";
return SubDomain;
}

我假设您想在同一个Web应用程序中处理多个帐户,而不是使用IIS中的工具来构建单独的站点。在我们的工作中,我们开始为每个子域创建一个新的网站,但是发现这种方法无法很好地扩展-特别是当您发布更新然后必须修改数十个网站时!因此,我确实建议使用这种方法,而不是上面建议的基于服务器的技术,这是基于多年的经验,这些经验正是您所建议的。

上面的代码只是确保这是一个完整的URL(而不是IP地址),并返回子域。在相当大的环境中,它对我们来说效果很好。

关于asp.net-mvc - 在ASP.NET中基于帐户的查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/353486/

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