作者详谈ASP.NET AJA编制模型

开发 后端
Microsoft ASP.NET AJAX提供的客户端编程模型,可以看出Client FX正努力把客户端的编程模型向服务器端成熟的编程模型中靠拢。

本文主要介绍相关 ASP.NET AJAX提供的客户端编程模型,您可能会需要为基于prototype的类派生出“子类”,那么请不要在继承链中任何一个使用基于closure的类型。。。。

使用Closure是以前Atlas的硬伤,它大大影响了整个应用程序的性能。现在将定义类的方式变成了使用ASP.NET AJAX,这样在“表面”看上去有别于类的定义,在文档里提到了,如果是定义一个不会被派生的类,那么可以使用closure,但是我们还是应该完全使用prototype。这涉及到标准的遵循、性能和扩展性等各个方面。同样,除非真正必要,我们不应该访问一个对象里前缀是“_”的方法,它们被认作是私有成员。

“按章法出牌”能够提供更高的可维护性。Microsoft ASP.NET AJAX提供的客户端编程模型,甚至在以前Atlas中使用closure的方式来定义类的原因,不都是为了向服务器端的编程模型靠拢吗? JavaScript Extensions (Client BCL)

CTP版本包括了对于JavaScript内置对象的一系列扩展,这些会继续保留在RTM版本中。然而,它们被重新设计以避免与其它AJAX框架的潜在冲突。在RTM版本中去除了对于Array的prototype的扩展,使之变为Array类型的静态成员,它们通过被传入Array对象进行工作。#t#

在CTP版本中,存在一个基本的错误处理方式,不过它被扩展了。RTM版本谨慎地扩展了ASP.NET AJAX的prototype,从而提供了“强类型”的错误。组件开发人员尤其需要抛出错误(典型的debug脚本)。在RTM版本中,您能捕获异常,为之补充更详细的错误信息。下面的代码提供了最基本的错误处理方式的示例,演示了如果捕获错误并提供更详细的错误信息:

  1. functioncheckRange(index){  
  2.   if(index>10||index<0){  
  3.     throwError.argumentOutOfRange(“index”,index,  
  4.       "Theindexvaluemustbebetween0and10.");  
  5.   }  
  6. }  
  7. functionmyCallingFunction(value){  
  8.   try{  
  9.     checkRange(value);  
  10.   }catch(e){  
  11.     ee.message=e.name+“:”+e.message+“nIndexvaluewas:“+  
  12.       e.actualValue;  
  13.     throwe;//bubblesuptothedefaulterrortreatment  
  14.   }  
  15.   ...  

一个异常被抛出后,包含错误信息的ASP.NET AJAX对象会被浏览器处理。

责任编辑:chenqingxiang 来源: it168
相关推荐

2009-08-03 13:38:18

ASP.NET编程模型

2009-07-29 17:16:47

2009-07-23 18:56:50

ASP.NET Ses

2009-07-21 14:32:51

ASP.NET进程模型

2009-08-03 14:18:40

ASP.NET编程模型ASP.NET页面生命

2009-07-28 17:17:19

ASP.NET概述

2009-08-03 14:22:33

什么是ASP.NET

2009-07-22 17:45:35

ASP.NET教程

2009-08-03 13:12:34

ASP.NET编程模型

2009-08-03 12:40:46

ASP.NET编程模型

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入门教程

2009-08-10 13:32:15

ASP.NET TimASP.NET组件设计

2009-08-03 11:21:47

ASP.NET编程模型

2009-07-24 10:41:00

ASP.NET Web

2009-07-29 17:11:25

ASP.NET ISA

2009-07-29 16:08:07

ASP和ASP.NET

2009-08-03 17:35:07

ASP.NET WebASP.NET编程工具

2009-07-28 09:02:32

asp.net aja

2009-08-07 16:45:09

ASP.NET页面对象

2009-08-04 11:19:30

Web ResourcASP.NET 2.0
点赞
收藏

51CTO技术栈公众号