【问题标题】:Debug .NET 2.0 web service from VS2003?从 VS2003 调试 .NET 2.0 Web 服务?
【发布时间】:2009-06-22 15:54:53
【问题描述】:

我在 VS2005 asp.net 2.0 框架应用程序中创建了一个 Web 服务,我需要在 1.1 框架应用程序中使用它。我构建了 Web 服务 - 然后构建了一个小的 1.1 框架测试器应用程序来调用它,它工作得很好。所以现在我已经以完全相同的方式将 Web 引用添加到我需要在其中使用它的主 1.1 框架应用程序中。被调用的 Web 方法是布尔类型,如果成功则返回 true。我恢复了真实-但是网络方法应该执行的更新没有发生。当我从小型测试应用程序调用 Web 方法时 - 它们发生得很好。

我的问题是 - 我怎样才能将它从我的 1.1 消费者调试到我的 2.0 提供者? MS 文档说我应该能够在调用 Web 服务时设置断点并直接介入(目前正在开发中,它们都在同一台机器上)。这不起作用,因为它只是跨过那行代码。任何帮助表示赞赏。

【问题讨论】:

    标签: asp.net web-services


    【解决方案1】:

    确保在两个 web.config 文件中都有 <compilation debug="true"/>,并确保它们都在 DEBUG 模式下构建。

    现在我想起来了,这可能行不通。我想您正在使用 VS2003 调试 .NET 1.1 代码,对吧?它不会进入 .NET 2.0 代码。您将不得不启动一个单独的 VS2005 实例,附加到运行 Web 服务的进程,设置断点,然后等待。

    【讨论】:

    • @John Saunders 是的 - 我正在运行 VS2003 的 1.1。尝试了你的建议 - 得到“无法附加到进程”弹出错误 - 没有别的。
    • 您收到了从 VS2005 附加到 .NET 2.0 服务的消息?为什么说不能附加?
    • 否 - 我收到来自 VS2003 的消息,试图附加到运行该服务的 2.0 应用程序。我实际上已经修复了我的 Web 服务问题,现在一切正常,但发现如何从使用 2.0 服务的 1.1 应用程序进行调试仍然很有趣。
    • Jim,这就是我的重点:VS2003 使用 .NET 1.1。它永远无法附加到 .NET 2.0 应用程序。您必须使用 VS2005 附加到 .NET 2.0 应用程序。
    • 好的 - 所以我有一个小型 1.1 测试应用程序调用该服务,一切正常。以相同的方式从主 1.1 应用程序调用相同的服务 - 没有发生更新?我怎么能说出为什么它以一种方式而不是另一种方式起作用? (它现在已经修好了,所以我实际上不得不再次打破它。)
    【解决方案2】:

    在 VS 2005 或 2008 中,您可以将任何进程附加到调试器,但在 VS2003 中我不这样做,它非常 arquaiq。

    如果不工作,你总是可以从 1.1 转换到 2.0 非常干净,因为有 2.0 的一半功能

    【讨论】:

    • 您确定可以将 VS2008 或 VS2005 调试器附加到 .NET 1.1 进程吗?我不这么认为,他们正在运行不同版本的 CLR。同样,您不能将 VS2003 调试器附加到 .NET 2.0 进程,因为 CLR 不同。
    • 实际上是 1.1 必须附加到 2.0 进程。无法转换 1.1 应用程序。它的巨大 ane 最终将被改写。正如我上面所说的 - 问题实际上已经解决了 - 现在只是对调试的好奇:)
    【解决方案3】:

    我一直无法使用 VS2003 调试 2.0 Web 服务,但我通常会设置两个调试器。一个用于 VS2003 中的 1.1 应用程序,第二个调试器附加到使用 VS2005 运行 Web 服务的 IIS(附加到 WinXP 中的 aspnet_wp.exe,或 WinServer2K3 或 Vista 上的 W3WP.exe)。这样,您可以调试您的 1.1 应用程序,并且您还可以在您的 Web 服务上安装一个调试器。

    始终启动调试器的另一种方法是将以下行添加到代码中,它会在调用时弹出一个对话框,为您提供正确的调试器选项:

    System.Diagnostics.Debugger.Break();
    

    如果您在要调试时将其添加到 Web 服务中,它将强制您打开调试器以继续执行代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-29
      • 2013-07-03
      • 1970-01-01
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多