Коммуникационный сервер веб-окон: прокси DLL, веб-сервисы или сервис Windows + WCF? - PullRequest
0 голосов
/ 18 сентября 2010

У меня есть кусок .NET кода приличного размера, который теперь должен быть доступен через веб-страницу ASP. Транзакции необходимо регулярно отправлять на этот «сервер» для обработки. Обработка занимает менее секунды, и в день может быть 100-1000 таких транзакций

Раньше я действительно работал только с COM и службами Windows, поэтому мой обычный подход заключается в том, чтобы служба Windows работала со всеми необходимыми данными в памяти, а клиентский графический интерфейс подключался, отправлял запрос и получал ответ.

Из того, что я могу понять в ASP, я могу сказать, что DLL или веб-сервис в настоящее время являются способом доступа к серверу.

Моя проблема с DLL заключается в том, что DLL должна была бы загрузить информацию из базы данных, чтобы собрать самую свежую информацию, прежде чем транзакция может быть проверена. Должна также занимать секунду, но это дополнительные издержки, в отличие от постоянно работающей службы Windows. С другой стороны, служба Windows должна быть более устойчивой к ошибкам.

Требуется вызвать всего 3-4 API, и вряд ли это изменится в будущем.

Итак, вопрос: служба Windows + WCF / Sockets / ... ИЛИ DLL ИЛИ веб-сервисы?

1 Ответ

0 голосов
/ 18 сентября 2010

Я бы сам пошел с DLL / Web-сервисом (или WCF-сервисом).В ASP.NET доступно кэширование, и вы также можете создавать некоторые объекты одноэлементного типа, которые живут в течение всего жизненного цикла приложения (которые можно настроить с помощью IIS).Нечто подобное могло бы в основном позволить вам иметь то постоянное состояние, которое вы также имели бы в службе Windows.

Единственное реальное преимущество, которое я могу предложить, это то, что использование DLL / веб-службы требует гораздо меньше настроекразрешения, чем служба Windows;и с Windows-сервисом у вас также будет проблема IPC (и все, что с этим связано с безопасностью).

...