对于Asp.Net软件作为服务应用程序,我想做基于帐户的子域,如Basecamp和其他37Signals产品.例如. acme.myapp.com将为该客户加载该帐户并仅撤回其信息.
这在Ruby on Rails中很容易实现,但是如何在ASP.NET MVC中处理这个功能并且能够扩展到可能数百个帐户?
解决方法
我们用:
public static string GetSubDomain()
{
string subDomain = String.Empty;
if (HttpContext.Current.Request.Url.HostNameType == UriHostNameType.Dns)
{
subDomain = Regex.Replace(HttpContext.Current.Request.Url.Host,"((.*)(\\..*){2})|(.*)","$2");
}
if (subDomain.Length == 0)
{
subDomain = "www";
}
return subDomain.Trim().ToLower();
}
