Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure Application Insight遥测用于内部部署web应用程序_C#_.net_Azure_Azure Application Insights - Fatal编程技术网

C# Azure Application Insight遥测用于内部部署web应用程序

C# Azure Application Insight遥测用于内部部署web应用程序,c#,.net,azure,azure-application-insights,C#,.net,Azure,Azure Application Insights,我使用Azure的application Insights在IIS上运行我们的内部部署.NET应用程序,如下所示。它一直工作得很好 据我所知,这是一种非侵入性、无代码的监控方法,旨在添加到已经部署并在生产中运行的应用程序中 然后我偶然发现了这篇文章。它表明这是在.NET核心应用程序上进行基于代码的监视所必需的 当我四处游荡试图找出这两种方法之间的区别时,我有点困惑,这是否意味着它们实际上都做了相同的事情,并且只有.NET Core才需要AddApplicationInsightsTelemetr

我使用Azure的application Insights在IIS上运行我们的内部部署.NET应用程序,如下所示。它一直工作得很好

据我所知,这是一种非侵入性、无代码的监控方法,旨在添加到已经部署并在生产中运行的应用程序中

然后我偶然发现了这篇文章。它表明这是在.NET核心应用程序上进行基于代码的监视所必需的

当我四处游荡试图找出这两种方法之间的区别时,我有点困惑,这是否意味着它们实际上都做了相同的事情,并且只有.NET Core才需要
AddApplicationInsightsTelemetry()


我是否需要将其添加到我的web.NET应用程序中,因为使用的一个子组件是使用.NET Core编写的?

根据gunr2171提到的评论,我(针对社区成员)总结了以下答案:

如果应用程序是.Net Framework,我们只需要“application Insights Status Monitor”,并按照Fylix提供的步骤进行操作。此解决方案是无代码的,但仅适用于.Net Framework,并部署在IIS上(如下屏幕截图所示)


如果应用程序是.Net Core,我们需要遵循以下步骤,将“Microsoft.ApplicationInsights.AspNetCore”sdk添加到项目中,并在启动类中使用“AddApplicationInsightsTelemetry”。我们还可以在Startup.cs类的ConfigureServices()方法中定制Application Insights SDK。

根据gunr2171提到的评论,我(针对社区成员)将答案总结如下:

如果应用程序是.Net Framework,我们只需要“application Insights Status Monitor”,并按照Fylix提供的步骤进行操作。此解决方案是无代码的,但仅适用于.Net Framework,并部署在IIS上(如下屏幕截图所示)


如果应用程序是.Net Core,我们需要遵循以下步骤,将“Microsoft.ApplicationInsights.AspNetCore”sdk添加到项目中,并在启动类中使用“AddApplicationInsightsTelemetry”。我们还可以在Startup.cs类的ConfigureServices()方法中自定义Application Insights SDK。

有两种方法可以为应用程序启用Application Insights:

  • 无代码方法-通常在应用程序已经部署并运行(在Azure或prem上)时使用。这种方法不需要修改源代码。有有限的定制可用 针对Asp.Net和Asp.Net核心应用的Azure Web应用程序支持无代码方法。()即将支持Java、Node.Js、Python等其他语言

    Azure VMs for Asp.Net()支持无代码方法

    Asp.Net应用程序的任何prem服务器都支持无代码方法。()

  • 基于代码的方法-使用的源代码是可访问的,通常需要添加一个nuget包(在.NET世界中)和1-2行代码。这提供了最大程度的定制,还能够发送定制遥测数据。实际应用程序在哪里运行几乎无关紧要——它可以在Azure、Prem或任何地方运行
  • 如果您使用的是Asp.Net核心应用程序,那么支持无代码方法的唯一地方就是Azure Web应用程序。对于其他地方,您需要使用基于代码的方法()


    如果您使用的是Asp.Net应用程序,Azure Web应用程序、Azure VMs和On-Prem中支持无代码。如果您想自定义遥测集合,您仍然可以使用基于代码的方法()。

    有两种方法可以对应用程序启用应用程序洞察:

  • 无代码方法-通常在应用程序已经部署并运行(在Azure或prem上)时使用。这种方法不需要修改源代码。有有限的定制可用 针对Asp.Net和Asp.Net核心应用的Azure Web应用程序支持无代码方法。()即将支持Java、Node.Js、Python等其他语言

    Azure VMs for Asp.Net()支持无代码方法

    Asp.Net应用程序的任何prem服务器都支持无代码方法。()

  • 基于代码的方法-使用的源代码是可访问的,通常需要添加一个nuget包(在.NET世界中)和1-2行代码。这提供了最大程度的定制,还能够发送定制遥测数据。实际应用程序在哪里运行几乎无关紧要——它可以在Azure、Prem或任何地方运行
  • 如果您使用的是Asp.Net核心应用程序,那么支持无代码方法的唯一地方就是Azure Web应用程序。对于其他地方,您需要使用基于代码的方法()


    如果您使用的是Asp.Net应用程序,Azure Web应用程序、Azure VMs和On-Prem中支持无代码。如果您希望自定义遥测集合,则仍然可以使用基于代码的方法()。

    如果您的应用程序是.Net Framework,则只需添加nuget包即可使其正常工作。如果您有.Net Core应用程序,则需要在Startup类中使用
    AddApplicationInsightsTelemetry
    方法。感谢@gunr2171,我们的web应用程序是.Net framework 4.7.2,但我们最近实现了一个用.Net Core编写的服务组件层。因此,我想现在我不会从该组件获得任何遥测数据,除非我按照您的建议将遥测方法添加到该组件的服务集合中。如果您的应用程序是.Net Framework,则只需添加nuget包即可使其正常工作。如果您有.Net Core应用程序,则需要在Startup类中使用
    AddApplicationInsightsTelemetry
    方法。感谢@gunr2171,我们的web应用程序是.Net framework 4.7.2,但我们最近实现了一个用.Net Core编写的服务组件层。因此,我想现在我不会从该组件获得任何遥测数据,除非我按照您的建议将遥测方法添加到该组件的服务集合中。t