首先让我说明我们不是使用IIS 作为我们的网络服务器并且不打算这样做,所以请不要回答告诉我使用IIs。我正在努力的应用程序的优势在于它不需要安装IIS服务器。
其次,我没有提出请求(我不是客户端),我是服务器,并通过第三方嵌入式轻量级网络服务器接受请求。
为了保持.NET的基础,所以我不必为动态加载的模块引用我的第三方Web服务器库,我想使用IIS使用的System.Web
命名空间,因为它&# 39;在.NET中。
我遇到的问题是,我无法完全创建自己的System.Web.HttpRequest
对象,也无法扩展自己的(密封)来克服这个问题。
如何构建System.Web.HttpRequest
对象,我可以将信息(例如标题,Cookie,内容类型等)从第三方网络服务器处理的请求转换为.NET框架版本?
答案 0 :(得分:0)
您可以使用构造函数internal HttpRequest(HttpWorkerRequest wr, HttpContext context)
。用反射把它撬开。然后,您还必须制造其他一些对象。
HttpWorkerRequest
是继承自的。没问题。 HttpContext
也有一个构造函数。
您可能也被迫使用反射设置其他成员。这种情况几乎得不到支持。
ASP.NET MVC采用了添加HttpRequestBase
等抽象的途径。也许你可以迁移使用它。