У меня есть tcpclient, который подключается к бэкэнд-системе, отправляющей XML-запросы и получающей XML-ответы.
Бэкэнд требует, чтобы клиент вошел в систему и установил некоторые параметры среды, прежде чем можно будет выполнять какие-либо запросы. Это дорогостоящая операция, поэтому имеет смысл создать tcpclient и оставить его открытым для повторных запросов.
Бэкэнд, который мне сказали, оптимизирован для обработки многих соединений и по соображениям производительности, я хотел бы иметь множество соединений tcpclients.
Запросы представлены в виде списка, содержащего тысячи элементов.
Мой вопрос: как лучше создать группу повторно используемых подключенных tcpclients, чтобы я мог выполнять несколько одновременных запросов из списка (скажем, 10 за раз), какой шаблон подходит для этого сценария, и есть ли примеры, которые я могу изучить лучшая практика от?
В настоящее время он просто выполняет их один за другим, используя один сервис, который инкапсулирует процесс подключения и входа в систему.
QueryService service = new QueryService(server, port, user, pass, params, app);
foreach(var item in queries)
{
service.ExecuteRequest(item);
}
service.Disconnect();