|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你所列的那些其实差不多都可以称为应用服务器(servlet应该说是一种语言更合适)java是开放的,相同的工具就会有很多公司在做,加上java已经发展了很多年了,因此这些工具就很多了。他们很多都是类似的。asp.net|客户端从一入手下手,开辟职员便受制于web的无流动形态这一特征。也就是,一旦某个页面被哀求并加载,客户端到服务器真个毗连便一向延续。AJAX举措将核心会合于XMLHTTP工具,这个工具使得服务器间的通信成为大概。最新版的ASP.NET(2.0)供应了本人的体例来猎取服务器哀求,不再请求用户介入。
没法毗连
几年来,人们提出林林总总的办法来躲避web使用中的无流动形态范围。次要的办法是削减页面哀求或重载的数目,以免影响用户感到。比方,良多开辟职员利用埋没框架作为数据源,如许数据就能够很复杂的发送或吸收,别的,一些开辟职员也选择一入手下手加载一切必要加载项,从尔后续页面加载量就削减了。可是,在必需哀求服务器端挪用时就会呈现成绩,从而引进了AJAX组手艺。AJAX使用XMLHTTP工具和XML和客户端剧本(如javascript)来处置异步服务器挪用。
ASP.NET模子
当页面被用户哀求时,ASP.NET页面的默许举动入手下手产生并在哀求的客户端加载。用户经由过程诸如单击按钮等各类举措来和页面举行交互。这些举措大概触发一个称为postback的服务器端挪用(比方,作为举措的了局前往给哀求主机的页面是从头加载的该页面的更新版)
页面前往是要支付价值的。比方,大概会丧失客户端形态,和在和服务器通信时大概会影响用户体验由于他们要守候通信和页面重载。AJAX办法经由过程利用一台服务器帮助异步通信来办理这些成绩,且不会影响用户体验。一个相似的办法能够经由过程利用ASP.NET2.0的ICallbackEventHandler接话柄现。
完成callback
callback是一个分离了某个特定的用户接口工具的函数。它实行某个举措作为对工具事务的反响。事务能够是大批鼠标单击大概其他事务中的任何一个。
在ASP.NET2.0中完成callbacks和尺度web页中完成有些差别。上面列出了必要在页面代码中修正的中央:
1、页面必需完成ICallbackEventHandler接口。
2、页面必需完成ICallbackEventHandler接口的RaiseCallbackEvent办法,在服务器上挪用这个办法实行callback函数。
3、页面必需完成ICallbackEventHandler接口的GetCallbackResult办法,这个办法将把callback函数的实行了局前往给客户端。
经由了以上代码修正,就能够在客户端页面(HTML源代码)利用callback函数。页面必需包含客户端函数以用来实行实践的服务器哀求和吸收服务器哀求的前往了局。- <%@PageLanguage="C#"%>
- <%@ImplementsInterface="System.Web.UI.ICallbackEventHandler"%>
- <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
- <html><head>
- <title>ASP.NETCallback</title>
- <scriptlanguage="C#"runat="server">
- voidPage_Load(objectsender,EventArgse){
- StringcallbackRef;
- StringcallbackScript;
- callbackRef=Page.ClientScript.GetCallbackEventReference(this,"arg","GetData","");
- callbackScript="functionCallServer(arg,context){"+callbackRef+";}";
- Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"CallServer",callbackScript,true);
- }
- publicstringGetCallbackResult(){
- return"Thecurrenttimeis:"+DateNow.ToString();
- }
- publicvoidRaiseCallbackEvent(StringeventArgument){
- }
- </script>
- <scripttype="text/javascript">
- functionGetData(arg,context){
- Results.innerText=;
- }
- </script></head><body>
- <formid="frmCallback"name="frmCallback"runat="server">
- <inputtype="button"value="Callback"/>
- <br><spanid="Results"></span>
- </form></body></html>
复制代码 中的C#页供应了完成callback的一个实例。上面是部分代码申明:
1、该页面中的Page_load事务经由过程页面的ClientScript属性中的GetCallbackEventReference办法设定一个对callback函数的援用。这个办法能够承受这些参数:对页面的援用;传送数据的参数名;吸收callback数据的客户端函数名;传送你想要失掉的任何情况变量的参数名,在本例中,这个情况变量未利用。
2、包括的援用函数用来创立用于挪用服务器的函数(在本例中为callbackScript变量)。固然,被天生函数承受的参数名必需和传送给GetCallbackEventReference办法的名字相婚配。最初,callback剧本必需经由过程页面临象ClientScript属性中的RegisterClientScriptBlock办法举行注册。
3、GetCallbackResult办法供应callback函数前往的输出了局。本例中服务器上确当前数据和工夫被前往。
4、吸收callbacks的客户端函数在页面的头部被加载(本例中为GetData)。这个函数名必需和传送给GetCallbackEventReference办法的相婚配。该函数吸收两个字符串值作为前往值和一个可选第二值作为由服务器前往的情况变量值。
5、页面中的按钮和callback函数相干联。在本例中,HTML的span工具吸收callback前往了局。
顺畅的用户体验
制止页面重载简化用户体验削减客户端和服务器真个数据传输量。你可使用AJAX办法供应这个功效。你还可使用ASP.NET2.0的callback函数供应撑持。这些手艺的使用是多方面的,总之,任何进步用户体验的改善都是对营业无益的。
效率会有不少的变化。而实际上java是基于堆栈机器来设计,这和我们常见的基于寄存器的本地机器是差异比较大的。总体来说,这是一种虚拟机的设计思路。 |
|