Share via


第五周的NuGet软件包 – 使用Glimpse调试ASP.NET MVC应用程序

[原文发表地址] NuGet Package of the Week #5 - Debugging ASP.NET MVC applications with Glimpse

[原文发表时间] 2011-04-19 02:39 PM

您实施了NuGet行动计划吗?行动起来吧,它只需5分钟: NuGet行动计划——升级到1.3版本安装自动更新获取NuGet 软件包浏览器。NuGet 1.3已经发布了,请确认你设置了自动更新。

故事背景:我正在思考既然NuGet.Net软件包管理网站开始逐渐充实,那么我应该开始在那寻找宝石了(没有双关含义)。您知道,就是那种大家可能没有发现的真正有用的东西。我将主要寻找开放源代码项目——我认为它们很有用。我会查看它们如何生成NuGet软件包,看看它们设计开箱体验(out of the box experience)时有没有什么有趣的地方(以及任何它们可以改进的举措),当然也会关注软件包本身所做的事。

服务器内的客户端Glimpse

除了在实施时使用JavaScript的客户端与使用ASP.NET的服务器端挂钩之外,Glimpse就像是FireBug客户端的调试器。

clip_image001

Glimpse不仅包括比Phil Haack的原始路径调试器更好的技术支持,也能很好地支持使用很少但非常有用的Trace.Write()。

我们可以在实际使用中查看。你现在可跟着我做,只需不到5分钟

在一个新建的ASP.NET MVC应用程序中(或WebForms,也是这样),安装 Glimpse。

Add Library Package Reference

运行我的应用程序前,我会先稍微提一下 Trace.Write Trace和Trace.Error,仅为了说明一下。

现在,开始运行应用程序。我可以通过点击书签打开 Glimpse,但我更愿意通过浏览 https://localhost:portname/Glimpse/Config然后点击“打开 Glimpse”按钮。以后我要把点击书签拖到我的工具栏上。

Glimpse Config

接下来,当我访问网站时,注意到 Glimpse控制面板在页面的底部!太疯狂了,它不是一个浏览器插件,读者们,那全是JavaScript。

Gimpse DIV up on the default ASP.NET MVC page

*Mind blown*看到我在跟踪选项卡中的服务器端的跟踪信息了吗?是不是比Trace.axd更好?

如果切换到路由选项卡,我可以看出哪个路由符合 my /Home/About请求。

Using Glimpse to Debug Routes

 这里是 Glimpse的执行选项卡,我可以看到已经执行的方法,包括那些不应被执行的。太疯狂了。 

The Execution Tab of Glimpse

Glimpse与 ELMAH,是我最喜欢选择的ASP.NET MVC加载项。我每天都会使用它,并且建议你也这样做。

我仅仅只是接触到 Glimpse能实现的功能的表面部分,但我会留下有关它扩展的网站,这个网站是https://www.getglimpse.com

希望你们喜欢。