debugging - 如何将 Visual Studio 2010 连接到 IIS 7 以调试为现有第 3 方 Web 应用程序编写的自定义 HttpModule

标签 debugging visual-studio-2010 httpmodule

首先介绍一下我想要实现的目标的背景。

我有一个客户端应用程序,该应用程序正在利用 ArcGIS Server 和 IIS 7 提供的 REST 服务。我希望能够在将响应发送到客户端之前修改响应(删除或添加参数)。因此,我正在使用 Visual Studio 2010 和 .NET 3.5 开发自定义 HttpModule 来拦截和修改响应。

但是,我在调试自定义 HttpModule 时遇到困难。当以管理员身份运行时,我可以使用 Visual Studio 2010 附加到 IIS 进程,但是,执行 Web 3rd 方 Web 应用程序不会导致命中任何断点。我可以确认我的模块正在运行,因为它能够将内容写入磁盘上的文件。

注意事项

  1. 第 3 方 Web 应用程序在 IIS 7 中默认网站下的虚拟目录(例如 arcgis/rest/)中运行。它在自己的应用程序池中运行,该应用程序池配置为 . NET 2.0 而不是 4.0。
  2. 自定义模块安装在 Web 应用程序 bin 文件夹中,并使用 web.config 文件而不是 IIS 7 模块管理进行配置。

总结一下:如何使用 Visual Studio 2010 调试为第 3 方 Web 应用程序开发的自定义 HttpModule?

最佳答案

需要检查的一些事项:

  • 确保您拥有正确的流程。 ASP.NET 可以决定生成多个工作进程,特别是当应用程序池之间的进程标识不同时,等等。

  • 确保在注册模块的 Web 应用程序的 web.config 的编译元素中设置了 debug="true"

  • 确保模块正在 Debug模式下编译(即:正在生成调试符号)。

调用应用程序应该是无关的。您应该能够通过使用网络浏览器向注册模块的 virdir 发出请求来测试这一点。

关于debugging - 如何将 Visual Studio 2010 连接到 IIS 7 以调试为现有第 3 方 Web 应用程序编写的自定义 HttpModule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3016908/

相关文章:

android - 如何调试android SDK类?

c# - 使用 HttpModule 进行异常处理

c# - HttpModule 中的异步事件处理程序

visual-studio-2008 - f# 可变变量不显示在 VS 2008 本地调试窗口中

c++ - 原始缓冲区的分配/损坏 - 如何继续调试?

vba - 调试VBA,查找问题和故障排除方法

visual-studio-2010 - 如何仅使用一组解决方案/项目文件同时针对 Win32 和 x64 平台?

visual-studio-2010 - 将文件夹添加到解决方案资源管理器

c++ - MFC 应用程序中奇怪的控件显示损坏

c# - 无法加载文件或程序集 'msshrtmi' 或其依赖项之一(Azure 表存储访问)