Debugging 如何将Visual Studio 2010连接到IIS 7以调试为现有第三方web应用程序编写的自定义HttpModule
首先介绍一下我正在努力实现的目标的背景知识 我有一个客户端应用程序,它正在利用ArcGIS Server和IIS 7提供的REST服务。我希望能够在将响应发送到客户端之前修改响应(删除或添加参数)。因此,我正在使用VisualStudio2010和.NET3.5开发一个定制的HttpModule来拦截和修改响应 但是,调试自定义HttpModule时遇到困难。当以管理员身份运行Visual Studio 2010时,我可以使用它连接到IIS进程,但是,执行web第三方web应用程序不会导致命中我的任何断点。我可以确认我的模块正在运行,因为它能够将内容写入磁盘上的文件 值得注意的是Debugging 如何将Visual Studio 2010连接到IIS 7以调试为现有第三方web应用程序编写的自定义HttpModule,debugging,visual-studio-2010,httpmodule,Debugging,Visual Studio 2010,Httpmodule,首先介绍一下我正在努力实现的目标的背景知识 我有一个客户端应用程序,它正在利用ArcGIS Server和IIS 7提供的REST服务。我希望能够在将响应发送到客户端之前修改响应(删除或添加参数)。因此,我正在使用VisualStudio2010和.NET3.5开发一个定制的HttpModule来拦截和修改响应 但是,调试自定义HttpModule时遇到困难。当以管理员身份运行Visual Studio 2010时,我可以使用它连接到IIS进程,但是,执行web第三方web应用程序不会导致命中我
- 确保你有正确的流程。ASP.NET可以决定生成多个工作进程,尤其是在应用程序池等中的进程标识不同的情况下
- 确保在注册模块的web应用程序的web.config的compilation元素中设置了debug=“true”
- 确保模块正在调试模式下编译(即:正在生成调试符号)
调用应用程序应该是无关的。您应该能够通过使用web浏览器向注册模块的virdir发出请求来测试这一点。我确认我使用windows任务管理器连接到了正确的进程,并且应用程序是在调试模式下编译的。根据建议,我修改了web.config文件,以便debug=“true”。当我连接到进程时,Visual Studio警告我调试符号未通过断点加载。但是,只有当我通过windows任务管理器的调试选项进行连接时,才会出现这种情况。如果使用VisualStudio附加,则不会出现此类警告。我正在使用web浏览器对此进行测试,并向注册模块的虚拟目录发出请求。我唯一能想到的是,他们注册模块的配置不完整,并且从未加载到工作进程中,因此没有符号,显然模块根本没有处理请求。谢谢!发现我是在启用版本配置的情况下意外发布的。