操作上HTTP请求,因为它是收到在IIS在C#

我有一个需要重写收到的原始HTTP请求,因为它被传递到IIS服务器。 我想知道这是可能的。

我们是谁派庞大的Web Service调用(MB数万)的客户端,我们要开始行动,对这些电话的部分,因为他们正在接受(为了得到执行的Web服务调用更快的总时间)。

目前,使用正常的Web服务的方法,我们的应用程序代码交给它是完全收到后,Web服务调用。

我知道这不是处理Web服务的理想方法,而且我们不会构建我们的企业,在这一点,但我们有我们正在试图填补为客户在有限的范围内的需要。

我创建了一个实现IHttpHandler的处理程序,但似乎在这一点上,在工艺管道,请求已经完全由IIS收到(不得到我们在我们目前的模式任何好处)。 也就是说,我可以直接读取的InputStream,但完整的请求已经被转移过线之前,我有机会获得此流。

我认为答案是,我要编写一个ISAPI筛选器来获得这个远了,但我没有能力做到这一点在C / C ++。 有谁知道,如果有另一种方式,我可以做到这一点没有ISAPI筛选器路线?

一个可以接受的答案可能是,“你必须这样做,因为和ISAPI筛选器,这样做在C#中,检查该文档”。

--------------解决方案-------------

您可以使用自定义的HttpModule挂钩几乎任何部分的IIS管道。 他们工作在两个IIS 6(下ASP.NET),并在IIS 7的主要扩展机制。

有大量的建筑ISAPI筛选器的例子,但是没有在C#。 我相信这是可能的,但不实用,而不是没有很多肮脏的诡计。

你的C#的投资将保持良好的C ++,让我知道你需要帮助。 顺便说一句,我建议你投资我的标准三重奏 - 尽量跟上C#,C ++和Java的健康知识。

我还建议你考虑的Apache模块,它们可以提供更全面的灵活性。 这是我会做:

  1. 承载这些Web服务关闭IIS的 - 你永远不知道什么时候IIS将咬你通过重置应用程序。
  2. 使用WCF服务,从Windows服务,使用重定向承载这些路由服务为WCF服务。
  3. 考虑书面方式原始套接字的应用程序。 这其中将实现最小的WS *协议为您服务,并充当了真正的服务的代理。 当代理检测到入站邮件超过阈值,将开始分析该消息中提取出它可以处理的时候了。

其结果将是标准的WCF(通过代理)的小消息和非标加工的一切。

让我知道如果我可以帮你盖了 - 这是我喜欢做那种事情...

噢 - 我现在还记得,WCF是完全可配置的。 您可以到毕竟从托管代码中提供自己的处理程序层的variaty和解决一切。

分类:C# 时间:2012-07-19 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.223 (s). 10 q(s)