在开发我的ASP.NET MVC时,我已经开始看到需要一个调试控制台窗口,以帮助弄清楚我的代码中出错的是什么。我阅读了Pro Asp.net MVC书的最后几章,作者详细介绍了如何使用http模块显示页面加载/创建时间和linq到sql查询日志,这两者我都希望能够看到。但是,由于我使用ajax单独加载了我的页面的许多小部分,所以我不希望在屏幕中间显示调试信息。
所以我提出的想法是有一个单独的浏览器窗口(可通过链接或某些javascript打开)和控制台日志,它可以包含来自javascript和asp.net mvc运行的记录条目。前者应该相对容易,但是我无法想出一种在ajax请求中记录asp.net信息的方法。
我一直在考虑的方向是创建一个httpmodule(就像Pro MVC书那样),并让该模块包含一些脚本标记,这些标记将javascript的日志附加到带有消息的控制台调用。我看到的问题是找到一种方法来从控制器的操作方法获取日志消息到httpmodule的方法。我看到这样做的唯一方法是使用单例,但我不确定单例是否是无状态Web应用程序的不良实践。
此外,似乎如果我使用我的ajax调用(而不是纯html)返回json,那么除非有办法将数据添加到httpmodule内的现有json结构,否则它将无法工作。
其他人如何在大量的ajax应用程序中处理这种类型的调试?
作为参考,我使用的javascript库是jquery。