我已经制作了一个 C# 应用程序,现在我想创建 自定义调查(实际上是自动发送数据给我,关于 - 崩溃、使用持续时间等)来增强我的应用程序。
我该怎么做?
你可以这样做:
System.Threading.Timer
实例并设置所需的计划来发送统计信息。或者只是在用户每次启动您的应用程序时发送它们。WebClient/HttpClient
将统计数据发送到您的 REST 服务。教程:
对于您的这一评论受到的粗暴对待,我们深表歉意。我们中的许多人都明白您并不是要求我们为您编写代码,而且我认为您有一个合理的问题。
您可能还想了解 .Net Trace 功能。虽然您不会自动收到发送给您的数据,但有一个内置的、易于使用的、不显眼的框架,可以让您收集统计数据。以下是一些可查看的链接:
另请参阅
就这样吧。另一种可能的方法来解决这个问题。
您自己的服务需要大量工作来设置服务器来收集指标并生成报告,而存在第 3 方服务,它为应用程序指标和异常报告提供全面的端到端解决方案。我曾与 sentry.io 合作过。它们是为大型复杂的后端系统构建的,但它在小型 C# WPF 桌面应用程序的上下文中对我来说效果很好。只需大约十行代码即可“开始”。例如,这将启动并运行异常报告:
using System.Windows;
public partial class App : Application
{
public App()
{
SentrySdk.Init(o =>
{
// Tells which project in Sentry to send events to:
o.Dsn = "https://example.ingest.sentry.io/x";
// Enable Global Mode since this is a client app
o.IsGlobalModeEnabled = true;
});
DispatcherUnhandledException += App_DispatcherUnhandledException;
}
void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
SentrySdk.CaptureException(e.Exception);
// If you want to avoid the application from crashing:
e.Handled = true;
}
}
我相信mixpanel
和rollbar提供类似的东西。