繁体   English   中英

ASP.NET 多租户应用程序

[英]ASP.NET multi-Tenant Application

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

www.myapplication.com

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

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

  • 此外,客户端子域 ie(clientone.myapplication.com 和 clienttwo.myapplication.com)应该在注册时由客户端自动创建。

我怎样才能做到这一点..您的帮助将不胜感激

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

我终于找到了我想要的解决方案,所以我想我会和你分享我的发现。 原来我需要从另一个正在运行的 Asp.net Web 应用程序创建一个 Web 应用程序(来自 C# 代码)

如果您需要开始使用这个教程,Robbe Morris 的这个教程真的很有帮助。

您可能想查看的另一篇文章是这篇

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

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

然后查看网站中的请求 url 以确定请求的是哪个域。

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

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

常见的情况是,您必须在帐户配置期间为每个新租户配置一个新的虚拟站点。 有关如何以编程方式实现这一点,请参阅创建新的虚拟服务器 有些人认为(有令人信服的论据......)为每个租户启动一个应用程序域是一种资源浪费,应该在应用程序中使用路由来检查 HOST 标头,请参阅多租户 ASP.NET MVC – 简介

配置 IIS/ASP 以响应您的租户子域是简单的部分。 真正的问题是为租户配置 DNS,这取决于您的 DNS 解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM