Tag: 错误报告

WPF应用程序的exception报告

所以假设我碰巧在我的应用程序中有一个未处理的exception,或者由于某种原因它崩溃了。 有什么方法可以捕获输出并在应用程序崩溃时显示错误报告对话框。 我在想的是在后台运行一个小程序,其唯一的工作就是监听主应用程序的exception退出,然后显示“报告”对话框,用户可以选择通过电子邮件向我发送错误输出。 不确定如何实现这一点,或者这是否是正确的方法。 报告错误消息将是一项简单的任务,但我不知道如何捕获未处理exception的输出或获取退出代码(我假设程序在崩溃时会给出除0以外的退出代码)。 在正确的方向上轻推是很棒的。

在exception期间捕获原始HTTP POST数据

我有一个托管在IIS / ASP.NET中的WCF服务,它接受序列化对象的HTTP Post( 不是表单post )。 如果客户端发送格式错误的请求(例如,他们没有正确序列化对象),我想记录发送的消息。 我们已经在使用ELMAH捕获未处理的exception,因此只需附加发布数据就是最简单的选择。 我可以在exception期间获取当前的HttpContext,但是这只包含HTTP标头信息。 我的问题是:有没有办法捕获原始HTTP POST请求正文? 或者,失败 – 捕获导致错误的输入的更好方法(没有反向代理)? 编辑:只是为了澄清,始终运行数据包级捕获并不合适。 我正在寻找一个可以部署到生产服务器的解决方案,它将拥有我们无法控制的客户端或监控能力。 编辑#2:建议访问Request.InputStream – 如果您在WCF已从流中读取请求后尝试读取,则此操作无效。 一个示例代码,以了解我是如何尝试使用它的。 StringBuilder log = new StringBuilder(); var request = HttpContext.Current.Request; if (request.InputStream != null) { log.AppendLine(string.Format(“request.InputStream.Position = \”{0}\””, request.InputStream.Position)); if (request.InputStream.Position != 0) { request.InputStream.Seek(0, System.IO.SeekOrigin.Begin); } using (StreamReader sr = new StreamReader(request.InputStream)) { log.AppendLine(string.Format(“Original Input: […]

global.asax中的Application_Error未捕获WebAPI中的错误

对于我正在开发的项目,我们正在实现的一件事是我们在一些旧的ASP.NET和MVC项目团队中编写的代码 – 一个Application_Errorexception捕获器,它将开发团队的电子邮件发送给开发团队。exception经验和最相关的细节。 这是它的外观: Global.asax中: protected void Application_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError(); string path = “N/A”; if (sender is HttpApplication) path = ((HttpApplication) sender).Request.Url.PathAndQuery; string args = string.Format(“Path: {0}”, path); // Custom code that generates an HTML-formatted exception dump string message = Email.GenerateExceptionMessage(ex, args); // Custom code that sends an email […]