У меня проблемы с путями в приложении ASP.NET MVC, которое работает за прокси-сервером.
Наш корневой путь приложения IIS, например, http://server/MyApp/
означает, что все URL-адресаиспользуя корень приложения («~ /», Url.Action («MyAction», «MyController»)) разрешаются в «/ MyApp»
Теперь мы работаем за прокси-сервером, который пересылает все запросы,но требует от вас доступа к приложению через URL-адрес, подобный следующему: "/ Secury / Proxy / RubbishUrl / MyApp"
Поскольку URL-адрес прокси-сервера доступен только на клиентском компьютере, я подумал о создании файла cookie с префиксом путии вставьте его перед каждым сгенерированным URL на сервере.
Теперь вопрос в том, как лучше всего расположить код для изменения каждого URL, который разрешен / отправлен клиенту (ресурсам, действиям контроллера, изображениям и т. д.)?
Каждый путь в приложении определяется с помощью методов MVC (Url.Content, Url.Action и т. Д.).
Обновление: Больше не ищем ответа(тхотя все еще заинтересован в правильном решении)
В большинстве случаев прокси-серверы выполняют свои собственные преобразования URL, однако в этом случае прокси-сервер игнорирует пути, которые передаются в JSON, и они обрабатываются.
Мое «решение» на данный момент - просто не передавать пути в JSON, а вместо этого:
- с использованием правильных идентификаторов и значений в запросах JSON
- создание шаблона вURL в HTML (которые разрешены правильно),
- заменяет идентификаторы и значения в шаблоне URL на значения из запросов JSON
Этот метод на самом деле намного «чище»'путь IMO, а затем передать URL.