仓酷云

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

[学习教程] NET网页编程之ASP.NET功能优化的经常使用办法(四)

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:23:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
c++是语言,其实C++和java的应用范围根本就不一样的。在java应用的领域内,c++是不合适的。所以微软才搞了C#和Java对抗。18.不要依附代码中的非常
由于非常年夜年夜地下降功能,以是您不该该将它们用作把持一般程序流程的体例。假如有大概检测到代码中大概招致非常的形态,请实行这类操纵。不要在处置该形态之前捕捉非常自己。罕见的计划包含:反省null,分派给将剖析为数字值的String一个值,或在使用数学运算前反省特定值。上面的示例演示大概招致非常的代码和测试是不是存在某种形态的代码。二者发生不异的了局。
try
{
result=100/num;
}
catch(Exceptione)
{
result=0;
}
//...tothis.
if(num!=0)
result=100/num;
else
result=0;


19.利用HttpResponse.Write办法举行字符串串连
该办法供应十分无效的缓冲和毗连服务。可是,假如您正在实行普遍的毗连,请利用多个Response.Write挪用。上面示例中显现的手艺比用对Response.Write办法的单个挪用毗连字符串更快。
Response.Write("a");
Response.Write(myString);
Response.Write("b");
Response.Write(myObj.ToString());
Response.Write("c");
Response.Write(myString2);
Response.Write("d");


20.除非有特别的缘故原由要封闭缓冲,不然使其坚持翻开
禁用Web窗体页的缓冲会招致大批的功能开支。

21.只在需要时保留服务器控件视图形态
主动视图形态办理是服务器控件的功效,该功效使服务器控件能够在往复历程上从头添补它们的属性值(您不必要编写任何代码)。可是,由于服务器控件的视图形态在埋没的窗体字段中往复于服务器,以是该功效的确会对功能发生影响。您应当晓得在哪些情形下视图形态会有所匡助,在哪些情形下它影响页的功能。比方,假如您将服务器控件绑定到每一个往复历程上的数据,则将用从数据绑定操纵取得的新值交换保留的视图形态。在这类情形下,禁用视图形态能够节俭处置工夫。

默许情形下,为一切服务器控件启用视图形态。若要禁用视图形态,请将控件的EnableViewState属性设置为false,以下面的DataGrid服务器控件示例所示。

您还可使用@Page指令禁用全部页的视图形态。当您不从页回发到服务器时,这将非常有效:
注重@Control指令中也撑持EnableViewState属性,该指令同意您把持是不是为用户控件启用视图形态。
若要剖析页上服务器控件利用的视图形态的数目,请(经由过程将trace="true"属性包含在@Page指令中)启用该页的跟踪并检察ControlHierarchy表的Viewstate列。有关跟踪和怎样启用它的信息,请拜见ASP.NET跟踪。

22.制止到服务器的不用要的往复历程
固然您极可能但愿只管多地利用Web窗体页框架的那些节俭工夫和代码的功效,但在某些情形下却不宜利用ASP.NET服务器控件和回发事务处置。

一般,只要在检索或存储数据时,您才必要启动到服务器的往复历程。多半数据操纵可在这些往复历程间的客户端长进行。比方,从HTML窗体考证用户输出常常可在数据提交到服务器之前在客户端举行。一般,假如不必要将信息传送到服务器以将其存储在数据库中,那末您不该该编写招致往复历程的代码。

假如您开辟自界说服务器控件,请思索让它们为撑持ECMAScript的扫瞄器出现客户端代码。经由过程以这类体例利用服务器控件,您能够明显地削减信息被不用要的发送到Web服务器的次数。

利用Page.IsPostBack制止对往复历程实行不用要的处置

假如您编写处置服务器控件回发处置的代码,偶然大概必要在初次哀求页时实行其他代码,而不是当用户发送包括在该页中的HTML窗体时实行的代码。依据该页是不是是呼应服务器控件事务天生的,利用Page.IsPostBack属性有前提地实行代码。比方,上面的代码演示怎样创立数据库毗连和命令,该命令在初次哀求该页时将数据绑定到DataGrid服务器控件。
voidPage_Load(Objectsender,EventArgse)
{
//Setupaconnectionandcommandhere.
if(!Page.IsPostBack)
{
Stringquery="select*fromAuthorswhereFirstNamelike%JUSTIN%";
myCommand.Fill(ds,"Authors");
myDataGrid.DataBind();
}
}


因为每次哀求时都实行Page_Load事务,上述代码反省IsPostBack属性是不是设置为false。假如是,则实行代码。假如该属性设置为true,则不实行代码。

注重:假如不运转这类反省,回发页的举动将不变动。Page_Load事务的代码在实行服务器控件事务之前实行,但只要服务器控件事务的了局才大概在输入页上出现。假如不运转该反省,仍将为Page_Load事务和该页上的任何服务器控件事务实行处置。

23.当不利用会话形态时禁用它
并非一切的使用程序或页都必要针关于详细用户的会话形态,您应当对任何不必要会话形态的使用程序或页禁用会话形态。
若要禁用页的会话形态,请将@Page指令中的EnableSessionState属性设置为false。
注重假如页必要会见会话变量,但不盘算创立或修正它们,则将@Page指令中的EnableSessionState属性设置为ReadOnly。
还能够禁用XMLWebservices办法的会话形态。有关更多信息,请拜见利用ASP.NET和XMLWebservices客户端创立的XMLWebservices。
若要禁用使用程序的会话形态,请在使用程序Web.config文件的sessionstate设置节中将mode属性设置为off。

24.细心选择会话形态供应程序
ASP.NET为存储使用程序的会话数据供应了三种分歧的办法:历程内会话形态、作为Windows服务的历程外会话形态和SQLServer数据库中的历程外会话形态。每种办法都有本人的长处,但历程内会话形态是迄今为止速率最快的办理计划。假如只在会话形态中存储大批易掉数据,则倡议您利用历程内供应程序。历程外办理计划次要用于跨多个处置器或多个盘算机缩放使用程序,大概用于服务器或历程从头启动时不克不及丧失数据的情形。有关更多信息,请拜见ASP.NET形态办理。

25.不利用不用要的ServerControl
ASP.net中,大批的服务器端控件便利了程序开辟,但也大概带来功能的丧失,由于用户每操纵一次服务器端控件,就发生一次与服务器真个往复历程。因而,非需要,应该少利用ServerControl。

26.ASP.NET使用程序功能测试
在对ASP.NET使用程序举行功能测试之前,应确保使用程序没有毛病,并且功效准确。详细的功能测试能够接纳以下工具举行:
WebApplicationStreesTool(WAS)是Microsoft公布的一个收费测试工具,能够从 
http://webtool.rte.microsoft.com/]http://webtool.rte.microsoft.com
高低载。它能够摹拟成百上千个用户同时对web使用程序举行会见哀求,在服务器上构成流量负载,从而到达测试的目标,能够天生均匀TTFB、均匀TTLB等功能汇总呈报。
ApplicationCenterTest(ACT)是一个测试工具,附带于VisualStudio.NET的企业版中,是Microsoft正式撑持的web使用程序测试工具。它可以直不雅地天生图表了局,功效比WAS多,但不具有多个客户机同时测试的才能。

服务器操纵体系"办理工具"中的"功能"计数器,能够对服务器举行监测以懂得使用程序功能。也不知道,我同学昨天说数据挖掘很好。
海妖 该用户已被删除
沙发
发表于 2015-1-18 13:46:19 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
老尸 该用户已被删除
板凳
发表于 2015-1-24 11:21:49 来自手机 | 只看该作者
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
活着的死人 该用户已被删除
地板
发表于 2015-2-1 09:34:01 | 只看该作者
众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
再见西城 该用户已被删除
5#
发表于 2015-2-7 02:39:31 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
金色的骷髅 该用户已被删除
6#
发表于 2015-2-20 03:44:28 | 只看该作者
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
只想知道 该用户已被删除
7#
发表于 2015-3-6 16:43:16 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
admin 该用户已被删除
8#
发表于 2015-3-13 05:00:13 | 只看该作者
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
若天明 该用户已被删除
9#
发表于 2015-3-20 13:29:15 | 只看该作者
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 14:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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