仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 994|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET教程之使用ASP.NET 2.0客户端callbacks限定po...

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:49:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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函数。页面必需包含客户端函数以用来实行实践的服务器哀求和吸收服务器哀求的前往了局。
  1. <%@PageLanguage="C#"%>
  2. <%@ImplementsInterface="System.Web.UI.ICallbackEventHandler"%>
  3. <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
  4. <html><head>
  5. <title>ASP.NETCallback</title>
  6. <scriptlanguage="C#"runat="server">
  7. voidPage_Load(objectsender,EventArgse){
  8. StringcallbackRef;
  9. StringcallbackScript;
  10. callbackRef=Page.ClientScript.GetCallbackEventReference(this,"arg","GetData","");
  11. callbackScript="functionCallServer(arg,context){"+callbackRef+";}";
  12. Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"CallServer",callbackScript,true);
  13. }
  14. publicstringGetCallbackResult(){
  15. return"Thecurrenttimeis:"+DateNow.ToString();
  16. }
  17. publicvoidRaiseCallbackEvent(StringeventArgument){
  18. }
  19. </script>
  20. <scripttype="text/javascript">
  21. functionGetData(arg,context){
  22. Results.innerText=;
  23. }
  24. </script></head><body>
  25. <formid="frmCallback"name="frmCallback"runat="server">
  26. <inputtype="button"value="Callback"/>
  27. <br><spanid="Results"></span>
  28. </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是基于堆栈机器来设计,这和我们常见的基于寄存器的本地机器是差异比较大的。总体来说,这是一种虚拟机的设计思路。
再见西城 该用户已被删除
沙发
发表于 2015-1-20 05:15:27 | 只看该作者
CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
不帅 该用户已被删除
板凳
发表于 2015-1-28 17:57:09 | 只看该作者
CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
乐观 该用户已被删除
地板
发表于 2015-2-5 22:23:25 | 只看该作者
当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。
兰色精灵 该用户已被删除
5#
发表于 2015-2-13 22:49:37 | 只看该作者
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
莫相离 该用户已被删除
6#
发表于 2015-3-4 02:48:58 | 只看该作者
在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
冷月葬花魂 该用户已被删除
7#
 楼主| 发表于 2015-3-11 15:34:22 | 只看该作者
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
山那边是海 该用户已被删除
8#
发表于 2015-3-19 01:25:19 | 只看该作者
微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。
变相怪杰 该用户已被删除
9#
发表于 2015-3-27 01:10:21 | 只看该作者
但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表