System.Net.HttpListener.dll 是 .NET 生态中承载 System.Net.HttpListener 类型的托管程序集,面向 Windows 平台提供轻量级、进程内 HTTP/HTTPS 服务端能力。它并非 IIS 或 Kestrel 的替代品,而是把 Windows HTTP Server API(HTTP.sys)封装为可编程对象模型,使 C#、VB.NET、PowerShell 等代码能够直接注册 URL 前缀、接收请求并写回响应。
AddPrefix 绑定 http://*:8080/、https://+:443/app/ 等前缀,由 HTTP.sys 统一调度端口与路由。Start 后,以 GetContext 或 GetContextAsync 获取 HttpListenerContext,其中包含 HttpListenerRequest 与 HttpListenerResponse。该 DLL 的关键价值在于把内核级 HTTP 栈暴露给托管代码,因此监听、排队、连接管理、TLS 卸载与端口共享往往由 HTTP.sys 完成,而应用层只需处理业务上下文。这也是它常被用于自托管服务、本地 API、OAuth 回调、事件推送接收端的原因。
若目标环境缺少或损坏 System.Net.HttpListener.dll,依赖该程序集的进程通常在加载阶段就会失败,而不是等到业务请求到达才报错。典型异常包括 FileNotFoundException、FileLoadException、TypeLoadException、MissingMethodException 或 BadImageFormatException。
HttpListener 实例无法构造或初始化,自托管 Web 服务、回调端口、本地 API 无法进入监听状态。
已注册 URL 前缀不再被消费,客户端出现连接拒绝、超时、502/503,或 HTTP.sys 队列堆积。
上层库若强引用该程序集,插件、作业、Windows 服务或 IIS 托管模块可能整体不可用。
事件日志常见程序集绑定失败、融合日志加载错误;仅重装业务程序未必恢复,还需修复 .NET 运行时、NuGet 包或 GAC 部署。
在部署与排障时,应确认目标框架版本、程序集绑定重定向、发布目录中的依赖文件、NuGet 包还原结果以及 HTTP.sys URL ACL 配置,避免把权限问题与 DLL 缺失混淆。