我目前正在尝试在单个IIS网站中自动创建多个应用程序。 每个应用程序代表开发人员/功能的功能分支。
问题是,遗留应用程序不是真正为在不在根目录上的路径中运行而制作的。因此,应用程序认为(并且必须认为)正在运行的路径必须为“ /”。 为了改变这一点,它将与几乎与url相关的所有内容一起进行重组和重新测试。所以现在,这不是一个选择。
我目前所拥有的:
[Features (Site)]
- [Feature_A (App)]
- [Feature_B (App)]
这导致功能A分别在http://server/Feature_A和功能B下可用。
现在,当请求到达应用程序时,应用程序必须认为调用该请求的URL是“ http://server/”(或路径为“ /”)。
选择正确的应用程序是通过IIS URL-Rewrite模块实现的,效果很好。 我使用Cookie来决定要调用哪个应用,然后将原始的“ /”重写为“ / Feature_A /”
但是现在,当试图消除应用程序中Path的“ / Feature_A”部分时,这似乎是不可能的。
Application.Context.RewritePath(newPath); // throws exeption -> different application
didnt确实可以解决问题,因为新的路径'/'指向不同的应用程序,而RewritePath不喜欢这样。
应用程序内甚至IIS中是否有任何方法可以使应用程序认为它在根路径上运行?
谢谢。