WCF, Timer Jobs, веб-сервис, который лучше?
Я работаю с веб-приложением, основанным на Asp.Net 3.5 и платформе WSS 3.0. В последнее время у меня есть задача следующим образом.
Импортируйте выписки по счету с помощью приложения FTX - Desktop и анализируйте эти выписки в базе данных каждые 24 часа
то есть. мне нужно скачать выписку по счету с помощью настольного приложения (которое я могу вызвать по пакетному файлу). Затем мне нужно пройти через каждое утверждение (текстовый файл) и преобразовать эти данные в нашу базу данных для дальнейшего использования.
Насколько я знаю, .Net предоставляет следующие возможности для реализации такой функциональности.
- Задания таймера SharePoint
- Веб-сервисы
- WCF
- Службы Windows
Я хотел бы перейти на работу с таймером SharePoint, но есть планы переместить все приложение на платформу Asp.net. Я заинтересован в WCF, так как у меня мало опыта работы с приложениями WCF, но я не в состоянии принять окончательное решение:)
Какой способ наиболее подходит для такого рода задач? Пожалуйста, предложите.
2 ответа
Я не вижу ни одного из них как победителя - вам нужны биты от каждого:
вам нужна возможность планирования, например, "запускать это приложение каждые 24 часа в 4 часа утра" - это лучше всего обрабатывается, например, запланированными задачами Windows
вам нужен какой-то способ связи, чтобы скачать файл. WCF может помочь, или вы могли бы использовать что-то вроде FTP или что-то, что работает для вас
остальное, например, анализ и хранение, на самом деле просто старые вещи.NET - здесь не помогут ни WCF, ни служба Windows.....
Таким образом, вопрос на самом деле: как вы загружаете файл сегодня (или в будущем), и как вы должны запускать свое приложение каждые 24 часа.
Что-то вроде WCF действительно могло бы помочь вам, если бы вы могли перевернуть процесс, например, если этот файл банковской выписки будет активно отправляться вам вместо того, чтобы вы пошли его брать. Затем вам нужна конечная точка (адрес с запущенной службой), которая работает и работает - вот где действительно вступает в силу WCF.
Я бы предложил поместить код синтаксического анализа / обработки в библиотеку и отделить его от части планирования. Таким образом, вы или кто-то в будущем можете легко свернуть это в другое приложение / решение.
На самом деле у вас есть 2 хороших решения для планирования:
- Служба Windows загружает планирование из файла конфигурации
- Запланированная задача Windows, выполняющая вашу программу