在将 web 应用程序从 IIS/asp.net 移植到 HttpListener 时,我觉得有些奇怪。
虽然两者都有上下文、请求和响应的概念,但 HttpListener 变体与 IIS/asp.net 变体没有共享通用接口,尽管接口几乎相同。
为了解决这个问题,我创建了自己的通用接口(IContext、IRequest 和 IResponse),并使用这些接口的实现包装了相应的服务器生成的对象,这样我就不需要处理程序代码的两个单独实现正在搬运。
这导致了包装器的类爆炸(总共 10 个),只是为了围绕这个缺少的通用接口进行编码。
我是否错过了一个技巧,或者这只是 .net API 的一个缺点?
在编写需要与 IIS ( IHttpAsyncHandler) 和独立 ( HttpListener) 兼容的处理程序时,我遇到了相同的 .NET 设计限制。我采用相同的方法为两者编写一个通用的包装器。这似乎确实是 .NET API 的一个缺点。
| 归档时间: |
|
| 查看次数: |
2314 次 |
| 最近记录: |