Приложение к файлам FTP с сервера Windows

У меня есть веб-сайт ASP.NET MVC, на который клиенты отправляют файлы в рамках процесса заказа. Эти файлы могут иметь размер до 200 МБ. Мне нужно передать эти файлы на другой сервер через FTP. Я действительно не хочу нагружать IIS этим. Поэтому я думал написать приложение С# для обработки передачи файлов, которая запускалась каждые x минут, и использовать службу Windows для ее запуска.

Будет ли это приемлемым решением или есть что-то, что могло бы справиться с этим для меня?

Если бы я написал приложение, я должен позволить службе Windows обрабатывать расписание, т. Е. Запускать приложение каждые x минут, или я должен просто запустить приложение, скажем, при запуске, и позволить приложению обрабатывать сон / пробуждение.

Я представлял себе что-то совсем элементарное. Использование SQL для отслеживания того, что нужно загрузить и что было загружено. Есть ли какие-либо другие соображения, относящиеся к оконному сервису?

Веб-сайт работает на iis8 на Windows 2012 vps.


person MPD    schedule 28.02.2013    source источник


Ответы (1)


Один совет по архитектуре — используйте простой исполняемый файл и запланированную задачу, а не пишите службу. Тогда вам не нужно беспокоиться об утечке памяти в течение нескольких месяцев.

Вероятно, вы могли бы реализовать это без написания кода — вы можете довольно эффективно скриптовать ftp.exe. Я бы просто написал сценарий, чтобы отправить все файлы, а затем, предполагая, что FTP.EXE завершился с 0, очистить папку загрузок, промыть и повторить.

person Wyatt Barnett    schedule 28.02.2013
comment
Спасибо и хороший совет, и я полагаю, что это то, к чему я клоню. Если я планирую задачу, могу ли я запустить ее после того, как предыдущая задача была завершена в течение x времени. Я также думал об использовании сценария, но хотел регистрировать события на сервере sql, чтобы я мог просматривать то, что произошло, с веб-сайта администратора. Я полагаю, что мог бы сделать это в PS, но подумал, что будет лучше в приложении. - person MPD; 01.03.2013
comment
Powershell удивительно мощный, вы можете писать полноценные многопоточные приложения, если вы достаточно сумасшедший. - person Wyatt Barnett; 06.03.2013