初学者的困惑:ASPX的性能问题

likesome 2004-05-08 10:28:38
以前一直用ASP,现想转为ASP.NET,下了很大决心,有一个问题一直搞不明白

我看过一些ASPX的源码,比如数据调用用的是下面的方法

function fillData(sql as string,control as Repeater,database as string) as oledbdatareader
dim conn as new oledbconnection

......................
catch ex as exception
response.Write(ex.message)
finally
objcmd.connection.close()
end try
end function

即每读一次数据都建立一次conn,

而以前ASP喜欢建立一个全局的conn,即 include一个conn.asp,请问ASPX中为什么很少看到人建立一个从局的Conn这样的现象呢,是不是ASPX中建立conn不需要消耗太多时间呢


还有关于性能的问题,感觉第一次打开ASPX的页面很慢,比ASP还慢,而刷新后就好多了,是不是因为是调试机的问题
...全文
64 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Shrekgrin 2004-06-23
  • 打赏
  • 举报
回复
"那就是 ASP.NET 肯定比 ASP 得效率要高得多!"
没有太绝对的话
asp有时候比asp.net处理简单的。
morality 2004-05-08
  • 打赏
  • 举报
回复
呵呵,上面得几位仁兄都说得比较清楚了,我就不再多说了!
但有一点是可以肯定的,那就是 ASP.NET 肯定比 ASP 得效率要高得多!
joelbh 2004-05-08
  • 打赏
  • 举报
回复
学习up
极速小王子 2004-05-08
  • 打赏
  • 举报
回复
学习!
1979xt 2004-05-08
  • 打赏
  • 举报
回复
一般对数据库的连接只需在第一次请求页面时操作,如果是回发请求不会再连数据库,都是通过页面的IsPostBack属性来判断。
if (!IsPostBack)
{
连接数据库
}


flyingbirddhp 2004-05-08
  • 打赏
  • 举报
回复
aspx性能绝对比asp强,如果你有很多的服务器端代码的话更是这样
第一次慢是因为要编译为dll,而asp是解释执行的,就是用vbscript/javascript解释机解释的,是每次请求页面都解释的。
但性能还牵涉到很多方面的,服务器缓存,数据库查询规划及数据缓存,数据库设计(如索引等)
smoothwood 2004-05-08
  • 打赏
  • 举报
回复
建立全局的conn?恩。。。ASP.NET中也是经常使用的
只不过不是再用include....
比如我希望一个连接字符串能够在很多个页面都能使用,那么我们可以在GLOBAL.ASAX中Application_Start事件里面写上application("strConn")="........"
以后每次要实例化一个连接对象的时候就直接使用application("strConn")
如:dim conn as new sqlconnection(application("strConn"))
而你的第二个问题是因为你做好了你的项目,在编译成dll文件之后,在第一次请求页面的时候,DLL文件会根据请求的页面(某某某.aspx)与DLL中对应部分生成运行时送至客户端显示的内容,因此这个过程会降低速度,第二次执行的时候就不会了
flyingbirddhp 2004-05-08
  • 打赏
  • 举报
回复
连接对象放在一个静态类很多情况下是出于安全性的考虑
因为web.config是个纯文本,而.cs可以编译为dll,这样就提高了数据库的安全性
gshope 2004-05-08
  • 打赏
  • 举报
回复
asp里建立全局的conn,只是便于维护而已(修改容易),从性能上讲没有任何帮助,这点你可能有点误解.
在.net里,连接对象就是用的时候建,用完了关闭也就可以了.有人把连接对象放在一个静态类里,我觉得这么做对性能也没什么提高.
bitsbird 2004-05-08
  • 打赏
  • 举报
回复
<add key="data" value="server=127.0.0.1;packet size=4096;user id=sa;initial catalog=Forum;persist security info=True;password=sa"></add>

用的时候ConnStr=System.Configuration.ConfigurationSettings.AppSettings["data"];
cumtmimi 2004-05-08
  • 打赏
  • 举报
回复
不是的,第一次需要编译,后面就不需要了

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧