仓酷云

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

[学习教程] ASP.NET网站制作之asp.net小谈网站功能优化

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

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

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

x
如果英语好,口才好,加上女孩子的优势说不定有机会进去做做别的工具)固然,网站功能优化是多方面的,这里先谈一下这些天来的所获:
1、誊写代码的习气;
再庞大的逻辑,也是从最复杂的入手下手。在誊写代码的过程当中,良多欠好的标准城市影响网站的功能;
以下是收拾出来的些许代码习气:
1)字符串的对照用string.Empty取代""
2)在遍历过程当中,先界说好计数变量,再遍历,如许会削减每次遍历就分派一次内存空间:
复制代码代码以下:
inti;
for(i=0;i<100;i++)
{
//codeing
}

3)一样的,用StringBuilder.Append()取代[csharp]string+="ABC"[/csharp];
4)在遍历轮回中中处置逻辑而不要挪用其他办法情势,那样在挪用时会有功能消耗
5)累加/减时,利用A+=1,A-=1;而不必A=A+1;如许减缓请求内存的次数
6)多用汇合操纵
a:假如假如汇合中元素范例流动,则可使用它们各自对应的汇合类,如数组、泛型等,如许能够制止装箱、拆箱操纵;
b:假如汇合中元素个数流动而且范例分歧,则利用数组存储;
c:假如对汇合的操纵次要是查找方面的,可使用HashTable,Dictionaty<TYey,TValue>
7)利用Server.Transfer来举行页面重定向
优点:功能比response.redirect要好良多,并且具有埋没URL的优点,能够制止客户端举行页面重定向;
害处:如果用户用革新或是前进会招致产生不测的情形,以是请慎用
8)削减服务器控件的使用
9)公道(得当时分)利用缓存
10)削减Cookies巨细
......
2、数据库
1)数据库最迟翻开、最早封闭;
2)优化数据库毗连设置,关于年夜型网站因为数据库中存在大批的数据,以是能够加年夜其数据库毗连池
MaxPoolSize=512;(默许为100)
3)优化SQL语句,并利用存储历程
注重:只管制止“select*from”之类的sql语句;只管不要再查询语句中利用子查询;只管利用索引;
4)利用DataReader
在DataReader中,我们常常会用dr["字段名"]的查找情势,可是这类写法倒是最耗功能的;
一样平常,利用基于「序列号」的查找,比基于「定名」的查找更无效率。个中,可分为4类:
写法(1)利用DataReader索引+基于「序列号」的查找,如:dr[1].ToString(),
写法(2)利用DataReader索引+基于「定名」的查找,如:dr["LastName"].ToString(),这是功能最欠好的写法
写法(3)利用Get开首的办法+基于「序列号」的查找,如:dr.GetString(1),写法
写法(4)利用GetSql开首的办法+基于「序列号」的查找,如:dr.GetSqlString(1),
写法(5)利用基于「序列号」+GetOrdinal()办法的查找。
GetOrdinal()函数办法是甚么呢?
我们从数据库中誊写对应的字段到我们查找的序列号上,可是偶然候拔出新的字段时,会有所变更。而GetOrdinal()的感化就是让我们本人来序列化绝对应的字段。
a、起首界说序列号intclassid,classnameid;
b、然后经由过程GetOrdinal()办法付与新的序列号;
c、经由过程GetSqlSring(序列号)办法便可找到对应的字段。
示例代码以下:
复制代码代码以下:
SqlConnectioncon=newSqlConnection(connString);
stringstrcmd="selecttop1classid,classnamewherecms_class";
SqlCommandcmd=newSqlCommand(strcmd,con);
con.Open();
SqlDataReaderdr=cmd.ExecuteReader();
intnumberId,numberName;
numberId=Convert.ToInt32(dr.GetOrdinal("classid"));
numberName=Convert.ToInt32(dr.GetOrdinal("classname"));
con.Close();
if(dr.Read())
{
stringresult=dr.GetSqlString(numberId)+""+dr.GetSqlString(numberName);
}
dr.Close();
我感觉可以顶到50楼,出乎意料的是大家居然纷纷写出自己的博文,还被编辑做成了专题,置于首页头条。
沙发
发表于 2015-1-19 08:45:27 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
因胸联盟 该用户已被删除
板凳
发表于 2015-1-24 12:57:57 | 只看该作者
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
简单生活 该用户已被删除
地板
发表于 2015-2-7 07:44:04 | 只看该作者
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
透明 该用户已被删除
5#
 楼主| 发表于 2015-2-21 03:28:22 | 只看该作者
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
小妖女 该用户已被删除
6#
发表于 2015-3-6 19:41:10 | 只看该作者
Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-13 07:08:24 | 只看该作者
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
精灵巫婆 该用户已被删除
8#
发表于 2015-3-20 16:08:52 | 只看该作者
但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-27 14:33

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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