在服务器上部署 ASP.Net 桌面应用程序后,Application Insight 未显示任何数据

Application Insight is not showing any data after deployment of ASP.Net Desktop application on server

我正在尝试通过对我现有的 ASP.Net 桌面应用程序的应用程序洞察启用基于代码的监控,我已执行以下步骤:

  1. 选择项目 > 添加 Application Insights 遥测 > Application Insights Sdk(本地)> 下一步 > 完成 > 关闭。 (已安装 Application Insights NuGet 包)

  2. 打开了 ApplicationInsights.config 文件。并在关闭前添加了 InstrumentationKey 在配置文件中

  3. 选择项目 > 管理 NuGet 包 > 更新。然后更新每个 Microsoft.ApplicationInsights NuGet 包到最新的稳定版本。

  4. 此外,已安装 Microsoft.ApplicationInsights.NLogTarget NuGet 包。

当我 运行 应用程序在本地处于调试模式时,它会将所有相关数据和异常日志发送到 Application Insight 门户。 但是当我部署它时,它不会向 Application Insight 门户发送任何数据或异常日志。

什么可能导致此问题以及如何解决?

注意:在上述基于代码的实现不起作用的同一部署服务器上,我安装了 Application Insight 代理并使用 powershell 脚本启用了监控。这工作正常并将数据发送到应用程序洞察门户。

任何人都可以指导我如何使第一种方法(基于代码)在部署后起作用吗?

提前致谢!

希望您已经更新了相关的 Application Insights 包。 检查以下可能性以修复没有数据共享到 Application Insights

  1. 请确保您部署的项目中包含以下 DLL。
  • Microsoft.ApplicationInsights.dll
  • Microsoft.AspNet.TelemetryCorrelation.dll
  • System.Diagnostics.DiagnosticSource.dll
  • Microsoft.Diagnostics.Instrumentation.Extensions.Intercept.dll
  1. 确保检查 ApplicationInsights.config 文件在您部署的项目中是否可用。这是 Build/Deploy 项目。
  2. 在您的 防火墙 中,您可能必须打开 443 TCP 端口。您可以使用FiddlerPerfview检查我们是否可以接收或获取数据。参考 IP address used by azure monitor
  3. 确保您在部署的项目中拥有所有 Application insights SDK 二进制文件
  4. 与服务器上的本地调试web.configweb.config相比(a.k.a ."Release") 略有不同,没有指定 AI 模块。
  5. 如果您需要使用代理在 外部传输数据,请在 Web.config 中设置 defaultProxy业务网络.

参考资料