HTTP сервер на C#
Начал изучать сетевое взаимодействие на C# и столкнулся с проблемой: не могу найти примеров хороших HTTP серверов на C#, а к тем, что нашёл, в комментариях пишут мол "хороший пример как писать не нужно". Можно ли где-то найти примеры реализаций сервера, или общие принципы архитектуры, или хотя бы просто небольшие советы, по типу: когда использовать TcpListener, а когда HttpListener, как лучше организовать отказ запросу при большой нагрузке и т.д.