【发布时间】:2015-12-18 11:37:16
【问题描述】:
我有一个被不同公司使用的 ASP.NET MVC 应用程序。应用程序的 URL 如下所示:http://myapp.com/companyA/stuff 或 http://myapp.com/companyB/stuff。我从Application_BeginRequest 中的 URL 获取公司标识符,然后对http://myapp.com/stuff 执行RewritePath。
我的问题是关于 ASP.NET MVC 生成的相对链接。这些链接似乎生成到站点的根目录,而忽略了 URL 中的公司标识符。例如,一旦在http://myapp.com/companyA/stuff,@Url.Action("index", "home") 创建一个指向http://myapp.com/ not http://myapp.com/companyA/ 的链接
有没有办法指示 ASP.NET MVC 在生成相对链接时使用某个baseURL?
谢谢。
【问题讨论】:
-
当您使用 ASP.NET 的 URL 帮助程序时,您无法覆盖生成逻辑,因此您必须提供自己的等效项。
-
我有一个类似的“多租户”应用程序,但我通过使用主机头(以及通配符主机头绑定和通配符 SSL 证书)而不是使用请求来区分公司 -路径组件。
标签: asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing