【问题标题】:Azure - Debug web application without Azure EmulatorAzure - 在没有 Azure 模拟器的情况下调试 Web 应用程序
【发布时间】:2012-04-20 17:05:06
【问题描述】:

我有一个由我们自己托管的网络应用程序。

我们计划很快在 Azure 中托管,所以我添加了 Azure 项目。

现在,每当我调试时,都会加载 Azure 模拟器。在模拟器中调试很慢。

我在 Configuration Manager 中取消选中 Azure 项目的 Debug,但它仍然使用 Azure Emulator 进行调试。

在没有 Azure Emulator 的情况下,我是否可以调试(就像我的旧单个 Web 应用程序一样)?我可以在调试时删除 Azure 项目,并在准备好时重新创建它发布到 Azure;但是,这并不方便。

提前致谢!

【问题讨论】:

  • 我们刚刚将我们的应用程序从 Asp.net Web 应用程序项目转换为完整的 Azure 云解决方案。在以调试模式加载我们的网站之前只需要几秒钟。现在从按 F5 到查看网页至少需要 5 分钟。

标签: visual-studio-2010 azure azure-worker-roles


【解决方案1】:

如果您将 Web 角色项目(不是 azure/cloud 的项目)设置为启动项目,您应该能够正常调试 Web(asp.net?)项目(在开发 Web 服务器、IIS 或 IIS express 上)。

【讨论】:

  • 这仍然是最好的方法吗?
  • 只要您的应用程序不严格依赖/可以在没有 Azure RoleEnvironment 的情况下工作,可以。与通过模拟器运行相比,这将在应用程序启动期间为您节省几个步骤。
【解决方案2】:

要在不启动模拟器的情况下调试您的 Web 应用程序,您只需右键单击 Web 项目,选择 Debug,然后选择 Start new instance

现在,您必须注意一件事。默认情况下,您的 Web 应用程序的 web.config 中将包含以下内容:

<system.diagnostics>
  <trace>
    <listeners>
      <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
        <filter type="" />
      </add>
    </listeners>
  </trace>
</system.diagnostics>

现在,如果您在应用程序中使用 TraceDebug,则需要将这一行注释掉。如果你不这样做,你最终会在使用 Trace 或 Debug 进行日志记录时出错:

无法创建 Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener、Microsoft.WindowsAzure.Diagnostics、Version=1.0.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多