Как автоматизировать обновления баз на веб-сервере - PullRequest
1 голос
/ 30 марта 2010

Я разрабатываю систему онлайн-торгов с использованием asp.net, где мне нужно закрыть аукцион, если время аукциона будет закрыто без какой-либо заявки.

Как и на следующем веб-сайте: http://www.bidrivals.com/us/

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

В ожидании ваших ценных мыслей.

Благодарю вас.

1 Ответ

0 голосов
/ 30 марта 2010

Я могу придумать 4 способа сделать это:

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

http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/

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

2: Чуть лучше, вы можете написать страницу .aspx и вызывать ее из планировщика задач Windows каждые X минут, чтобы запустить ваш код. Проблема здесь в том, что вам нужно будет выполнить публичную страницу. Может быть проблемой безопасности.

3: Гораздо лучше, вы можете написать службу Windows. Но это может быть слишком много работы, если вам не хватает времени.

4: Посмотрите на Quartz.NET, это порт .NET одноименного отраслевого стандартного Java-проекта. Я не пробовал, но выглядит многообещающе.

...