在没有HttpModule(而不是ISAPI)的情况下拦截IIS 7.0 Http请求

时间:2011-05-01 01:20:37

标签: http iis-7 httprequest servermanager

我正在开发一个基于能够“拦截”IIS 7.0中的传入HTTP请求的项目。 我只需要一些关于当前IIS中请求的URL的基本信息,以便进一步处理。

有没有办法在没有HttpModule的情况下实现这一目标?比如,以某种方式挂钩进入IIS'全球'流程? 我的意思是,我想创建一个产品,不需要在GAC中注册HttpModule,或者让网站所有者在他的Web应用程序(web.config)等中包含任何配置细节(甚至做任何事情)。

我需要的信息主要是请求的URL,但我也可能需要IIS应用程序ID,以确定网站在硬盘上的位置并在那里创建一些文件夹......

使我的问题更清晰的其他解释

我在讨论“服务器级”规模的应用程序(服务器端组件),因此,任何特定的“站点”所有者(虽然可能有多个站点在我们的IIS7实例下托管)不会我做任何事情,但我的“服务器端”组件会知道其中一个网站上有一个URL ......

例如,基本上我的“组件”将收到一条消息,即在主机名为“one-of-my-hosted-domains.com”的网站上请求了网址“/ about-us”/,而无需执行此操作任何事情(没有global.asax,没有web.config,或者将HttpModule扔进BIN或GAC ......) - 我需要一些完全无缝的方式来了解我本地IIS实例上请求的URL ...(好像它将是一个坐落在该域上的HttpModule ... :)

我会非常感谢这方面的一些提示!

1 个答案:

答案 0 :(得分:0)

也许更简单的方法就足够了;打开IIS服务器的请求日志记录,然后监视生成的日志文件。您应该看到每个请求的条目。