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