【问题标题】:How to serve multiple domains with a single ASP.NET MVC application?如何使用单个 ASP.NET MVC 应用程序为多个域提供服务?
【发布时间】:2018-02-22 15:37:47
【问题描述】:

如何实现一种机制(在单个 ASP.NET MVC 应用程序中)以确保:

  • 如果请求来自 mydomain(用户访问 mydomain.com)-> 使用某些控制器集进行处理
  • 如果请求来自 otherdomain(用户访问 otherdomain.com)-> 使用不同的控制器集进行处理

(域别名为同一个虚拟主机)

我应该使用 ASP.NET MVC 中的哪些扩展点来确保所描述的机制有效?

【问题讨论】:

  • 如果您有 2 个不同的域和两组控制器,为什么要将所有内容放在一个应用程序中?
  • 目前,原因是因为整个东西都托管在共享主机上 - 如果我有自己的专用服务器,我当然会把它放到两个应用程序中:) 其他网站也应该被创建并且几乎是自动维护的。
  • 你最后做了什么?我希望你设法申请了两个申请。从长远来看,听起来要便宜得多!

标签: asp.net-mvc dns multi-tenant


【解决方案1】:

我认为您可以实现一个 IRouteConstraint 后代,它分析当前的 HttpContext 并根据请求的域匹配(或不匹配)路由。然后在你的 Global.asax 文件中有两个不同的默认路由,每个都有不同的约束。

我仍然更喜欢两个应用程序,但这当然是您的选择。

【讨论】:

  • 谢谢,我想这就是我一直在寻找的。我也更喜欢两个应用程序,但这不是我的决定:)
【解决方案2】:

为什么不在一个 DLL 中设置 2 个共享公共代码的 Web 应用程序?每个 Web 应用程序都是标准的 MVC 应用程序。

【讨论】:

  • 应用程序之间没有可共享的公共代码 - 重点是在部署在共享 Web 主机上的单个 ASP.NET MVC“容器”中为多个应用程序提供服务
猜你喜欢
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
  • 2012-09-01
  • 1970-01-01
  • 2020-05-30
  • 1970-01-01
  • 2018-01-27
  • 1970-01-01
相关资源
最近更新 更多