При переносе веб-приложения из IIS/asp.net в HttpListener что-то показалось мне довольно странным.
Хотя оба имеют концепцию контекста, запроса и ответа, варианты HttpListener не имеют общего интерфейса с вариантами IIS/asp.net, несмотря на то, что интерфейсы почти идентичны.
Чтобы обойти это, я создал свои собственные общие интерфейсы (IContext, IRequest и IResponse) и обернул соответствующие сгенерированные сервером объекты реализациями этих интерфейсов, так что мне не нужны две отдельные реализации кода обработчика, которые я портирую.
Это привело к резкому увеличению числа оболочек класса (всего 10) только для того, чтобы кодировать этот отсутствующий общий интерфейс.
Я что-то упустил или это просто недостаток .net API?