IIS/asp.netからHttpListenerにWebアプリケーションを移植する際、何かが私を驚かせました。HttpContextとHttpListenerContextとの比較
両方とも、コンテキスト、要求、および応答の概念を持っていますが、HttpListenerバリアントは、インターフェイスがほぼ同一であるにもかかわらず、IIS/asp.netバリアントとの共通インターフェイスを共有しません。
これを回避するために、独自の共通インターフェース(IContext、IRequest、IResponse)を作成し、対応するサーバー生成オブジェクトをこれらのインターフェースの実装でラップしています。私が移植しているハンドラコードです。
これは、この欠落している共通インターフェイスの周りをコードするだけで、ラッパー(10個)のクラスの爆発をもたらしました。
私はトリックを見逃したのですか、これは.net APIの単なる欠点ですか?