如何在单个Web应用程序上将我的解决方案扩展到多个域

时间:2014-07-02 14:04:46

标签: asp.net asp.net-mvc iis azure

我有点迷失在这里。我开始为一个希望将SaaS解决方案作为小型门户网站的客户开展项目。

我的想法是制作网络解决方案,例如在线名片,每个客户都应拥有自己的域名:

  • www.carpenter.com
  • www.painter.com
  • www.masonry.com

等。这些域中的每一个都应该指向我的Web应用程序,每个域都有自己的管理网站和在线名片。这意味着,如果我去:www.carpenter.com我应该看到该公司的在线名片。在网址:www.carpenter.com/admin,木匠公司应该能够登录并编辑其信息。

我希望这是有道理的。

我在看的是在实践中如何做到这一点,我希望有一个中央数据库和一个更新我的软件的中心位置(可能每个国家一个)。我需要做些什么才能将www.carpenter.com域名/网址指向我自己的网络应用中的特定区域。我如何构建我的Web应用程序来执行此操作?

我正在使用ASP.NET MVC,但这应该是一个普遍的问题,无论语言 - 还是?

我考虑使用Azure等云服务,这可以通过此设置实现吗?或者我需要一个我自己拥有的虚拟托管服务器?

我想主要的问题是“如何在同一软件上托管多个域” - 并保持“名片”和管理员的显示与每个客户分开?

1 个答案:

答案 0 :(得分:0)

不确定这是否具体回答了您的问题,而且到目前为止我的经验还没有使用ASP,但我认为一般的想法是您在引导过程的早期确定Web应用程序的执行环境,然后设置常量和那时的配置选项。然后,您可以在整个应用程序中使用这些值,根据您正在使用的站点(即地毯,砖石等)自定义响应。而且,由于您在引导过程中唯一的差异化信息是所请求站点的域名和URL,我认为通常接受的方法是打开域名。因此,您可以根据域名为不同站点存储不同的配置,然后在引导过程中加载这些配置。例如,如果您的木工站点和砌体站点具有不同的站点模板,则可以将模板的路径存储为配置选项之一。 HTH