Как мне заставить страницу перезапустить обработку на C#?
-
19-09-2019 - |
Вопрос
Я работаю с CMS, которая позволяет вам разрабатывать собственные элементы управления, которые динамически включаются во время выполнения.Итак, у меня есть специальный элемент управления, который изменяет источник данных (кеш NHibernate), и поскольку я нахожусь в той точке процесса, когда CMS уже прочитала эти данные из кеша, мне нужно каким-то образом перезапустить обработку страницы, чтобы CMS получает новые данные кэша.
Я знаю, что, вероятно, есть более элегантные способы сделать это, но поскольку я не могу напрямую изменять данные, хранящиеся в ядре CMS, после того, как они были прочитаны из кеша, и из-за того, как элемент управления загружается CMS, я ухожу. альтернатив (я думаю).
Я попытался выполнить Response.Redirect() для запрошенного URL-адреса, но большинство браузеров подумают, что это бесконечный цикл, и убьют запрос.Есть еще идеи?
Решение
Вы можете сделать это с начальной страницы:
Response.Clear ();
Server.Transfer (Request.Url.PathAndQuery, true);
Второй аргумент передает значения QueryString и Form начальной страницы.