原文地址:http://blog.appfail.net/2012/06/do-you-know-when-your-web-site-fails.html

  免责申明:本文为翻译,仅用于学习交流,版权归原作者所有 (Sam & Peter)

  更多说明:本着自学加深记忆之目的翻译此文,不用于任何商业用途

 

  上周,我们启动了ASP.NET基于云端的异常监视服务的测试版:appfail.

  以我作为一名专业的.NET开发人员来给Appfail一个概览以及介绍它将如何发展.

  

  这个想法是从哪里来的

  我是墨尔本Kiandra IT的一名开发组长.我们运行大量复杂的ASP.NET web应用程序并且我们为客户关注这些应用程序的质量.

  我一直认为在.NET开发社区要普遍认可监视策略带来的效力是不容易的:

  • ELMAH插件(一个强大的.NET异常报告插件)
  • 配置将异常记录到数据库或电邮地址
  • 定期从一个庞大的日志列表检查特定异常
  • 使用try找到最有可能发生故障的那个真正原因
  • 如果发生某个极细小的异常--周期性地检查日志将是多么可怕

 

  我之前在微软任职.我做Windows Vista,Windows 7和快速搜索的工作.Windows团队都享有Windows错误报告带来的便利.当用户遇到异常时,我们收到这个错误的详细信息,包括堆栈跟踪和迷你转储.不但提供了故障场景的详细信息,还提供了经常频繁发生故障的图片.结合异常的细节和发生时的状态在一起让你能更好的确定最可能的故障原因来修复它.

  我想把它带入ASP.NET--并且让开发者使用起来尽量简单.

 

  为开发者定制的故障分析

  将Appfail嵌入到你的ASP.NET web应用程序,它将报告所有未处理的异常到云服务端.我们将它设计得直观,更形象:

  登录到Appfail控制面板来查看你的web应用程序的故障分析并且迅速地集中精力在故障的原因上:  

  

  异常按类型和堆栈跟踪来分组--这里的分组被称作故障.看见你感兴趣的NullReferenceException没有?单击故障名来查看故障分析.它是什么时候发生的?有多频繁?

  

  查看堆栈跟踪和异常类型

  

  可以看到,这个错误发生了14次.

  作为开发者,你想知道发生故障的条件.Appfail对发生的某故障进行汇总,显示故障发生时间,URL,遇到故障的登录用户和用户的设备平台及浏览器.

  

  你还可以更深入的查看故障的特定发生详细情况.这个截图显示了详细信息,包含全部查询/提交表单值,cookies,服务器信息,变量等:

  

  

  通知

  作为开发者,我们并不想应用程序每次发生异常的时候都收到一封电子邮件.

  我们将它设计成你可以定义你想知道的重要事件.某个特别关键的URL是否在正常工作?当故障发生在这个URL上时记录并接受到通知.是否出现了你特别担心的特定故障(像StackOverflowException)?当它发生是记录并接收通知.Appfail支持电邮和文本/短信通知,我们不久将添加Twitter DM.

 

  站点覆盖

  最近在开发社区有一个针对站点覆盖的趋势(想象一下:一个迷你堆栈溢出分析器)...我太爱它了!没有它的话我就不会去设计Appfail :-)

  如你所见,覆盖图显示当前URL曾经报告过的异常数量.单击覆盖在页面下部将展开类似firebug的Appfail面板.

  

  面板显示该页面上最常见的异常,并且让你深入获得更多信息.你甚至可以单击跳转到另一个标签上的Appfail控制面板.

  如果故障发生在表单提交提示,Appfail可以"重现"导致故障发生的情况.重现会自动高亮表单并且填入故障发生时被提交的值:

  

  并不是所有情况下都可以这样(特别是Javascript&AJAX被调用),但是大多数情况下是有帮助的.

 

  集成NuGet

  Appfail支持ASP.NET WebForms和MVC 1/2/3.它很容易被嵌入:

  安装Appfail via NuGet,接着在web.config中配置应用程序的Appfail API token(添加应用程序到appfail.net的时候会生成)

  生成应用程序,可以离开了(完成了)!(这里是打开自定义错误的MVC3 extra step)

  

  永远免费

  现在是测试版,所有账号都是免费的 -- 即使测试结束我们也将继续为.NET开发者提供一个强大,免费的平台.针对需要更多的的存储容量和流量的情况,将计划收费.

  我们自己也寄宿了大量网站,并且我们希望给其它开发者提供一样的服务.

 

  未来计划

  关于Appfail我们有大量好的主意和好的计划.

  首要的是添加Javascript支持.我们想要提供给客户端与服务端一样强大的错误分析和通知

 

  结束语

  本文介绍了Appfail以及为什么它能满足我们的需要.

  我们热切希望得到回复和建议--不管它有多挑剔!

  想要了解更多-- 点击using Appfail to fix issues in Appfail.

  如果要尝试使用Appfail,head over to our site and sign up.

  Twitter 加关注:@appfaildotnet

  感谢!

  Sam & Peter

 

  

 posted on 2012-06-26 13:37  Walking Dead  阅读(142)  评论(0)    收藏  举报