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