构造我自己的 HttpRequest 对象

本文关键字:HttpRequest 对象 自己的 我自己 | 更新日期: 2023-09-27 17:56:57

首先让我声明我们不使用 IIS 作为我们的 Web 服务器,也不打算这样做,所以请不要回答告诉我使用 II。 我正在开发的应用程序的优势在于它不需要安装 IIS 服务器。

其次,我没有提出请求(我不是客户端),我是服务器,并通过第三方嵌入式轻量级Web服务器接受请求

为了使事情基于.NET,因此我不必为动态加载的模块引用我的第三方Web服务器库,我想使用IIS使用的System.Web命名空间,因为它在.NET中。

遇到的问题是我无法完全创建自己的System.Web.HttpRequest对象,也无法扩展自己的对象(它是密封的)来克服这个问题。

如何构建一个System.Web.HttpRequest对象,以便我可以将信息(如标头、cookie、内容类型等)从第三方 Web 服务器的已处理请求转换为 .NET 框架版本?

构造我自己的 HttpRequest 对象

您可以使用

构造函数internal HttpRequest(HttpWorkerRequest wr, HttpContext context) 。使用反射将其撬开。然后,您还必须制造一些其他对象。

HttpWorkerRequest是用来继承的。那里没有问题。 HttpContext也有一个构造函数。

您可能也被迫使用反射设置其他成员。几乎不支持此方案。

ASP.NET MVC 采取了添加抽象的路线,例如 HttpRequestBase .也许您可以迁移以使用它。