我正在使用 VSTS 2008 + C# + .Net 3.5 + IIS 7.0 来开发一个 ASP.Net 网站。我想开发一个 Http 模块,它可以检查传入的请求是否有一些特定的 http 标头(例如 CustomerID),如果没有这样的标头,我会将用户请求重定向到其他一些页面。
我认为我应该在 IIS 7.0 集成模式下使用 Http Modules 进行开发?如果我错了或有更简单的解决方案,请纠正我。任何参考示例或教程?我是 IIS 7.0 中 Http 模块开发的新手。
我正在使用 VSTS 2008 + C# + .Net 3.5 + IIS 7.0 来开发一个 ASP.Net 网站。我想开发一个 Http 模块,它可以检查传入的请求是否有一些特定的 http 标头(例如 CustomerID),如果没有这样的标头,我会将用户请求重定向到其他一些页面。
我认为我应该在 IIS 7.0 集成模式下使用 Http Modules 进行开发?如果我错了或有更简单的解决方案,请纠正我。任何参考示例或教程?我是 IIS 7.0 中 Http 模块开发的新手。
有许多文章描述了如何为 ASP.NET 创建标准 HttpModules。一篇这样的文章可以在 ASP.NET 基础结构 MSDN 库中找到,标题为“演练:创建和注册自定义 HTTP 模块”。
确保按照该演练中的步骤将模块注册到 IIS 7 集成模式,否则最终会出现类似于以下内容的错误:
“HTTP 错误 500.0 - 内部服务器错误说明:此应用程序正在使用集成 .NET 模式的应用程序池中运行。这是在当前和未来版本的 IIS 上运行 ASP.NET 应用程序的首选模式。在此模式下,应用程序不应在 /configuration 部分中指定 ASP.NET 模块组件。相反,它应该使用 /configuration 部分来加载 ASP.NET 模块组件。”
您可以在 IIS.NET 站点上找到另一篇文章,其中详细介绍了如何为 IIS 7 创建模块和处理程序。这篇文章的标题是“使用 .NET Framework 开发 IIS 7.0 模块和处理程序”