ASP.NET AJAX 1.0 正式版分析

ASP.NET AJAX 1.0 配置详解
本文详细解析了ASP.NET AJAX 1.0版本中web.config的配置内容,包括section组、页面控件、编译设置、HTTP处理器及模块等,并列举了该框架的优点与缺点。

ASP.NET AJAX 1.0 正式版分析
web.config中配置

ContractedBlock.gifExpandedBlockStart.gif配置文件内容
None.gif<?xml version="1.0"?>
None.gif
<configuration>
None.gif  
<configSections>
None.gif    
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
None.gif      
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
None.gif          
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
None.gif        
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
None.gif          
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere" />
None.gif          
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
None.gif          
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
None.gif        
</sectionGroup>
None.gif      
</sectionGroup>
None.gif    
</sectionGroup>
None.gif  
</configSections>
None.gif
None.gif  
<system.web>
None.gif    
<pages>
None.gif      
<controls>
None.gif        
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
None.gif      
</controls>
None.gif    
</pages>
None.gif    
<!--
None.gif          Set compilation debug
="true" to insert debugging
None.gif          symbols into the compiled page. Because 
this
None.gif          affects performance, 
set this value to true only
None.gif          during development.
None.gif    
-->
None.gif    
<compilation debug="false">
None.gif      
<assemblies>
None.gif        
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
None.gif      
</assemblies>
None.gif    
</compilation>
None.gif
None.gif    
<httpHandlers>
None.gif      
<remove verb="*" path="*.asmx"/>
None.gif      
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
None.gif      
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
None.gif      
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
None.gif    
</httpHandlers>
None.gif
None.gif    
<httpModules>
None.gif      
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
None.gif    
</httpModules>
None.gif  
</system.web>
None.gif
None.gif  
<system.web.extensions>
None.gif    
<scripting>
None.gif      
<webServices>
None.gif      
<!-- Uncomment this line to customize maxJsonLength and add a custom converter -->
None.gif      
<!--
None.gif      
<jsonSerialization maxJsonLength="500">
None.gif        
<converters>
None.gif          
<add name="ConvertMe" type="Acme.SubAcme.ConvertMeTypeConverter"/>
None.gif        
</converters>
None.gif      
</jsonSerialization>
None.gif      
-->
None.gif      
<!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->
None.gif      
<!--
None.gif        
<authenticationService enabled="true" requireSSL = "true|false"/>
None.gif      
-->
None.gif
None.gif      
<!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved
None.gif           and modified 
in ASP.NET AJAX applications, you need to add each property name to the readAccessProperties and
None.gif           writeAccessProperties attributes. 
-->
None.gif      
<!--
None.gif      
<profileService enabled="true"
None.gif                      readAccessProperties
="propertyname1,propertyname2"
None.gif                      writeAccessProperties
="propertyname1,propertyname2" />
None.gif      
-->
None.gif      
</webServices>
None.gif      
<!--
None.gif      
<scriptResourceHandler enableCompression="true" enableCaching="true" />
None.gif      
-->
None.gif    
</scripting>
None.gif  
</system.web.extensions>
None.gif
None.gif  
<system.webServer>
None.gif    
<validation validateIntegratedModeConfiguration="false"/>
None.gif    
<modules>
None.gif      
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
None.gif    
</modules>
None.gif    
<handlers>
None.gif      
<remove name="WebServiceHandlerFactory-Integrated" />
None.gif      
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
None.gif           type
="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
None.gif      
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
None.gif           type
="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
None.gif      
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
None.gif    
</handlers>
None.gif  
</system.webServer>
None.gif
</configuration>
None.gif

 

优点:
1.可以处理继承的基类(这是很多ajax框架不具备的特点);
2.作为容器,对容器内控件实现AJAX,不需要编写其他代码
3.可以对Application,Session进行读写操作
4.不破坏原有的构架模式,最大的构架兼容性

缺点:
1.ViewState不能使用
2.Page_Load每次都要载入,替代方案,Session定义一个值控制

None.gifdot.gifPage_Load()
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    
if(!IsPostBack)
ExpandedSubBlockStart.gifContractedSubBlock.gif 
dot.gif{
InBlock.gif  
//这里可以继承基类定义
InBlock.gif
  if(Session["ajaxstate"]==null)
ExpandedSubBlockStart.gifContractedSubBlock.gif  
dot.gif{
InBlock.gif   
//处理代码
InBlock.gif
   dot.gif
InBlock.gif   Session[
"ajaxstate"]=false;
ExpandedSubBlockEnd.gif  }

ExpandedSubBlockEnd.gif }

ExpandedBlockEnd.gif}


3.没有前台调用API接口,对手动调用不足
4.对三方高级服务器控件的兼容性不足
5.在服务器重启后,处理不足。
6.页面提示信息采用控件层现方式,不能javascript:alert和后台:response方式层现提示数据


适用范围:
1.原始刷新模式升级为ajax模式,最小的代码改动量

总的来说,Asp.net AJAX为开发人员提供的最简单,灵活的ajax框架和实现方法。

转载于:https://www.cnblogs.com/mail-ricklee/archive/2007/01/25/629920.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值