【问题标题】:Subdomain routing in ASP.NET 5ASP.NET 5 中的子域路由
【发布时间】:2016-03-23 07:35:27
【问题描述】:

我正在尝试让子域路由在我的 ASP.NET 5 应用程序中工作。

我基本上想将http://api.example.com 映射到我的应用程序中的特定控制器,http://map.example.com 映射到不同的控制器等。

我查看了有关此的各种文章,但它们都已过时,并且不适用于最新版本的 ASP.NET 框架。

official documentation 缺少有关路由的信息。尝试使用测试版产品可能是我自己的错!

期待听到一些关于如何使其发挥作用的想法。

【问题讨论】:

  • 也许你可以写一个middleware来重写路径
  • 你有这个问题的答案吗?请分享。
  • @aguafrommars 如何使用中间件实现这一目标?
  • @apero 类似于重写路径 api.example.com 可以变成 example.com/api 并且您可以使用基于控制器名称的默认路由系统

标签: asp.net asp.net-mvc asp.net-web-api asp.net-core


【解决方案1】:

如果我正确理解您的意图,ASP.NET 路由不是正确的方法。

如果这是针对 5.0 之前的 ASP.NET 版本,我建议您在请求在 Application_BeginRequest() 中路由之前拦截请求,并检查 HTTP_HOST 请求标头值以确定用户想要访问的站点。

我看到 vNext 的应用程序流程发生了重大变化。但是,我从 github 上的 ASP.NET MVC 6 源代码中发现了这个示例,该示例基于请求中的“用户”标头创建自定义路由: https://github.com/aspnet/Mvc/tree/dev/samples/CustomRouteSample.Web 如果您改用“HTTP_HOST”标头,我相信这可能是您的问题的类似解决方案的起始模板。

祝你好运,如果您能够实施可行的解决方案,请告诉我们。

【讨论】:

  • ASP.NET 5 没有Application_BeginRequest 事件。
  • 确实没有,我没注意版本细节。我正在相应地更新我的答案。
猜你喜欢
  • 2015-03-27
  • 2018-05-31
  • 2015-09-10
  • 2016-12-01
  • 2017-01-15
  • 2021-12-29
  • 2015-10-01
  • 1970-01-01
  • 2010-10-27
相关资源
最近更新 更多