Имеет следующую архитектуру: клиентская часть (dll на C#) отправляет определенное количество изображений на сервер (или службу Windows или веб-службу), где они обрабатываются, а затем сервер отправляет ответ в виде XML-файла результатов обработки.Простое клиент-серверное приложение
Клиент - это просто автоматизированное приложение без интерфейса и ввода/вывода.
Сервер. Он превращает движок с помощью многопоточности (используя ThreadPool) для обработки изображений. Соответственно, при обращении к новому клиенту сервер создает новый поток, в котором происходит обработка, и в конце он отправляет ответ пользователю (файл xml). Нагрузка на сервер - это не очень большие 3-20 одновременных соединений.
До сих пор я не могу понять, какая архитектура взаимодействия лучше всего подходит для моего дела. Существует несколько способов реализовать или написать сервер асинхронных сокетов, либо использовать WCF, либо просто написать приложение ASP.NET, и вылить его на IIS (для этой опции я больше всего склоняюсь).
Какой протокол передачи лучше всего использовать? Выполняет ли HTTP для передачи больших объемов изображений (тогда вы можете перемещаться в направлении веб-службы) или должен думать о TCP/IP (теперь WCF)?
Вот и все!
кто является конечным пользователем? заключается в том, что человек в Интернете или его приложение? Какова потребность в пропускной способности? – lazy
нанять технического архитектора/решения. – user1666620
Взгляните на потоковое с помощью WCF - https://msdn.microsoft.com/en-us/library/ms733742(v=vs.110).aspx – Tom