6

2008 年,Jeff 写了一篇关于负责任地崩溃的帖子。本着这种精神,我试图在我的崩溃错误对话框中添加一个“发送错误报告”按钮。这个想法是用户可以很容易地发送一个完整的错误报告,其中已经包括版本信息、操作系统信息、堆栈跟踪......这些信息应该放在消息正文或附件文件中。

不幸的是,从 .NET 应用程序发送这样一封电子邮件似乎并不简单:

有没有人找到一个安全可靠的解决方案来做到这一点?

4

3 回答 3

3

我们通过创建一个简单的 WCF Web 服务解决了这个问题,该服务获取堆栈跟踪、压缩日志等,客户端将其发布给它,然后让 Web 服务服务器发送电子邮件。这样您就不必在客户端拥有 SMTP 身份验证信息,也不必依赖用户通过他们的电子邮件客户端提交错误报告。

我们现在甚至通过此 Web 服务定期压缩客户端日志并将其提交到后端服务器,并分析这些日志以先发制人地检测任何客户端问题,以免对客户端造成问题

于 2010-12-21T14:13:07.010 回答
2

一种快速的方法是设置您的服务器以通过 PHP fe 接收信息。创建一个ErrorReport.php并尝试使用您包装在 base64 包中的所有信息来调用它。

这“仅”需要端口 80 上的 Internet 访问,这很可能是可用的。您可以从那里处理信息并将其传递到数据库 fe 中。

于 2010-12-21T14:13:23.650 回答
0

您可以 - 当使用您自己的兼容服务器时 - 只需创建一个类似套接字结构的“telnet”即可将数据直接发布到您的服务器中。

像这样的东西:http ://www.csharphelp.com/2007/07/sending-email-with-c-using-smtp/

于 2010-12-21T14:07:03.440 回答