【发布时间】:2009-08-08 03:11:01
【问题描述】:
我需要覆盖原始 HTTP 请求的接收,因为它正在与 IIS 服务器通信。我想知道这是否可能。
我们有一个发送大量 Web 服务调用(数十 Mb)的客户端,我们希望在收到这些调用时开始对部分调用采取行动(以便更快地执行 Web 服务调用的总时间)。
目前,使用普通的 Web 服务方法,我们的应用程序代码在完全接收到 Web 服务调用后被交给它。
我意识到这不是处理 Web 服务的理想方式,我们并没有在此基础上建立我们的业务,但我们确实有一个需要,我们正在努力满足有限范围的客户。
我创建了一个实现 IHttpHandler 的处理程序,但似乎在流程管道中的这一点上,请求已完全被 IIS 接收(与我们当前的模型相比,这并没有给我们带来任何好处)。也就是说,我可以直接读取 InputStream,但在我访问该流之前,完整的请求已经通过网络传输了。
我认为答案是我必须编写一个 ISAPI 过滤器才能实现这一目标,但我没有在 C/C++ 中执行此操作的技能。有谁知道是否有另一种方法可以在没有 ISAPI 过滤器路由的情况下做到这一点?
一个可接受的答案可能是,“您必须使用 ISAPI 过滤器执行此操作,要在 C# 中执行此操作,请查看此文档”。
【问题讨论】:
标签: c# iis httpwebrequest