C# 如何使用Application Insight';什么是持久性通道?
当internet连接可用时,应用程序insights for wpf应用程序运行良好,我能够跟踪azure portal中的页面和事件,但我想知道,当没有internet连接时,是否可以在系统中的某个位置存储遥测数据,当系统联机时检索遥测数据,并跟踪我在以下情况下执行的操作:他们没有互联网连接。我建议您看一下,它有一些很好的代码示例,说明如何在桌面应用程序中使用Application Insights,以及如何使用持久性频道。摘自上述链接:C# 如何使用Application Insight';什么是持久性通道?,c#,azure,azure-devops,azure-application-insights,C#,Azure,Azure Devops,Azure Application Insights,当internet连接可用时,应用程序insights for wpf应用程序运行良好,我能够跟踪azure portal中的页面和事件,但我想知道,当没有internet连接时,是否可以在系统中的某个位置存储遥测数据,当系统联机时检索遥测数据,并跟踪我在以下情况下执行的操作:他们没有互联网连接。我建议您看一下,它有一些很好的代码示例,说明如何在桌面应用程序中使用Application Insights,以及如何使用持久性频道。摘自上述链接: public MainWindow() {
public MainWindow()
{
TelemetryConfiguration config = TelemetryConfiguration.CreateDefault();
config.InstrumentationKey = "954f17ff-47ee-4aa1-a03b-bf0b1a33dbaf";
config.TelemetryChannel = new PersistenceChannel();
config.TelemetryChannel.DeveloperMode = Debugger.IsAttached;
telemetryClient = new TelemetryClient(config);
telemetryClient.Context.User.Id = Environment.UserName;
telemetryClient.Context.Session.Id = Guid.NewGuid().ToString();
InitializeComponent();
}
然后:
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
...
private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
ExceptionTelemetry excTelemetry = new ExceptionTelemetry((Exception)e.ExceptionObject);
excTelemetry.SeverityLevel = SeverityLevel.Critical;
excTelemetry.HandledAt = ExceptionHandledAt.Unhandled;
telemetryClient.TrackException(excTelemetry);
telemetryClient.Flush();
}
更新
要跟踪页面视图,您可以使用遥测客户端的一个重载,例如:
telemetryClient.TrackPageView("MyPageName");
希望有帮助 你好,你可以看看这个。这应该是可能的,但可能很难,并且有一些限制。我可以在wpf@Ivanyang中获得实现持久性通道的c#代码吗?这应该是可能的,但我不熟悉wpf项目,所以您可以创建并寻求指导。我可以在pageviews@Itay PodhajCerb中获得它吗?但持久性通道中有一个bug。。。。由于网络适配器的原因,无法收集数据。:)