Тема в Global.asax не работает после публикации веб-сайта - PullRequest
0 голосов
/ 20 января 2012

Я занимаюсь разработкой веб-приложения, в котором реализовал планировщик заданий с использованием Global.asax. Я использовал поток, чтобы начать работу на определенную продолжительность.

Работает нормально, если я запускаю приложение через visual studio. Но когда я публикую и разверну его на сервере, поток не будет работать.

Пожалуйста, помогите мне решить эту проблему. Есть ли альтернатива этому.

Пожалуйста, найдите образец кода ниже,

protected void Application_Start()
    {
        Thread thread = new Thread(new ThreadStart(ThreadFunc));
        thread.IsBackground = true;
        thread.Name = "ThreadFunc";
        thread.Start();
    }

    protected void ThreadFunc()
    {
        System.Timers.Timer t = new System.Timers.Timer();
        t.Elapsed += new System.Timers.ElapsedEventHandler(TimerWorker);
        t.Interval = 10000;
        t.Enabled = true;
        t.AutoReset = true;
        t.Start();
    }

    protected void TimerWorker(object sender, System.Timers.ElapsedEventArgs e)
    {
        //work args
    }

Спасибо

Виджей

Ответы [ 2 ]

0 голосов
/ 20 января 2012

Если на вашем сайте в течение определенного периода времени ничего не происходит, он автоматически отключается.

Чтобы обойти это, воспользуйтесь Google "Keep asp.net site live"

Но вынайду связку липкой ленты как хаки.Я бы изменил архитектуру.

0 голосов
/ 20 января 2012

Я не думаю, что порождение потока в global.asax - хорошая идея. Пожалуйста, посмотрите этот вопрос для лучшего решения.

...