仓酷云

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

[学习教程] ASP网站制作之功能微调提醒

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:37:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。功能功能微调提醒
任何编程模子都有罕见的功能缺点,ASP.NET也不破例。本节形貌一些可制止在代码中呈现功能瓶颈的办法。

1.在未利用时禁用会话形态:并不是一切的使用程序或页都请求基于每一个用户的会话形态。假如不必要,可将其完整禁用。这能够经由过程以下页级别指令轻松完成:
<%@PageEnableSessionState="false"%>

注重:假如页必要会见会话变量但不创立或修正它们,请将指令值设置为ReadOnly。还可为XMLWeb服务办法禁用会话形态。请参阅XMLWeb服务一节中的利用工具和外部工具。


2.稳重选择会话形态供应程序:ASP.NET为存储使用程序的会话数据供应了三种分歧的办法:历程内会话形态、作为Windows服务的历程外会话形态和SQL数据库中的历程外会话形态。每种办法都有本人的长处,但历程内会话形态是迄今为止速率最快的办理计划。假如仅在会话形态中存储大批易掉数据,则应利用历程内供应程序。历程外办理计划次要用于Web花圃和Web农场计划,或用于当服务器/历程从头启动时不克不及丧失数据的情形。

3.制止与服务器间的过量往复路程:Web窗体页框架是ASP.NET的最好功效之一,由于它能够明显削减为完成某项义务所需编写的代码量。利用服务器控件和回发事务处置模子的页元素编程会见无疑是最省时的功效。可是,对这些功效的利用存在着得当和不得当的办法,懂得什么时候利用它们是得当的很主要。
使用程序一般仅在检索数据或存储数据时才必要往复于服务器。多半数据操纵可在往复路程间在客户端举行。比方在用户提交数据前,一般能够在客户端考证窗体项。一般,假如不必要将信息中继回服务器,则不该往复于服务器。

假如编写本人的服务器控件,请思索让它们为下级(撑持ECMAScript)扫瞄器出现客户端代码。经由过程接纳“智能”控件,可明显削减对Web服务器的不用要点击次数。


4.利用Page.IsPostback制止往复路程上的分外事情:假如处置服务器控件回发,一般必要在第一次哀求页时实行代码,该代码分歧于引发事务时用于往复路程的代码。假如反省Page.IsPostBack属性,则代码可按前提实行,详细取决因而否有对页的初始哀求或对服务器控件事务的呼应。如许做仿佛很分明,但实践上能够疏忽此项反省而不变动页的举动。比方:

<scriptlanguage="C#"runat="server">

publicDataSetds;
...

voidPage_Load(Objectsender,EventArgse){
//...setupaconnectionandcommandhere...
if(!Page.IsPostBack){
Stringquery="select*fromAuthorswhereFirstNamelike%JUSTIN%";
myCommand.Fill(ds,"Authors");
myDataGrid.DataBind();
}
}

voidButton_Click(Objectsender,EventArgse){
Stringquery="select*fromAuthorswhereFirstNamelike%BRAD%";
myCommand.Fill(ds,"Authors");
myDataGrid.DataBind();
}

</script>

<formrunat="server">
<asp:datagriddatasource=<%#ds.DefaultView%>runat="server"/><br>
<asp:buttononclick="Button_Click"runat="server"/>
</form>


<scriptlanguage="VB"runat="server">

PublicdsAsDataSet
...

SubPage_Load(senderAsObject,eAsEventArgs)
...setupaconnectionandcommandhere...
IfNot(Page.IsPostBack)
DimqueryAsString="select*fromAuthorswhereFirstNamelike%JUSTIN%"
myCommand.Fill(ds,"Authors")
myDataGrid.DataBind()
EndIf
EndSub

SubButton_Click(senderAsObject,eAsEventArgs)
DimqueryAsString="select*fromAuthorswhereFirstNamelike%BRAD%"
myCommand.Fill(ds,"Authors")
myDataGrid.DataBind()
EndSub

</script>

<formrunat="server">
<asp:datagriddatasource=<%#ds.Tables["Authors"].DefaultView%>runat="server"/><br>
<asp:buttononclick="Button_Click"runat="server"/>
</form>


<scriptlanguage="JScript"runat="server">

publicvards:DataSet;
...

functionPage_Load(sender:Object,e:EventArgs):void{
//...setupaconnectionandcommandhere...
if(!Page.IsPostBack){
varquery:String="select*fromAuthorswhereFirstNamelike%JUSTIN%";
myCommand.Fill(ds,"Authors");
myDataGrid.DataBind();
}
}

functionButton_Click(sender:Object,e:EventArgs):void{
varquery:String="select*fromAuthorswhereFirstNamelike%BRAD%";
myCommand.Fill(ds,"Authors");
myDataGrid.DataBind();
}

</script>

<formrunat="server">
<asp:datagriddatasource=<%#ds.DefaultView%>runat="server"/><br>
<asp:buttononclick="Button_Click"runat="server"/>
</form>


Page_Load事务对一切哀求都实行,因而反省了Page.IsPostBack,以便在处置Button_Click事务回发时不实行第一个查询。请注重,即便没有此反省,页的举动也不会改动,由于第一个查询中的绑定会被事务处置程序中的DataBind挪用颠覆。记着,在编写页时会很简单疏忽这个复杂的功能改善。


3.审慎得当地利用服务器控件:只管服务器控件利用起来十分简单,但它其实不老是最好选择。很多情形下,复杂的出现或数据绑定交换能够完成一样的事变。比方:
<scriptlanguage="C#"runat="server">

publicStringimagePath;
voidPage_Load(Objectse</p>写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)
沙发
发表于 2015-1-20 07:41:43 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
精灵巫婆 该用户已被删除
板凳
发表于 2015-1-28 23:59:38 来自手机 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
海妖 该用户已被删除
地板
发表于 2015-2-2 19:05:39 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
蒙在股里 该用户已被删除
5#
发表于 2015-2-8 04:22:09 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-24 04:29:37 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
小魔女 该用户已被删除
7#
发表于 2015-3-7 10:52:19 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
若天明 该用户已被删除
8#
发表于 2015-3-15 01:20:12 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
金色的骷髅 该用户已被删除
9#
发表于 2015-3-21 15:40:19 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 11:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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