civ3

编程好玩

导航

Ajax.NET关键

Ajax.NET关键
1、配置
·引用dll到bin
·web.config截断HTTP到Ajax工厂
   <httpHandlers>
    <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
   </httpHandlers>
·运行时注册:
            AjaxPro.Utility.RegisterTypeForAjax(typeof(AH.Factrory));
            AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
当前ns或其他ns皆可
2、服务器程序:
使用标记,参数随便
        [AjaxPro.AjaxMethod]
        public string GetServerTime(string par,string ui)
        {
            string str = DateTime.Now.ToString();
               System.Threading.Thread.Sleep(2220);
            return str + par + DateTime.Now.ToString()+ui;
        }

3、客户端脚本
       function getServerTime_callback(res)
       {
          $("display").innerHTML +=res.value+"<br/>";
       }
      
       function dod(){
           AH.Factrory.GetServerTime("|+|","*******\9中文774r",getServerTime_callback); 
     
       }
直接从ns作为js对象,层层向下引用,直到调用方法。
第三个参数为异步回调函数。同步调用方法返回值就是服务器返回值。
4、牛狴之处
·多线程,比MagcAjax强悍许多。允许客户端同时跑很多异步线程,并行不悖。同步异步区别方便。
·多参数传递灵活,这比ICall好用多了,客户端脚本直接从ns引用服务器对象,用起来极爽。
·后台类型兼容到脚本环境,参考example,17种数据类型前后台互兼容。
·FF兼容(可惜Opera不兼容)

附:异步回调参数res的四个成员
error
value
request
context


Demo
https://files.cnblogs.com/civ3/Async.rar
Ref
http://zhuweisky.cnblogs.com/archive/2006/04/19/378870.html
http://gujianxin.cnblogs.com/archive/2006/04/19/379182.html
more:
http://weblogs.asp.net/mschwarz/archive/2006/04/03/441767.aspx

posted on 2006-04-22 21:38  civ3's .NET studying  阅读(309)  评论(0编辑  收藏  举报