构造我自己的 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 框架版本?
您可以使用
构造函数internal HttpRequest(HttpWorkerRequest wr, HttpContext context)
。使用反射将其撬开。然后,您还必须制造一些其他对象。
HttpWorkerRequest
是用来继承的。那里没有问题。 HttpContext
也有一个构造函数。
您可能也被迫使用反射设置其他成员。几乎不支持此方案。
ASP.NET MVC 采取了添加抽象的路线,例如 HttpRequestBase
.也许您可以迁移以使用它。