代码改变世界

讲座展示:TechEd Europe DEV344 - ASP.NET AJAX Control Toolkit(下)

2006-11-18 19:18 by Jeffrey Zhao, 2699 阅读, 0 推荐, 收藏, 编辑
摘要:此次讲座分为两部分:“ASP.NET AJAX Control Toolkit介绍和使用”以及“开发一个Extender控件”。本文将对于该讲座的第二部分进行讲述,并且对其第二个演示的剩余部分进行分析。 阅读全文

Borland工具部门预计将在2007年初独立为CodeGear公司

2006-11-18 09:14 by Jeffrey Zhao, 2572 阅读, 0 推荐, 收藏, 编辑
摘要:虽然如此,虽然Turbo Pascal和Delphi已经久远了,但是还是觉得Borland编译器和工具部门的各种产品无疑是优秀的,至少我觉得Delphi 6的水准超过了VS.NET 2003。我不懂这种公司决策,虽然Borland不可能恢复书本上才能看到的辉煌,不过总是希望Borland能够继续生存下去,不管是Borland还是CodeGear。http://www.borland.com/us/... 阅读全文

讲座展示:TechEd Europe DEV344 - ASP.NET AJAX Control Toolkit(中)

2006-11-17 18:17 by Jeffrey Zhao, 2849 阅读, 0 推荐, 收藏, 编辑
摘要:此次讲座分为两部分:“ASP.NET AJAX Control Toolkit介绍和使用”以及“开发一个Extender控件”。本文将对于该讲座的第二部分进行讲述,并且对其第二个演示的第一个部分进行分析。 阅读全文

盼望着可以早点装Vista

2006-11-16 23:39 by Jeffrey Zhao, 1187 阅读, 0 推荐, 收藏, 编辑
摘要:正在为安装Vista做准备,早在一年多前,我就装过一次Vista,不过具体的感觉已经忘记了。准备尽快装好,就可以开始体验Vista了。:) 阅读全文

讲座展示:TechEd Europe DEV344 - ASP.NET AJAX Control Toolkit(上)

2006-11-15 18:23 by Jeffrey Zhao, 5594 阅读, 0 推荐, 收藏, 编辑
摘要:这次我选择的讲座内容是最近在TechEd 2006 Europe中Shawn Burke的讲座“ASP.NET AJAX Control Toolkit Unleashed: Creating Rich Client-Side Controls and Components”。Shawn Burke是微软.NET Developer Platform总监。   此次讲座的内容主要是对于ASP.NET AJAX Control Toolkit进行简单的介绍,展示了Extender控件是如何帮助ASP.NET开发人员简单地将丰富的用户体验集成到他们的Web应用程序中。在这次讲座里将看到应该如何在您的应用中使用ASP.NET AJAX Control Toolkit中的组件,并且了解开发人员是如何方便地开发一个APS.NET AJAX Extender的。   此次讲座分为两部分:“ASP.NET AJAX Control Toolkit介绍和使用”以及“开发一个Extender控件”。本文将对于该讲座的第一部分进行讲述,并且对其第一个演示进行分析。 阅读全文

推荐:体验TechEd 2006 Europe Edition

2006-11-14 20:37 by Jeffrey Zhao, 2315 阅读, 0 推荐, 收藏, 编辑
摘要:TechEd 2006 China不久刚落下帷幕,TechEd 2006 Europe Edition又在西班牙巴塞罗那风风火火地开始了。微软为这次盛会专门准备一个网站来介绍它的一切。在这个站点里您能够看到此次盛会的大量相关信息,当然也有Virtual Side,不过最重要的就是其中有部分讲座的视频!这些都是优秀的资源。 阅读全文

深入Atlas系列:Web Sevices Access in Atlas示例(7) - 编写JavaScriptConverter处理含有循环引用的类型

2006-11-13 16:48 by Jeffrey Zhao, 3292 阅读, 0 推荐, 收藏, 编辑
摘要:有时候在Web Service中会需要使用到比较复杂的类型,它们的特征往往都是含用循环引用,这样的对象如果交给ASP.NET AJAX中默认的序列化方式来处理则会抛出异常,大家经常遇到的“DataTable”问题正是由此引起的。关于这一点,ASP.NET AJAX自然提供了解决方法,在这里“官方”的解决方案就是JavaScriptConverter,它可以让开发人员自定义特定类型的序列化能力。 阅读全文

写什么样的文章关注的人会多一些呢?

2006-11-13 11:22 by Jeffrey Zhao, 1489 阅读, 0 推荐, 收藏, 编辑
摘要:发现我用心写的文章却反而少有人关注。人气高的反而都是些半小时内能够“描述”的东西,甚至于只是“新闻”形式的介绍。一步小心进来看到的朋友麻烦给点建议吧,都不知道写什么好了,sigh。 阅读全文

深入Atlas系列:综合示例(1) - 调用服务器端方法时直接获得客户端具体类型

2006-11-11 23:04 by Jeffrey Zhao, 4290 阅读, 0 推荐, 收藏, 编辑
摘要:在使用ASP.NET AJAX时,大家对于返回服务器端的复杂类型的情况经常会遇到问题。Dflying兄写了一篇文章来说明在如何在客户端得到Sys.Preview.Data.DataTable对象的文章,但是这种方法需要在客户端进行Sys.Preview.Data.DataTable的构造,那么我们该如何直接获得这个对象呢?再进一步,我们该如何直接获得客户端某种特定格式的对象呢?本篇文章给出了一个解决方案,事实上,这个扩展的能力还不止如此…… 阅读全文

深入Atlas系列:Web Sevices Access in Atlas示例(6) - 在客户端隐藏服务器端类型信息

2006-11-11 01:37 by Jeffrey Zhao, 2346 阅读, 0 推荐, 收藏, 编辑
摘要:如果要在客户端指定服务器端Web Service方法所接收的参数类型,就必须在客户端通过“__type”来指定,但是这就暴露了服务器端的具体类型了,这可不太好。现在我们就来看一下应该如何解决这个问题。 阅读全文

深入Atlas系列:探究序列化与反序列化能力(下) - JavaScriptSerializer

2006-11-10 00:39 by Jeffrey Zhao, 7081 阅读, 1 推荐, 收藏, 编辑
摘要:在ASP.NET AJAX中,客户端的序列化与反序列能力由Sys.Serialization.JavaScriptSerializer类的serialize和deserialize两个静态方法提供。在服务器端,所有的序列化与反序列化能力,包括类型之间的转换,对于开发人员来说都是由JavaScriptSerializer类的几个方法实现的。从前一片文章里我们已经知道了两个辅助的类:JavaScriptTypeResolver和JavaScriptConverter,他们的作用分别是“映射类与类标识”,以及“提供特定类的序列化与反序列化能力”。在某些情况下,我们还是需要使用JavaScriptSerializer类的方法来操作一个类型,例如使用JavaScriptConverter来自定义特定类的序列化或者反序列化,就需要使用JavaScriptSerializer类的方法,因此我们这次就详细看一下这个类的能力。 阅读全文

近期微软的一些动作还是比较令人欣喜的

2006-11-08 22:12 by Jeffrey Zhao, 3473 阅读, 0 推荐, 收藏, 编辑
摘要:关键字:下一代Windows平台技术,Virtual Earth 3D,Windows Sysinternal 阅读全文

深入Atlas系列 - 浅析ASP.NET Beta 2中令人疑惑的脚本引入方式

2006-11-08 02:36 by Jeffrey Zhao, 4888 阅读, 0 推荐, 收藏, 编辑
摘要:似乎已经有不少朋友在作了ASP.NET AJAX Beta 1到Beta 2的转移之后遇到了这样的问题:如果使用了ScriptManager引入了自定义的JavaScript脚本文件后会发生JavaScript错误。本文简单讨论了引发这个问题的原因,解决方案以及注意事项。 阅读全文

AJAX培训第一讲:AJAX基础

2006-11-07 20:45 by Jeffrey Zhao, 23953 阅读, 5 推荐, 收藏, 编辑
摘要:经过了5个小时的准备,10多个小时的录制和剪辑,我终于将第一次AJAX培训的内容做完了。录一次讲座真的是一件费神费时的事情,我也深切感受到了天轰穿兄录了数十次讲座有多么不容易。这是我第一次录制讲座,所以经验有些不足,而且对着屏幕一个人傻傻地说话总是不如对着观众说话,在语气上也略显单调。虽然我已经极力yy正在为数十人作讲座的情形,但是似乎效果不甚理想。另外不知道是什么原因,录下来的声音总是不像我的原声,听上去也有些沉闷,请大家多多包涵了。如果大家对于讲座的方式上有什么意见或者建议的话,请回复在这里,您的支持能够让我们的工作越做越好。如果大家对于讲座的内容有任何疑问,请在Q & A专用文章里进行提问,当然如果您有其它任何疑问的话,也能在那里提出,我会尽快为您解答。 阅读全文

深入Atlas系列:探究序列化与反序列化能力(上) - 客户端支持,JavaScriptTypeResolver与JavaScriptConverter

2006-11-06 23:41 by Jeffrey Zhao, 4562 阅读, 1 推荐, 收藏, 编辑
摘要:在ASP.NET AJAX中是使用了JSON作为客户端与服务器端传递对象信息的方式。因此,在ASP.NET AJAX的客户端与服务器端均提供了序列化与反序列化的能力。了解这些内容的使用方法,可以说是使用与扩展ASP.NET AJAX所必须的能力。在这两篇文章里,我们就来看一下ASP.NET AJAX中的序列化与反序列化的能力。 阅读全文

深入Atlas系列:探究Application Services(3) - 自定义客户端Profile Service支持

2006-11-05 21:32 by Jeffrey Zhao, 2837 阅读, 0 推荐, 收藏, 编辑
摘要:  如果不能在客户端进行自定义的话,Profile Service的自定义能力还是远远不够的。虽然Profile Service没有提供一种“官方”的客户端自定义支持,不过事实上“自定义”能力“天然”地存在与客户端里。为什么?因为整个客户端是由JavaScript实现的,这种灵活的语言使得我们能够在一定程度上自由地修改客户端的行为。 阅读全文

深入Atlas系列:探究Application Services(2) - 自定义服务器端Profile Service支持

2006-11-04 04:09 by Jeffrey Zhao, 2198 阅读, 0 推荐, 收藏, 编辑
摘要:在上一篇文章中,我们讨论了使用ASP.NET AJAX默认的Profile Service。一般来说,它已经能够迎合大多数应用的需要了。不过除此之外,ASP.NET AJAX还提供了让我们自定义Profile Service的机制。 阅读全文

深入Atlas系列:探究Application Services(1) - Profile Service分析与使用

2006-11-02 23:43 by Jeffrey Zhao, 2629 阅读, 0 推荐, 收藏, 编辑
摘要:ASP.NET AJAX提供了Profile Service,允许开发人员异步地从服务器端访问Profile信息。从RTM开始,客户端的Profile Service还提供了对于Profile Group的支持,因此可以说已经相当成熟了。那么对于Profile Service的细节,是否大家都了解了呢?从ScriptManager的使用上来看,ProfileService是能够扩展的,那么应该如何扩展呢?细心的朋友们应该也发现了,在web.config中也增加了对于Profile Service的配置,那么这些配置应该如何使用呢? 阅读全文

深入Atlas系列:Web Sevices Access in Atlas(8) - RTM中可叹的Web Service Proxy

2006-11-01 17:39 by Jeffrey Zhao, 2186 阅读, 0 推荐, 收藏, 编辑
摘要:使用Web Service Proxy应该是使用ASP.NET AJAX访问Web Service最常用的方法了。服务器端会根据ScriptManager中添加的Service引用而对于Web Service类进行分析,并生成相应的客户端脚本。这样开发人员就能在客户端方便而且直观地访问Web Services方法了。这是ASP.NET中很重要的功能。从官方文档上看来,CTP和RTM似乎在脚本使用这方面没有很大的改变,只要在服务器端将一些CustomAttribute改变一下就可以了。的确没错,在使用方式上只有这点细微改变,但是事实上,从生成脚本本身来说,CTP和RTM的做法大相径庭。 阅读全文

呼,“深入Atlas系列”好难写

2006-11-01 03:43 by Jeffrey Zhao, 2151 阅读, 0 推荐, 收藏, 编辑
摘要:写了3个多小时,却越写觉得越没有价值,一狠心,删了。以后在动手前要想清楚了。工作有点忙了,不过要坚持。 阅读全文

深入Atlas系列:Web Sevices Access in Atlas(7) - RTM中的客户端支持

2006-10-30 16:46 by Jeffrey Zhao, 2897 阅读, 0 推荐, 收藏, 编辑
摘要:在RTM版本中,客户端访问Web Services的基础类库发生了一些改变,并直接影响到了它们的使用方式。对于自己写ASP.NET AJAX组件(例如ExtenderControl)的朋友们来说,了解这部分改变是非常重要的。 阅读全文

深入Atlas系列:客户端网络访问基础结构示例(1) - 编写并使用自定义的WebRequestExecutor

2006-10-30 03:05 by Jeffrey Zhao, 3199 阅读, 0 推荐, 收藏, 编辑
摘要:WebRequestExecutor是ASP.NET AJAX网络访问基础结构的唯一修改点。理论上,我们可以使用自定义的WebRequestExecutor来取代默认的XMLHttpExecutor。我们要做的,其实只是开发一个继承于Sys.Net.WebRequestExecutor类。不过事实上,在实际使用中,Sys.Net.XMLHttpExecutor已经足够用了,真的要自定义,也只需继承这个类即可。就像接下去的例子一样。 阅读全文

Q & A专用文章(已过期)

2006-10-29 05:32 by Jeffrey Zhao, 68308 阅读, 22 推荐, 收藏, 编辑
摘要:Updated:有关.NET方面的任何问题都可以问,老赵会设法为大家解答。 阅读全文

深入Atlas系列:客户端网络访问基础结构(下) - WebRequestExecutor和XMLHttpExecutor

2006-10-29 05:10 by Jeffrey Zhao, 2712 阅读, 0 推荐, 收藏, 编辑
摘要:正如前一篇文章所说的那样,WebRequestExecutor是客户端网络访问的基础结构的唯一扩展点,而XMLHttpExecutor是其默认实现。在ASP.NET AJAX中,开发人员能够将自定义的WebRequestExecutor子类设为默认的Executor,也可以为某一个WebRequest指定一个特定的Executor。虽然一般来说XMLHttpExecutor已经足够大多数应用,但是既然ASP.NET AJAX提供了这个功能,我们也根据默认的类进行一下这方面的学习。 阅读全文

AJAX讲座内容提纲(意见征询)

2006-10-29 00:05 by Jeffrey Zhao, 3479 阅读, 0 推荐, 收藏, 编辑
摘要:AJAX作为一个“新生事物”已经被几乎所有人接受了。大家对于AJAX应该也有了一定的学习,因此我总是感觉AJAX的东西容易让人听腻,想做好不容易。下面是我初步定下来的提纲,希望大家能多提一些意见和建议,我会随时更新和细化这些内容。 阅读全文

祝老爸生日快乐!

2006-10-28 03:37 by Jeffrey Zhao, 2534 阅读, 0 推荐, 收藏, 编辑
摘要:今天是父亲生日,一定要纪念一下的。:)顺便也祝一下比尔同学,毕竟和我老爸同年同月同日的…… 阅读全文

深入Atlas系列:客户端网络访问基础结构(上) - WebRequest的工作流程与生命周期

2006-10-27 00:50 by Jeffrey Zhao, 3983 阅读, 1 推荐, 收藏, 编辑
摘要:ASP.NET AJAX的许多功能会要求异步地访问服务器端,例如访问Web Services,Authentication/Profile Services(事实上和访问Web Services是相同的机制)和Partial Rendering。在ASP.NET AJAX中,所有的这些访问都是通过一个网络访问的基础结构来完成的,无一例外。 阅读全文

万恶的小偷,还我钱包来!

2006-10-26 11:20 by Jeffrey Zhao, 3424 阅读, 0 推荐, 收藏, 编辑
摘要:习惯性地上车后就到头睡觉,在迷迷糊糊之中习惯性地摸口袋……顿时大惊失色,钱包没了!钱是小事,可是好多证啊卡啊都没有了……完了…… 阅读全文

深入Atlas系列:客户端代码编写规则分析与指南

2006-10-25 18:29 by Jeffrey Zhao, 4230 阅读, 0 推荐, 收藏, 编辑
摘要:在RTM版本中,我们可以发现ASP.NET AJAX的客户端脚本引入了许多规则:有方法注释规则,有参数验证规则,而且对于Debug和Release模式下的脚本代码,甚至添加在程序集里的方式,也有相当严禁的规则。如果我们想要编写真正规范和严谨的代码或组件,了解这些规则是非常必要的。有了这些规则,用户在使用Debug模式进行开发和调试时可以得到更好的提示(比如Call Stack),下一版本的Visual Studio“Orcas”也会根据这些规则提供良好的IntelliSense功能。另外,了解这些规则也有利于帮助开发人员阅读和理解客户端代码,这不也是我写“深入Atlas系列”的目的吗?在这片文章里,我将使用ASP.NET AJAX的脚本代码为范例,对开发规则进行一番描述。在某些时候也会对客户端和服务器端的部分代码进行简单的分析。 阅读全文

[意见征集]AJAX培训

2006-10-25 00:30 by Jeffrey Zhao, 3435 阅读, 0 推荐, 收藏, 编辑
摘要:承蒙厚爱,经过培训团队的讨论之后,决定将由Dflying Chen和我负责AJAX部分的培训。初期培训的方式是录制视频讲座并提供下载,等条件成熟后会逐渐转向在线培训的方式。  培训的内容为AJAX,将着重讲述AJAX在ASP.NET中的应用。初期的侧重点将是AJAX基础部分的讲解,并逐渐过渡到微软公司的ASP.NET AJAX框架。虽然会由我们来决定讲座的内容与提纲,但是由于我们的目的是服务于各位... 阅读全文

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

2006-10-24 11:01 by Jeffrey Zhao, 2690 阅读, 0 推荐, 收藏, 编辑
摘要:ASP.NET 1.0 Beta将客户端的Debug能力大大减弱了,window.debug对象目前只剩下了fail和trace功能,这让以客户端开发为中心的开发人员觉得非常不满。本文为RTM增加了CTP的trace和dump能力。 阅读全文

在虚拟主机上部署ASP.NET AJAX 1.0 Beta的程序集

2006-10-23 17:46 by Jeffrey Zhao, 4113 阅读, 0 推荐, 收藏, 编辑
摘要:说明了在虚拟主机中部署ASP.NET AJAX 1.0 Beta的程序集的方法,并提供模版下载。 阅读全文

从Atlas到Microsoft ASP.NET AJAX(9) - Using the Value-add Scripts

2006-10-23 02:48 by Jeffrey Zhao, 4025 阅读, 0 推荐, 收藏, 编辑
摘要:Discussed the usage of the Value-add Scripts 阅读全文

从Atlas到Microsoft ASP.NET AJAX(8) - UpdatePanel Control

2006-10-22 21:17 by Jeffrey Zhao, 4646 阅读, 0 推荐, 收藏, 编辑
摘要:对于UpdatePanel控件的使用是ASP.NET AJAX Extentions的重要部分。我们收到了关于它和UpdateProgress控件的大量用户反馈。为了增强部分刷新的功能我们作了多处修改,并加强了UpdatePanel对于控件的兼容性。我们也为异步PoskBack实现了一个丰富的事件模型,这样您就可以在客户端响应它们并对页面更新提供额外操作了。 阅读全文

从Atlas到Microsoft ASP.NET AJAX(7) - ScriptManager and ScriptManagerProxy Controls, Extender Controls

2006-10-22 12:18 by Jeffrey Zhao, 4356 阅读, 0 推荐, 收藏, 编辑
摘要:Discussed ScriptManager, ScriptManagerProxy and Extender Controls 阅读全文

从Atlas到Microsoft ASP.NET AJAX(6) - Networking, Application Services

2006-10-22 01:47 by Jeffrey Zhao, 2997 阅读, 0 推荐, 收藏, 编辑
摘要:为了简化Web Services方法调用,客户端代理的设计被改变了,它在方法调用和回调函数设置方面提供了强大的灵活性。另外,在RTM版本中,客户端的Authentication服务和Profile服务使用了一个简化的并且更为灵活的设计。这个设计与客户端访问Web Services方法保持了统一。 阅读全文

从Atlas到Microsoft ASP.NET AJAX(5) - Higher-level Component Framework

2006-10-21 21:32 by Jeffrey Zhao, 3077 阅读, 0 推荐, 收藏, 编辑
摘要:高级组件的功能已经根据客户反馈,性能等诸多因素进行了修改。 阅读全文

从Atlas到Microsoft ASP.NET AJAX(4) - Browser Compatibility, Building Debug and Release Scripts, Defining Type Descriptors

2006-10-21 17:15 by Jeffrey Zhao, 3214 阅读, 0 推荐, 收藏, 编辑
摘要:Discussed the differences of the following aspects between CTP and RTM release of Microsoft ASP.NET AJAX: 1、Browser Compatibility 2、Building Debug and Release Scripts 3、Defining Type Descriptors 阅读全文

从Atlas到Microsoft ASP.NET AJAX(3) - Class and Type Definition, Reflection APIs

2006-10-21 15:00 by Jeffrey Zhao, 3531 阅读, 0 推荐, 收藏, 编辑
摘要:在CTP版本中,您能创建各种各样的类型,例如类,接口,枚举和标记(flag)。这些功能在RTM版本中被改变了。 阅读全文

从Atlas到Microsoft ASP.NET AJAX(2) - Class、JavaScript Extensions (Client BCL)

2006-10-21 13:06 by Jeffrey Zhao, 3934 阅读, 0 推荐, 收藏, 编辑
摘要:在CTP release中,“类”和类型是使用closure定义的,在类的构造函数中生效(尽管这些类不能以.NET Framework中的类的方式理解,为了方便,我们在这里还是将它们称之为类)。在RTM中,我们使用了prototype模型。另外,CTP版本包括了对于JavaScript内置对象的一系列扩展,这些会继续保留在RTM版本中。然而,它们被重新设计以避免与其它AJAX框架的潜在冲突。 阅读全文