Beim Portieren einer Webapp von IIS/asp.net zu HttpListener etwas schien mir eher seltsam.HttpContext vs HttpListenerContext
Während beide ein Konzept von Kontext, Anforderung und Antwort haben, teilen die HttpListener-Varianten keine gemeinsame Schnittstelle mit den IIS/asp.net-Varianten, trotz der Tatsache, dass die Schnittstellen fast identisch sind.
Um dies zu umgehen, habe ich meine eigenen gemeinsamen Schnittstellen (IContext, IRequest und IResponse) erstellt und die entsprechenden servergenerierten Objekte mit Implementierungen dieser Schnittstellen umwickelt, so dass ich nicht zwei separate Implementierungen der Handler-Code, den ich portiere.
Dies hat zu einer Klassenexplosion von Wrappern (insgesamt 10) geführt, nur um diese fehlende gemeinsame Schnittstelle zu codieren.
Habe ich einen Trick verpasst, oder ist das nur ein Manko der .net-APIs?