У меня есть кусок .NET кода приличного размера, который теперь должен быть доступен через веб-страницу ASP. Транзакции необходимо регулярно отправлять на этот «сервер» для обработки. Обработка занимает менее секунды, и в день может быть 100-1000 таких транзакций
Раньше я действительно работал только с COM и службами Windows, поэтому мой обычный подход заключается в том, чтобы служба Windows работала со всеми необходимыми данными в памяти, а клиентский графический интерфейс подключался, отправлял запрос и получал ответ.
Из того, что я могу понять в ASP, я могу сказать, что DLL или веб-сервис в настоящее время являются способом доступа к серверу.
Моя проблема с DLL заключается в том, что DLL должна была бы загрузить информацию из базы данных, чтобы собрать самую свежую информацию, прежде чем транзакция может быть проверена. Должна также занимать секунду, но это дополнительные издержки, в отличие от постоянно работающей службы Windows. С другой стороны, служба Windows должна быть более устойчивой к ошибкам.
Требуется вызвать всего 3-4 API, и вряд ли это изменится в будущем.
Итак, вопрос: служба Windows + WCF / Sockets / ... ИЛИ DLL ИЛИ веб-сервисы?