构建我自己的HttpRequest对象

时间:2015-06-18 22:25:01

标签: c# .net httprequest

首先让我说明我们不是使用IIS 作为我们的网络服务器并且不打算这样做,所以请不要回答告诉我使用IIs。我正在努力的应用程序的优势在于它不需要安装IIS服务器。

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

为了保持.NET的基础,所以我不必为动态加载的模块引用我的第三方Web服务器库,我想使用IIS使用的System.Web命名空间,因为它&# 39;在.NET中。

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

如何构建System.Web.HttpRequest对象,我可以将信息(例如标题,Cookie,内容类型等)从第三方网络服务器处理的请求转换为.NET框架版本?

1 个答案:

答案 0 :(得分:0)

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

HttpWorkerRequest是继承自的。没问题。 HttpContext也有一个构造函数。

您可能也被迫使用反射设置其他成员。这种情况几乎得不到支持。

ASP.NET MVC采用了添加HttpRequestBase等抽象的途径。也许你可以迁移使用它。