Как логичней сделать архитектуру приложения (клиент/сервер + DB)?
Добрый день,
начинаю изучение C#, сейчас пытаюсь сделать клиент-серверное приложение, которое в свою очередь работает с базой.
Клиент у сервера запрашивает данные, сервер обрабатывает данные, читает/пишет в БД.
В данные момент хочу сделать так: открывается tcp/ip порт в основном потоке и в цикле висит ожидание соединение клиентов, как только клиент присылает запрос на подключение, создается новый поток, который обрабатывает запрос, потом в этом же потоке начинается работа с БД и возвращается ответ, после ответа поток прибивается.
Все работа с логикой, сессиями и прочим ведется через БД.
Хотел спросить логична ли такая схема? Или лучше делать как-нибудь по другому, например дочерний клиентский поток создает еще один поток и работает в нем с БД.
Спасибо!
Да вроде самая простая стандартная схема. Зачем создавать еще поток для работы с БД, если основному потоку все равно нужно дождаться завершения работы с БД чтобы отдать ответ клиенту?