代码改变世界

ASP.NET AJAX Beta1 发布

2006-10-22 15:47 by Cat Chen, 735 阅读, 0 推荐, 收藏, 编辑
摘要:Atlas在7月的CTP之后就几个月没有更新了,当然就意味着之后会来一个大更新,这就是ASP.NET AJAX Beta1。ASP.NET AJAX Beta1将原来的CTP拆分为两个部分:1.0核心和增值CTP,同时原来的Atlas Control Toolkit也改名为ASP.NET AJAX Control Toolkit了。上述3个下载都已经更新了,然而要把老的Atlas项目迁移到新版本则... 阅读全文

.NET 里 String 的特性

2006-10-22 15:47 by Cat Chen, 1415 阅读, 0 推荐, 收藏, 编辑
摘要: String是指System.String,同时string关键字也是System.String的别名。这里要说的特性都是一些让不理解的人容易犯错的特性。String的第一个特性就是它是引用类型,但很多时候表现起来却像值类型,这是第一个让人容易犯错的地方。String有一个不可破坏的特性(immutable),或者简单叫做只读特性,这意味任何改变String的操作其实都没有改变原本那个... 阅读全文

控件 ViewState 属性的值保存去哪里了

2006-10-22 15:45 by Cat Chen, 2412 阅读, 0 推荐, 收藏, 编辑
摘要: 看过MSDN的都知道,存取ViewState有两种方法: 直接操作控件的ViewState属性,通过this.ViewState[key]就可以直接进行读写。 重写控件的LoadViewState和SaveViewState方法。在LoadViewState中系统会将此控件以ViewState保存的信息作为一个object类型参数传入,控件需要自己将信息unboxing出来。在Save... 阅读全文

AJAX - 服务器端也用 JavaScript 不好吗?

2006-10-22 15:44 by Cat Chen, 1452 阅读, 0 推荐, 收藏, 编辑
摘要:现在ASP.NET要实现AJAX已经不难了,可以用同时有服务器端扩展和客户端框架的Atlas,也可以选一个Atlas之外的服务器端JSON串并转换器和支持JSON-RPC的客户端框架。类似的,PHP等现在热门的语言都有服务器端JSON串并转换器,唯独已被人放弃的ASP没有,所以很多人都为如何在ASP上实现AJAX而感到困惑。 要在ASP实现AJAX,首先考虑的是用什么数据格式进行传输,主流的选择就... 阅读全文

XNA - Microsoft 平台的新游戏框架

2006-10-22 15:43 by Cat Chen, 941 阅读, 0 推荐, 收藏, 编辑
摘要:最近突然对DirectX又有点兴趣(之前有过n次兴趣,都是轻轻碰一下让DirectDraw绘下图就不想弄了),于是就下载了最新的DirectX SDK下来,想看看现在的Managed DirectX(MDX)有什么好入手的地方。结果发现最新的DX SDK也只有MDX 1.1,那么MDX 2.0在哪呢?上网以搜索才发现,原来MDX 2.0的开发计划已经终止而技术支持也将中止,MS推出了XNA这个新项... 阅读全文

ASP.NET 2.0 中的 DataSource 系列控件

2006-10-22 15:41 by Cat Chen, 909 阅读, 0 推荐, 收藏, 编辑
摘要:在ASP.NET 2.0中,引入了DataSource系列控件,扔一个到页面上并且选择性的配置好SELECT/UPDATE/INSERT/DELETE对应的操作,它就能够和数据空间无缝合作自动处理查询与更新,并且提供分页、排序等支持。 有一些ASP.NET 1.x的程序员,并不喜欢使用DataSource控件,觉得还是按找1.x的写法在Page_Load里面设定数据控件的DataSource属性然... 阅读全文

Script# - 把 C# 编译为 JavaScript

2006-10-22 15:39 by Cat Chen, 1959 阅读, 0 推荐, 收藏, 编辑
摘要:原来有一样东西叫做Script#,是Atlas的主要开发者之一的Nikhil Kothari自己编写的一个小框架,目标就是制作一个C#编译器让C#可以直接编译为JavaScript,并且是不经过编译为IL这个步骤。 之前我就说过,以MS的做法如果要想继续宠着那群很RAD的ASP.NET程序员,并且确保他们继续think inside MS's box,那就必须做一个C#到JavaScript的编译... 阅读全文

.NET 的灵魂是什么?

2006-10-22 15:37 by Cat Chen, 1119 阅读, 0 推荐, 收藏, 编辑
摘要:这是个很有趣的问题,但我觉得Microsoft也不能正面回答这个问题,估计他们会想rephrase这个问题,然后用他们的官方口吻回答。 先说说为什么会提这样的问题。那天和Piggest在逛购书中心,她说那些列很多Photoshop特效制作方法的书看再多都没有用,因为你看一个制作方法就只学到了这一个,而看《选择的艺术》这样的书,你才能领会到Photoshop的核心思想和使用方式,之后你就懂得如何灵活... 阅读全文

Meebo 和 GMail + Talk 等 WebIM 的实现方式

2006-10-22 15:35 by Cat Chen, 2037 阅读, 0 推荐, 收藏, 编辑
摘要:我用Fiddler监听过Meebo和GMail + Talk,终于知道他们是如何实现event机制的了(也有人称之为Comet模式)。event包括好友发信息给你、好友上线/下线,甚至连是否显示某某人"is typing"的状态变换也算,反正就是指模仿桌面应用event机制需要服务器端主动触发客户端的东西。 例如有一个event.ashx是专门负责发送event消息的,那么工作的时候就保证一个客户... 阅读全文

初次使用Atlas JavaScript (Part 3 - 实现自己的应用)

2006-10-22 15:35 by Cat Chen, 878 阅读, 0 推荐, 收藏, 编辑
摘要:在这里,我假设你肥肥的客户端是基于MVC设计,同时Web Service的内容是以数据为中心的。 在说客户端之前,必须先说说服务器端如何设计。如果服务器端你习惯了3层设计,那就保留你以前的数据访问层和业务逻辑层设计方法,用一模一样的方法完成这两层,只不过我们不再有通过Page表现的UI,而是通过Web Service直接暴露一些业务逻辑层的调用,这就是服务器端需要完成的一切。看起来没有了Page轻... 阅读全文

初次使用Atlas JavaScript (Part 2 - Web Service扩展)

2006-10-22 15:32 by Cat Chen, 823 阅读, 0 推荐, 收藏, 编辑
摘要:Atlas对Web Service两方面的扩展包括:1.自动生成javascript代理类的代码2.在javascript代理类调用时使用JSON表达式进行数据交换 通过看Atlas项目的web.config,你可以发现*.asmx现在关联到了一个新的handler,也就是ScriptHandlerFactory,这个handler的行为很简单,如果请求是REST方式则用新的RestHandler... 阅读全文

初次使用Atlas JavaScript (Part 1 - JavaScript扩展)

2006-10-22 15:30 by Cat Chen, 925 阅读, 0 推荐, 收藏, 编辑
摘要:Atlas的服务器端控件已经说了,现在说说客户端脚本。Atlas的脚本分为xml-script和javascript两部分:xml-script作为一种描述性语言主要用来做Controller,直接放在页面里面;javascript经过Atlas库扩展后可以用来写Atlas特有的客户端控件,而其内容最好放在独立的js文件中通过引用来使用。xml-script我还没有专门研究过,不是太懂其机制,所以... 阅读全文

Atlas 服务器端控件 - 易用但不灵活

2006-10-22 14:54 by Cat Chen, 516 阅读, 0 推荐, 收藏, 编辑
摘要:首先,我会把Atlas服务器端控件区分为两类,纯服务器端控件和客户端逻辑封装控件。前者类似WebControl派生出来的控件那样,它自身并非直接呈现(render)一个客户端元素的实例就算,而是拥有复杂的服务器端逻辑,它呈现出来的HTML由交错的规则决定着;至于后者,则类似HtmlControl派生出来的控件,它所做的基本上就是将自身呈现为一个单一的客户端元素,其服务器端属性比较直接的生成客户端元... 阅读全文

ViewState - ASP.NET 的一个特有存储容器

2006-10-22 14:52 by Cat Chen, 3462 阅读, 4 推荐, 收藏, 编辑
摘要:首先,我不确定是不是只有ASP.NET由ViewState,也不确认它有多特有,只是觉得这个东西对于Web开发MVC分离的进步很有帮助。 所谓的ViewState,就是用来存放关于View的State的地方。以前的存储容器包括Cookies, Session, Application, Cache, Hidden,有时候连传递变量用的QueryString也用作存储容器,但都不是专门用来存储Vie... 阅读全文

ASP.NET 设计优秀之处

2006-10-22 14:51 by Cat Chen, 646 阅读, 1 推荐, 收藏, 编辑
摘要:我觉得ASP.NET设计得最好的地方,就是控件树的概念。虽然WebForm的概念很烂,误导了不少没有Web开发经验的程序员,但它带来的控件这一概念及控件树结构就真的很好。 控件树优秀的地方,就在于它把整个页面的处理逻辑分割到控件,控件与控件之间是松耦合的,不存在任何依存关系。以往的Web开发,所有的代码都是平板式的接受Request平板式的输出Response,Request被看作由不同的Requ... 阅读全文

ASP.NET 2.0 的编译模型并非完全像 MS 说的那样

2006-10-22 14:50 by Cat Chen, 823 阅读, 1 推荐, 收藏, 编辑
摘要:上次说到了ASP.NET 2.0解决了Code-Behind需要同步声明控件的问题,说MS的图例解释2.0中aspx和cs的内容不再是继承的关系,而是partial的关系,是合并编译。然后我说了,如果是partial关系,那么处理过程就很复杂。因为partial不能增量编译,也就不能跨语言编译,必须把aspx部分内容完全翻译为cs或者其他对应Code-Behind语言,然后才能够多partial一... 阅读全文

LoadPostData 最多只有两次

2006-10-22 14:49 by Cat Chen, 1202 阅读, 0 推荐, 收藏, 编辑
摘要:在很多MSDN的一般文档中,都回避了LoadPostData这个问题,直接就说Page由Init到Load然后就是控件事件了。而根据我的实验,在Load的前后会出现两次的LoadPostData,而最后在MSDN也找到了独立的文章证实了这个流程。一般的HTML中静态声明的控件初始化应该发生在Init,Init之后这些控件也就初始化完成。然后此时会有一次LoadPostData,这是面向仅使用HTM... 阅读全文

ASP.NET 2.0 解决了 Code-Behind 需要控件声明同步的问题

2006-10-22 14:45 by Cat Chen, 879 阅读, 0 推荐, 收藏, 编辑
摘要:这显然是一个非常明智而且很早就应该实现的做法,因为已经在HTML中声明为runat="server"的控件,就应该算是声明过,还要在code-behind中同步的用C#代码再声明一个同名控件显然是违反了《程序员修炼之道》中所谓的DRY(Don't Repeat Yourself)原则。 原本ASP.NET 1.x的编译模型是编译站点时先编译code-behind部分,然后得到code-behind... 阅读全文

ASP.NET 2.0 ClientScript Callback

2006-10-22 14:41 by Cat Chen, 1025 阅读, 0 推荐, 收藏, 编辑
摘要:当AJAX出名的时候,ASP.NET 2.0已经基本上完成并且离最后发布时间还剩下半年,此时人人都希望MS为ASP.NET 2.0加上AJAX支持但MS说我们没时间加了,AJAX将成为独立的Atlas项目并出现在ASP.NET 3.0中。不过ASP.NET 2.0中有一个非常通用的但只能称为Method而不能称为Framework的AJAX支持,那就是Callback。 Callback的使用非常... 阅读全文

ASP.NET 2.0 实在太强了!

2006-10-22 14:38 by Cat Chen, 686 阅读, 0 推荐, 收藏, 编辑
摘要:.NET Framework 1.x设计很优秀,但是很多东西都还没有,只能借用.NET Framework写自己的Framework然后再用。好象.NET Framework给你不少东西,但实际上你自己不开发自己的Framework那么.NET Framework根本做不了大项目。例如Sharepoint的WebPart架构是套很好的东西,但是只有MS自己用得爽,不装Sharepoint你就不能用... 阅读全文

我不懂 ASP.NET

2006-10-22 14:36 by Cat Chen, 751 阅读, 0 推荐, 收藏, 编辑
摘要:这真是个严重的问题,而且我越来越发觉其严重性。要懂得ASP.NET语法非常容易,要学习MS提供给你那种RAD开发方法也很容易,但是你无法做大东西,或者说你只能够按照ASP的老路去做大东西,并不能“享受”ASP.NET带来的“优越性”。 要做到“优秀”的Web应用,最重要的就是“分离”(“正交设计”就是老生常谈的问题了)。首先就是Web Standards里面鼓催的内容(Content)与布局(La... 阅读全文

ASP.NET 是如何让 aspx 完全编译的呢?

2006-10-22 14:28 by Cat Chen, 1290 阅读, 0 推荐, 收藏, 编辑
摘要:我以前对这个问题一直持怀疑态度,因为.NET Framework里面就有很多TemplateControl处理类和方法挂上了Parse(或Parser)的字样,不过也有挂上Compile字样的。最近我确实测试了一次它是否完全编译: 我做了一个简单的纯asp页面: <html> <head> <title>Now!</title> </head... 阅读全文

2 Ways Thinking In Ajax

2006-10-22 14:21 by Cat Chen, 448 阅读, 0 推荐, 收藏, 编辑
摘要:至今来看,ajax的模式有两种,就是Google模式和.NE­T模式。 Google模式就是服务器仅仅接收xml和返回xml,其他一­切工作都是客户端做。开发的重点在于客户端,然后xmlhttp­仅仅用于发送和接收数据,服务器端则是仅处理数据的逻辑,如果把­xmlhttp看作"透明代理"的话,那么这个设计就是属于客户­端设计了。 .NET模式则刚刚好相反,虽... 阅读全文

进驻 cnblogs

2006-10-22 01:00 by Cat Chen, 561 阅读, 0 推荐, 收藏, 编辑
摘要:之前一直使用Blogger作为主要的技术blog,其实Blogger不是不好,不过用Blogger感觉是拉远了和其他人的距离。我写的东西关于.NET的比较多,而Blogger使用者那边比较多的是GFans,我写关于Google的东西不多,所以还是迁过来cnblogs比较好。最近我在尝试对我的blog进行“重构”,方法和代码重构差不多吧,目标是把技术贴集中在一起方便交流,同时... 阅读全文
上一页 1 ··· 4 5 6 7 8