老赵点滴


  先做人,再做技术人员,最后做程序员。
  我的理想:“让外国人看中国人写的技术书籍和文章”。Try as I might
posts - 290, comments - 10850, trackbacks - 158, articles - 6
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理
  昨天晚上(或者说今天凌晨)在和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文件。

Feedback

#1楼    回复  引用  查看    

2006-10-24 11:06 by Dflying Chen      
Debug.js放在什么地方呢?
Microsoft.Web.Resources.ScriptLibrary.PreviewScript.js这个文件在什么地方呢?嵌在Microsoft.Web.Preview中的?

#2楼 [楼主]   回复  引用  查看    

2006-10-24 11:10 by Jeffrey Zhao      
@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楼    回复  引用  查看    

2006-10-24 11:15 by Dflying Chen      
@Jeffrey Zhao
多谢!

#4楼 [楼主]   回复  引用  查看    

2006-10-24 11:16 by Jeffrey Zhao      
@Dflying Chen
:)

#5楼    回复  引用    

2006-10-24 14:53 by 01212 [未注册用户]
23300321

#6楼    回复  引用  查看    

2006-10-24 18:52 by 刚刚      
@Jeffrey Zhao和@Dflying Chen两位ASP.NET AJAX高手的对话!

#7楼 [楼主]   回复  引用  查看    

2006-10-24 20:01 by Jeffrey Zhao      
这……只要不是对决就可以了……

#8楼    回复  引用    

2006-10-24 22:17 by en[匿名] [未注册用户]
好赞!!!

#9楼    回复  引用  查看    

2006-10-24 22:19 by 小蜗牛      
能互相帮助,和讨论,真是开心的事情。:)

#10楼    回复  引用  查看    

2006-10-25 00:47 by cathsfz      
正文“window.debug对象目前只剩下了fail和trace功能”,是“fail和assert”。

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

最后那个zip文件我下载了几次(包括清理IE缓存后下载),WinRAR都提示不可识别或损坏,无法打开。

#11楼 [楼主]   回复  引用  查看    

2006-10-25 00:57 by Jeffrey Zhao      
@cathsfz
我现在也下不了了……

#12楼    回复  引用    

2006-10-26 16:05 by adow [未注册用户]
打开压缩文件包是提示“压缩文件已损坏”

#13楼 [楼主]   回复  引用  查看    

2006-10-26 16:07 by Jeffrey Zhao      
@adow
有的机器的确有这个问题。我把这个作为bug报告给dudu吧。

#14楼    回复  引用    

2006-10-27 09:34 by adow [未注册用户]
能不能直接把debug.js作为下载啊

#15楼 [楼主]   回复  引用  查看    

2006-10-27 10:07 by Jeffrey Zhao      
@adow
好像博客园只能上传压缩包……

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-10-25 00:58 编辑过


相关链接: