Выполняем действие по расписанию (asp.net, c#)

Раньше я писал программку, которая выполняла get запрос по расписанию, но так же можно написать обычный HttpModule, который будет делать тоже самое.

public class MyHttpModule : IHttpModule
{
    private int _hour = 2;
    private int _minute = 0;
    private Timer _timer;
    private bool _excecuted = false;
    private static object _lockThis;
    public void Init(HttpApplication app)
    {
        if (_lockThis != null)
            return;
        _lockThis = new object();
        _timer = new Timer(new TimerCallback(OnTimedEvent), null, 0, 30000);
    }

    private void OnTimedEvent(object obj)
    {
        lock (_lockThis)
        {
            DateTime dd = DateTime.Now;
            if (dd.Hour == _hour && dd.Minute == _minute && _excecuted == false)
            {
                try
                {
                    ExcecuteCommand();
                    _excecuted = true;
                }
                catch (Exception ex)
                {
                    _excecuted = false;
                }
            }
            else
            {
                _excecuted = false;
            }
        }
    }
    private void ExcecuteCommand()
    {
    }
    public void Dispose()
    {
    }
}

Здесь важны поля _hour и _minute, и метод ExcecuteCommand. Именно в это время будет выполнятся данный метод.

По теме:
Выполняем get запрос по расписанию c#

Напишем простенькую программу, которая будет выполнять get запрос по истечению определенного интервала времени. class Program { private static Timer _timer; Read more

Выбираем технологии и инструменты для разработки веб приложений

1 Выбор и настройка инструментов для разработки фронтенда (только самые важные): 1.1 Twitter bootstrap — фреймворк позволяет писать качественную верстку Read more

Делаем водяной знак на картинке (c#, .net)

Нанесем несколько раз картинку watermark на другую картинку. public void DrawWatermark(string watermarkImagePath, System.Drawing.Image image) { using (System.Drawing.Image watermarkImage = System.Drawing.Image.FromFile(watermarkImagePath)) Read more

Устанавливаем и настраиваем Ninject

Ninject это IoC контейнер для .NET платформы. Установим его и настроим. Установим ninject с помощью менеджера nuget Создадим класс который создает Read more

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *