Как программно перекомпилировать файл Global.asax

Я настраиваемая CMS, где я добавляю динамические маршруты из кода примера базы данных ниже.

 foreach(DataTable table in ds.Tables) {

  foreach(DataRow dr in table.Rows) {
   ctr = ctr + 1;

   routes.MapPageRoute("Route" + ctr, routeURL, routeHandler, false,
    new RouteValueDictionary {
     {
      "path",
      "page-not-found"
     }, {
      "pagename",
      "page-not-found"
     }
    });
  }
 }

Проблема, с которой я сталкиваюсь, заключается в том, что когда я добавляю новую страницу на веб-сайт с помощью пользовательской CMS, мне приходится снова загружать файл Gloabal.asax, чтобы он снова скомпилировался и новые маршруты вступили в силу.

Если я не компилирую, то новая добавленная страница не отображается.

Как запустить код в событии кнопки, чтобы я мог заставить файл Global.asax снова перекомпилировать.

Мне нужно это для сайта веб-формы asp.net


person Learning    schedule 04.05.2016    source источник


Ответы (1)


Вот Редактируемые маршруты, как динамически редактировать маршруты без компиляции . Пример для MVC, но автор указывает, что он также работает для WebForms.

Существует также библиотека RouteMagic, которая может это сделать.

Здесь динамическая маршрутизация веб-форм asp.net - это вопрос от того, кто делает что-то подобное в WebForms. используя эту библиотеку.

person Rocoso    schedule 04.05.2016
comment
Я должен изучить это, так как у меня нет опыта работы с MVC. - person Learning; 04.05.2016