Spiga

为ASP.NET AJAX 1.0 Beta补充trace和dump功能

2006-10-24 11:01 by Jeffrey Zhao, 2038 visits, 网摘, 收藏, 编辑
  昨天晚上(或者说今天凌晨)在和cathsfz聊天时,他抱怨ASP.NET 1.0 Beta居然将客户端的Debug能力大大减弱了,window.debug对象目前只剩下了fail和assert功能,这让像他这样以客户端开发为中心的朋友觉得非常不满。

我看了一下相关代码,将以前Atlas.js中trace和dump功能另外写了一个Debug.js文件,可以作为ASP.NET AJAX 1.0 Beta的扩展。

和Atlas.js中的dump功能相比,Debug.js文件中的dump做了以下修改:
  • 使用基于prototype的扩展方式。
  • 改变了一些特殊类型对象的判断方式。
  • 将部分Sys.*的客户端功能使用Sys.Preview.*的客户端功能替代(会判断Value-add包有没有引入),以兼容CTP的类库。
  • 增加对于RTM版本中新的Type Descriptor模型的支持。
  • 不dump部分类型(例如Sys.UI.DomElement)的对象,以避免出现过多信息或死循环。
  在使用时,只需要引入Debug.js即可。例如下面将Value-add包与Debug.js文件一起引入了。
<asp:ScriptManager ID="ScriptManager1" runat="server">
    
<Scripts>
        
<asp:ScriptReference Assembly="Microsoft.Web.Preview"
            Name
="Microsoft.Web.Resources.ScriptLibrary.PreviewScript.js"/>
        
<asp:ScriptReference Assembly="Microsoft.Web.Preview" 
            Name
="Microsoft.Web.Resources.ScriptLibrary.PreviewGlitz.js"/>
        
<asp:ScriptReference Assembly="Microsoft.Web.Preview" 
            Name
="Microsoft.Web.Resources.ScriptLibrary.PreviewDragDrop.js"/>
        
<asp:ScriptReference Path="Debug.js" />
    
</Scripts>
</asp:ScriptManager>

这样,RTM版本就同样具有CTP版本中的trace和dump能力了,使用方式也和之前相同。如果您在使用过程中发现任何问题,请马上通知我。谢谢。:)

点击这里下载Debug.js文件。
0
0
(请您对文章做出评价)
« 上一篇:在虚拟主机上部署ASP.NET AJAX 1.0 Beta的程序集
» 下一篇:[意见征集]AJAX培训
Add your comment

15 条回复

  1. #1楼 Dflying Chen      2006-10-24 11:06
    Debug.js放在什么地方呢?
    Microsoft.Web.Resources.ScriptLibrary.PreviewScript.js这个文件在什么地方呢?嵌在Microsoft.Web.Preview中的?
      回复  引用  查看    
  2. #2楼[楼主] Jeffrey Zhao      2006-10-24 11:10
    @Dflying Chen
    Debug.js下载好以后引用到页面中就可以了,随便放在哪里都可以。

    <asp:ScriptReference Assembly="Microsoft.Web.Preview" Name="Microsoft.Web.Resources.ScriptLibrary.PreviewScript.js"/>
    这个是RTM新增的使用方式,表明从Microsoft.Web.Preview这个程序集中获取它的Microsoft.Web.Resources.ScriptLibrary.PreviewScript.js内嵌资源,然后引用到页面上。ScriptManager的Script引用方式变了很多,也灵活了很多。:)
      回复  引用  查看    
  3. #3楼 Dflying Chen      2006-10-24 11:15
    @Jeffrey Zhao
    多谢!
      回复  引用  查看    
  4. #4楼[楼主] Jeffrey Zhao      2006-10-24 11:16
    @Dflying Chen
    :)
      回复  引用  查看    
  5. #5楼 01212[未注册用户]2006-10-24 14:53
    23300321
      回复  引用    
  6. #6楼 刚刚      2006-10-24 18:52
    @Jeffrey Zhao和@Dflying Chen两位ASP.NET AJAX高手的对话!
      回复  引用  查看    
  7. #7楼[楼主] Jeffrey Zhao      2006-10-24 20:01
    这……只要不是对决就可以了……
      回复  引用  查看    
  8. #8楼 en[匿名][未注册用户]2006-10-24 22:17
    好赞!!!
      回复  引用    
  9. #9楼 小蜗牛      2006-10-24 22:19
    能互相帮助,和讨论,真是开心的事情。:)
      回复  引用  查看    
  10. #10楼 cathsfz      2006-10-25 00:47
    正文“window.debug对象目前只剩下了fail和trace功能”,是“fail和assert”。

    然后Beta1那种<asp:ScriptReference>的写法确实有趣,不仅能够自动从assembly提取资源引用,如果你指定ScriptMode="debug",它还懂得不使用*.js而使用*.debug.js。

    最后那个zip文件我下载了几次(包括清理IE缓存后下载),WinRAR都提示不可识别或损坏,无法打开。
      回复  引用  查看    
  11. #11楼[楼主] Jeffrey Zhao      2006-10-25 00:57
    @cathsfz
    我现在也下不了了……
      回复  引用  查看    
  12. #12楼 adow[未注册用户]2006-10-26 16:05
    打开压缩文件包是提示“压缩文件已损坏”
      回复  引用    
  13. #13楼[楼主] Jeffrey Zhao      2006-10-26 16:07
    @adow
    有的机器的确有这个问题。我把这个作为bug报告给dudu吧。
      回复  引用  查看    
  14. #14楼 adow[未注册用户]2006-10-27 09:34
    能不能直接把debug.js作为下载啊
      回复  引用    
  15. #15楼[楼主] Jeffrey Zhao      2006-10-27 10:07
    @adow
    好像博客园只能上传压缩包……
      回复  引用  查看