单个aspnet mvc网站,带有单个数据库,可以提供多个域请求

时间:2012-12-13 11:41:27

标签: asp.net-mvc iis-7 multi-tenant

我有一个ASPNet MVC 4 Web应用程序,并且有一个包含公司明智数据的数据库。我将有多家公司,他们将使用自己的公司域名申请该应用程序。在我的数据库中,我将公司的域名保留在公司的基础上。

除数据外,我的应用程序的所有功能对所有公司都是通用的。由于数据是公司存储的,因此我很容易使用CompanyId获取数据。

我的计划是将我的申请表寄给www.mydomain.com。当公司用户请求他们的域名www.company.com时,它将访问我的应用程序,该应用程序托管为www.mydomain.com。收到请求后,我的应用程序将从Web请求(www.company.com)获取域名,并将从数据库中找到CompanyId,并返回所请求的页面,公司的数据仅由CompanyId过滤。

现在我的问题是 我如何能够将公司的域名(www.company.com)指向www.mydomain.com,以便当用户从www.company.com请求时,它将会访问www.mydomain.com。在这里,我想提一下,该公司的域名(wwww.company.com)完全致力于满足www.mydomain.com的要求。它与任何其他网站没有约束力。我不知道DNS设置,我不确定是否必须更改我的MVC应用程序中的路由。 请详细说明方法,帮助我。

1 个答案:

答案 0 :(得分:0)

我做了一些与你所描述的完全相同的东西,并且我使用了相同的设置。唯一剩下的就是建立DNS。

执行此操作的首选方法是在专用IP地址上安装www.company.com。

然后,在www.mydomain.com上,您将创建一个A记录,指向与www.company.com相同的IP地址

这样,向www.mydomain.com发出的请求将被发送到与www.company.com相同的位置,您可以检查主机头以在数据库中查找companyId。

如果你没有专用的IP地址,你可以使用CNAME,但你只能指向www.mydomain.com的“www”-version而不是“mydomain.com”(没有“WWW”)。