В настоящее время я пытаюсь автоматически создать несколько приложений на одном веб-сайте IIS.Каждое приложение представляет собой ветку Feature разработчика / Feature.
Проблема заключается в том, что унаследованное приложение на самом деле не создано для запуска по пути, который не находится в корневом каталоге.Таким образом, путь, по которому приложение думает (и должно думать), в котором оно выполняется, должен быть '/'.Чтобы изменить это, потребуется реструктуризация и повторное тестирование практически всего, что связано с URL-адресами.Так что на данный момент это не вариант.
То, что у меня сейчас есть:
[Features (Site)]
- [Feature_A (App)]
- [Feature_B (App)]
Это приводит к тому, что функция A доступна в http://server/Feature_A и функции B соответственно.
Теперь, когда запрос достигает приложения, приложение должно думать, что URL-адрес, в котором он был вызван, является "http://server/" (или Path is" /").
Выборправильное приложение было достигнуто с помощью модуля IIS URL-Rewrite и работает достаточно хорошо. Я использую cookie-файл, чтобы решить, какое приложение вызывать, а исходный «/» переписывается в «/ Feature_A /»
Но теперьпри попытке исключить часть пути «/ Feature_A» в приложении кажется совершенно невозможным.
Application.Context.RewritePath(newPath); // throws exeption -> different application
действительно не сработало, потому что новый путь «/» указывает на другое приложение,и RewritePath это не нравится.
Есть ли какой-либо способ в приложении или даже в IIS заставить приложение думать, что оно работает в корневом пути?
Заранее спасибо.