ASP.NET网站制作之在ASP.NET Atlas中挪用Web Service―直...
C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。asp.net|web|页面DflyingChen(http://dflying.cnblogs.com/)后面的一系列的文章都是间接挪用独自的一个WebService,而在实践项目开辟中,出格是在对现有的项目转换中,把页面中的逻辑再提取到专门的WebService中常常会带来相称多的事情。Atlas充实思索到了这一点,同意您将服务器真个public办法加上属性以同意客户端JavaScript的间接挪用。
想同意客户端间接挪用界说在ASPX页面中的办法,您必要指定该办法为public,而且增加属性,比方以下界说在ASPX文件中的服务器端办法:
<scriptrunat="server">
publicintAddInt(intint1,intint2)
{
returnint1+int2;
}
</script>
在客户端,Atlas将为您Mashup出一个AddInt的JavaScript办法,存在于一个特别的定名空间PageMethods中,如许您就能够经由过程PageMethods.AddInt()挪用下面的办法了。
同时,将WebMethod界说到ASPX页面中,您还能够在该办法中会见统统页面上的服务器端控件的值和ViewState,而且全部页面的的保存周期将和传统的ASP.NET页面PostBack一样,诸如Page_Load等办法均会被挪用,可让我们对页面有更强的会见才能。不外如许也带来了功能上的扣头,由于每次挪用WebMethod的时分城市把页面上的ViewState和控件的值传回给服务器,而且服务器端处置全部页面的保存周期将要比仅仅处置一个地道的界说在ASMX中的WebMethod要庞大的多。以是这里我保举尽量的利用地道的WebService,请参考:在Atlas服务器端完成中保举利用WebService而不是PageMethod。
上面来看一个实例,起首来界说在ASPX中的WebMethod,能够看到这里不但单求两个数的和,还会见了一个页面上的服务器端TextBox的值:
<scriptrunat="server">
publicstringAddInt(intint1,intint2)
{
return(int1+int2).ToString()+string.Format("
AndtheServerTextBoxsTextis{0}.",tbServer.Text);
}
</script>
然后是页面的ScriptManager,这里无需增加任何援用了:<atlas:ScriptManagerID="scriptManager"runat="server"/>
然后两个用来输出加数的input和用来触发服务器挪用的input:
<inputid="value1"type="text"value="1"/>
<inputid="value2"type="text"value="2"/>
<inputid="btnAdd"type="button"value="Add!"/>
另有一个服务器端TextBox:
<asp:TextBoxID="tbServer"runat="server"Text="Servercontrol"></asp:TextBox>
最初是JavaScript挪用,注重PageMethods这个内建的定名空间:
functionbtnAdd_onclick(){
PageMethods.AddInt(
$(value1).value,
$(value2).value,
OnComplete
);
}
functionOnComplete(result)
{
alert(result);
}
扫瞄器中运转,输出两个加数,然后在Server真个TextBox中输出一些字符,点击Add,能够看到Server真个TextBox的值倒是被会见到了:
这是Fiddler截获的收集传输,能够看到ViewState和TextBox都被传回了Server:
我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。 市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。 ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。 Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。 平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。 Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
页:
[1]