摘要:查看一下用ASP.NET AJAX-Enabled Web Site模板生成的网站文件里面的web.config,其中的pages部是这样的,
<pages><controls><add tagPrefix="asp" namespace="Microsoft.Web.UI" assembly="Microsoft.Web.Extensions, Version=1.0.61025.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35"/><add tagPrefix="asp" namespace="Microsoft.Web.UI.Controls" assembly="Microsoft.Web.Extensions, Version=1.0.61025.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35"/></controls><tagMapping><add tagType="System.Web.UI.WebControls.CompareValidator"
mappedTagType="Microsoft.Web.UI.Compatibility.CompareValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35"/><add tagType="System.Web.UI.WebControls.CustomValidator" mappedTagType="Microsoft.Web.UI.Compatibility.CustomValidator,
Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/><add tagType="System.Web.UI.WebControls.RangeValidator" mappedTagType="Microsoft.Web.UI.Compatibility.RangeValidator,
Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/><add tagType="System.Web.UI.WebControls.RegularExpressionValidator"
mappedTagType="Microsoft.Web.UI.Compatibility.RegularExpressionValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35"/><add tagType="System.Web.UI.WebControls.RequiredFieldValidator"
mappedTagType="Microsoft.Web.UI.Compatibility.RequiredFieldValidator, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35"/><add tagType="System.Web.UI.WebControls.ValidationSummary"
mappedTagType="Microsoft.Web.UI.Compatibility.ValidationSummary, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35"/></tagMapping></pages>
前面一部分把Microsoft.Web.Extensions里的控件的前缀设成asp,后面一部分则替换了原有的验证控件。
httpHandlers/httpModules部是这样的,
<httpHandlers><remove verb="*" path="*.asmx"/><add verb="*" path="*.asmx" validate="false" type="Microsoft.Web.Script.Services.ScriptHandlerFactory,
Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/></httpHandlers><httpModules><add name="WebResourceCompression" type="Microsoft.Web.Handlers.WebResourceCompressionModule, Microsoft.Web.Extensions,
Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/><add name="ScriptModule" type="Microsoft.Web.UI.ScriptModule, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35"/></httpModules>
前面一部分换掉了处理Web服务(*.asmx)的引擎,后面则在处理管道里添加 webresource.axd 资源压缩和脚本模块。脚本模块处理了3个事件,
protected virtual void Init(HttpApplication context){context.PreSendRequestHeaders += new EventHandler(this.PreSendRequestHeadersHandler);context.PostAcquireRequestState += new EventHandler(this.OnPostAcquireRequestState);context.AuthenticateRequest += new EventHandler(this.AuthenticateRequestHandler);}
对PreSendRequestHeaders事件,处理重新定向,把重新定向的地址写到回复数据里
private void PreSendRequestHeadersHandler(object sender,......[
阅读全文]