Проблемы с виртуальным путем - PullRequest
0 голосов
/ 15 февраля 2019

В настоящее время я пытаюсь автоматически создать несколько приложений на одном веб-сайте 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 заставить приложение думать, что оно работает в корневом пути?

Заранее спасибо.

...