3

我有一个想在 Visual Studio 2010 中调试的 Azure 解决方案。我有两个 MVC 站点设置为单个 Web 角色中的虚拟应用程序 - 从成本和 url 的角度来看,这种结构是有意义的。虚拟应用程序工作进程不会自动启动,因此 VS 不会附加到它。在浏览器中点击虚拟应用程序 url(即 localhost/app1)后,一个新的 w3p 进程启动,我可以手动附加到它。只是想知道那里是否有人以前做过这个,并且有关于如何自动附加到进程的提示。

听起来你必须手动执行的相关帖子:http: //social.msdn.microsoft.com/Forums/uk/windowsazuredevelopment/thread/f1c5d72b-9196-480e-ace6-3c9063be79a7

4

2 回答 2

0

这不是 Azure 特定的,但您可以在应用程序启动时触发断点:

    protected void Application_Start()
    {
        #if DEBUG
        System.Diagnostics.Debugger.Break();
        #endif

        ...
    }

您可以尝试将其与仅在您在模拟器中运行的启动任务结合起来,该任务会访问两个 Web 应用程序的 url(例如使用 wget.exe)。这将创建 w3wp 进程,触发 Debugger.Break。

资源:http: //blog.smarx.com/posts/skipping-windows-azure-startup-tasks-when-running-in-the-emulator

于 2012-04-13T06:29:52.300 回答
0

为了处理多站点角色,在开发时,我为每个站点都有一个单独的云项目,并且仅将一个组合用于部署目的。这并不理想,但它比整个手动连接更容易。

(对于历史爱好者来说,这种做法最初是在 SDK 添加对 Local 和 Cloud 配置文件的支持之前开始的。我们曾经有一个 Local 项目和一个 Cloud 项目,因为否则我们总是忘记在部署前切换连接字符串。)

于 2012-04-13T11:43:58.430 回答