拦截IIS 7.0 Http请求没有HttpModule(而不是ISAPI)

拦截IIS 7.0 Http请求没有HttpModule(而不是ISAPI)

问题描述:

我正在处理一个基于能够拦截IIS 7.0中的传入HTTP请求的项目。 我只需要一些关于在当前IIS内请求的URL的基本信息,以便进一步处理。拦截IIS 7.0 Http请求没有HttpModule(而不是ISAPI)

有没有办法实现,没有HttpModule?就像,以某种方式挂钩IIS'全球'进程? 我的意思是,我想创造一个产品,这将不需要在GAC注册一个HttpModule,或有网站所有者包括任何配置细节(甚至做任何事情)自己的Web应用程序(web.config中)等内。

我需要的信息主要是被请求的URL,而且我可能需要IIS应用程序ID,以确定在硬盘上的网站的位置,并创造有一些文件夹...

一些补充说明让我更清楚的问题

我讲的是一个应用程序(服务器端组件)在“服务器范围”的范围内,所以,任何特定的“站点”所有者(虽然可能有多个站点托管在我们的IIS7实例下)不需要做任何事情,但我的“服务器端”组件知道一个网址被请求在其中一个网站上...

例如,基本上我的“组件”会收到一条消息,指出网址“/ about-us”/在主机名为“1 -of-my-hosted-domains.com”,而无需做任何事情(不Global.asax的,没有web.config文件,或抛出一个HttpModule成BIN或GAC ..) - 我需要知道什么网址的有些完全无缝的方式被要求对我的本地IIS的实例......(好像这将是一个HttpModule坐在该域... :)

我将是这方面的一些提示,非常感谢!

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