0

我正在尝试编写一个 IIS 扩展来修改请求的响应 HTML,因为它被发送回客户端。我知道传统上这将是 ISAPI 过滤器的工作,但是我是一名 .Net 开发人员,并且我读过在 .Net 中实现 ISAPI 过滤器是一个坏主意

我在一些地方读到 IIS 7 闪亮的新集成管道模式现在应该允许我在 .Net 中编写模块,这些模块通过实现IHttpModule提供与 ISAPI 过滤器相同的功能,但是我不知道如何修改非 ASP.Net 请求的响应 HTML。

我找到的关于如何执行此操作的唯一资源是这篇文章,但这似乎不适用于非 ASP.Net 资源或在HttpApplication.CompleteRequest被调用的情况下,即使启用了集成管道模式。

如何在 C# 中编写一个允许我修改所有请求的响应 html / 数据的 IIS 模块?

4

2 回答 2

0

我认为您必须通过 ASP.NET 模块路由所有请求。

于 2011-11-03T10:14:42.350 回答
0

不确定这对于 .NET 是否真的可行,但请查看http://aspnetresources.com/articles/CustomErrorPages esp。关于安装 HttpModule 的部分 - 也许这更多的是 IIS 如何看待您的模块的问题。

虽然我和你一样认为 .NET-ISAPI-Filter 是一个坏主意,但我仍然会检查一下,看看这对你的情况有多大影响。

一个非常困难的选择是实现一个本地代理(即,您可以编写一个基于 HttpListener 的服务器或使用一个库来简化实现),它侦听要公开的端口并重新配置 IIS 以使用其他端口/本地主机只有......这样你就可以过滤你想要的任何东西......虽然这也会影响性能恕我直言。

于 2011-11-03T10:24:18.963 回答