2015-08-01 6 views
1

Веб-приложение будет находиться на общедоступном хостинге, поэтому у меня не будет доступа к корню сервера. Я использую Asp.net MVC5 (C#) и SQL Server 2012 для этого веб-приложения. Я хочу запустить функцию или задачу для запуска каждые 30 дней, чтобы удалить некоторые записи для таблицы SQL до определенной даты. Я хочу знать, что является лучшим решением для общего хостинга.Функция для запуска каждые 30 дней

  1. Windows Task Scheduler
  2. Windows Service
  3. SQL Работа
  4. Somthing как Jeff Atwood предложил использовать печенье in this article
  5. Schedule Table (проверить выполненную дату в global.asax Application_Start и вызова функции)

Я ищу решение, которое лучше для общего хостинга. Пожалуйста, предложите. Спасибо

+0

У вас есть доступ к агенту SQL-сервера? Это было бы лучшим решением. –

+0

Предоставляет ли обычный общий хостинг агент SQL-сервера, нет, я не думаю, что у меня есть доступ. Любое другое предложение, пожалуйста, –

+0

@ArbazAbid, я согласен с Peter Smith, sql job - это лучший способ здесь. Исследуйте возможности вашего сервера sql. – Backs

ответ

1

Существует порт с открытым исходным кодом библиотеки кварца Java, называемый quartz.net. Вот tutorial, показывающий, как использовать его с ASP.NET.

Возможно, вы также захотите ознакомиться со списком Running Background Tasks in ASP.NET от Scott Hanselman для сравнения доступных решений.

+0

Спасибо за ответ, я проверю его сейчас. –

+0

Спасибо за кучу, это действительно работает в среде общего хостинга. Бог благословил! –

3

У меня есть HangFire несколько раз - отличное решение, я считаю, это путь.

Однако, если вы столкнулись с некоторыми проблемами с ним, вы также можете воспользоваться услугой like.

В соответствии с рекомендациями Arbaz Abid вы также можете использовать quartz.

+0

Спасибо, я проверю его сейчас и отметю как ответ в ближайшее время. –

+0

@dnligmz: HangFire - отличное решение для совместной среды размещения, но quartz.net - это простое решение. Еще раз спасибо за ваше предложение. –