ASP.NET多租户应用程序

时间:2010-11-04 19:27:00

标签: asp.net multi-tenant

我有一个Asp.net应用程序3.5。我希望能够允许多个/不同的客户端访问相同的应用程序,但使用不同的URL。我已经设法配置数据库以允许这个。  所以这是主要部分。 我想在一个域中托管我的应用程序说...

  

wwww.myapplication.com

然后允许不同的客户端使用

访问同一个应用程序
  

1)www.clientOne.myapplication.com
  2)www.clientTwo.myapplication.com

  • 也是客户端子域名(clientone.myapplication.com和clienttwo.myapplication.com) 应在注册时由客户自行处理。

我怎样才能实现这一点......非常感谢您的帮助

我希望我的应用程序如何工作的一个很好的例子是 www.quickschools.com

4 个答案:

答案 0 :(得分:4)

嗨,大家好我终于找到了我想要的解决方案,所以我想我会与你分享我的发现。事实证明,我需要从另一个运行的Asp.net Web应用程序(来自C#代码)创建一个Web应用程序

如果你需要开始使用

,这个tutorial by Robbe Morris真的很有帮助

您可能想要查看的另一篇文章是this one

感谢您的帮助。

答案 1 :(得分:0)

要使用相同的应用程序使用不同的URL,我会使用“301重定向”子域。我不确定如何让webapp创建这些子域。

答案 2 :(得分:0)

我认为这样做的方法是使网站成为服务器上的默认网站,即配置,以便所有对服务器IP的请求都会访问此网站(除非标题与另一个明确查找它的网站相匹配)。这样做只是在IIS设置上没有指定标题(只有IP地址和端口号) - 您只能在服务器上为每个IP地址/端口组合的一个站点执行此操作。

然后查看网站上的请求网址,以确定请求了哪个域。

这样就无需“创建”子域名......但您确实需要拒绝对您不想识别的域名的所有请求。

如果你不能这样做,那么你需要从应用程序调整IIS元数据库 - 这不是不可能的 - 但这是一个非常冒险且可能是个坏主意。

答案 3 :(得分:0)

常见的情况是,您必须在帐户配置期间为每个新租户配置新的虚拟站点。有关如何以编程方式实现此目的,请参阅Creating a New Virtual Server。有些人认为(有令人信服的论据......)为每个租户启动appdomain是浪费资源,应该在检查HOST头的应用程序中使用路由,请参阅Multi-tenant ASP.NET MVC – Introduction

配置IIS / ASP以响应您的租户子域是一件容易的事。真正的问题是为您的租户配置DNS,这取决于您的DNS解决方案。