Tips and Tricks: Как дописать и выполнить код без перекомпиляции веб-приложения

понедельник, 15 декабря 2008, Александр Краковецкий

Возможно, у вас была ситуация, когда после того, как билд (или проект) уже cдан, необходимо внести некоторые изменения в функциональной (т.е. серверной) части вашего ASP.NET приложения. К тому же перекомпиляцию делать нельзя. Как поступить в такой ситуации?

Создадим пустое веб-приложение и добавим туда два контрола (Default.aspx):

       
       

Компилируем и запускаем - на экране получаем текстовое поле и кнопку. Отдаем этот проект заказчику.

Далее нам необходимо обновить бизнес-логику. Для этого добавляем серверный код в... aspx файл:

   

и указываем событие для кнопки:

OnClick ="btn_Click" />

Сохраняем и после обновления страницы (F5) новая логика вступит в силу.

Если же у вас, к примеру, уже есть логика для кнопки в Default.aspx.cs файле:

    public void btn_Click(object sender, EventArgs e)
    {
        tb.Text = "Updated!";
    }

то при клике на кнопку выполнится код в aspx файле.

Если же вам необходимо выполнить оба скрипта, то необходимо написать в Default.aspx.cs:

    public void btn_Click(object sender, EventArgs e)
    {
        tb.Text = "Updated!";
    }

и в Default.aspx:

        public void btn_Click(object sender, EventArgs e)
        {
            base.btn_Click(sender, e);
            tb.Text = "Updated1!";
        }

В таком случае выполнится сначала код в aspx странице, который запустит на выполнение код из Default.aspx.cs файла.

Единственный недостаток такого подхода - то, что серверный код сможет увидеть заказчик, что не всегда хорошо. Но в качестве быстрой "заплатки" данный способ вполне сгодится.


Ищите нас в интернетах!

Комментарии

Свежие вакансии