【发布时间】:2011-04-28 05:25:24
【问题描述】:
背景故事
我目前正在更新现有的 Web 应用程序以支持多租户环境。今天,我们目前在http://www.example.com/MyApp 上托管了一个应用程序,但现在我们必须能够在同一个 Web 应用程序上支持多个客户端。
所以每个客户端都应该能够通过以下网址访问应用程序:
http://www.example.com/MyApp/Client1
http://www.example.com/MyApp/Client2
Web 应用程序是一个 ASP.NET Webforms 应用程序,我们也在升级以使用 .NET 4。我已经实现了 ASP.NET 4 中可用的新路由,并且我已经放置了适当的路由以支持多租户架构。
示例 URL http://www.example.com/MyApp/Client1/SomeModule/SomePage.aspx 将路由到并执行 /MyApp/SomeModule/SomePage.aspx,我可以从 RouteData 中访问客户端部分。
但是……
主要问题:
我们在应用程序的许多部分都有使用 url 的链接,例如 ~/SomeModule/SomePage.aspx,所以当它们呈现给浏览器时,它们仍然会显示 /MyApp/SomeModule/SomePage.aspx,但我真正想要的是让它包含我要注入的路由值之一像MyApp/Client1/SomeModule/SomePage.aspsx这样的客户页面
有没有办法在我的整个应用程序中覆盖 ~/ 的含义,而无需遍历整个应用程序并更新链接?
【问题讨论】:
-
在使用路由或 url-rewriting 时这是一个有趣且相关的问题。
-
@Wallace Breza 你完成了上述任务吗如果是的话你能分享我这些想法吗
标签: c# asp.net routing asp.net-4.0