Я поддерживаю веб-приложение, которое больно обновлять.Это не больно, потому что код плохой, но потому что к этому приложению подключено множество устройств через Интернет, и заставить их обновлять своих клиентов во многом похоже на перемещение бетона.
Так что у меня возникла мысль, чтоЯ мог бы просто представить другую версию приложения разным клиентам.Сеанс хранит информацию о клиенте.Итак, что я в конечном итоге хотел бы сделать, так это достичь максимума на этом сеансе, а затем использовать его для представления им «правильной» версии моего приложения.
Физически приложения хранятся таким образом:
C: \ Program Files \ Company \ Program \ Version \ Web \ WebApp
Таким образом, вы можете видеть, что у меня может быть установлено несколько версий одновременно.В основном, если клиент A заходит на сайт, он получает C: \ Program Files \ Company \ Program \ 1.0.0.0 \ Web \ WebApp \ foo.aspx И если клиент B посещает сайт, он видит C: \ Program Files\ Company \ Program \ 2.0.0.0 \ Web \ WebApp \ foo.aspx.
Сначала я думал об использовании модуля перезаписи IIS, но я действительно не хочу их перенаправлять.Я хочу, чтобы это было без проблем.Любые идеи о том, как это можно реализовать?
обновление:
После дальнейших исследований я подумал, что было бы разумно использовать Global.asax.cs для достижения моих целей.Цель.Поэтому в обработчике события Application_BeginRequest я написал следующее:
string url = Request.Url.ToString();
if (url.Contains("MyTest"))
{
Context.RewritePath("/art/test.html");
}
Кстати, / art / - это виртуальный каталог, который я ввел в этот каталог через IIS.Это было бы похоже на то, как я настроил бы это в производстве.Во всяком случае, я получаю следующую ошибку, когда я пытаюсь это сделать.
The virtual path '/art/test.html' maps to another application, which is not allowed.
Итак, как мне это сделать тогда?Есть ли «разрешенная» стратегия для достижения этой цели?Делать это через Global.asax.cs было бы идеально, так как я мог бы использовать HTTP-контекст, чтобы «знать», какой клиент подключается к приложению.