加了stopwatch 发现耗时只在 repeat.DataSource=数据源 ;repeat.DataBind();这两步 居然耗时 40多秒,数据只有50条,在另一台服务器上正常;
repeat控件中没有banding任何事件。 数据绑定 用的是 Eval 方式。
想请教一些思路。。。
检查下是不是异常,比如连接出错。
try..catch抓了异常却没抛出的话,程序看着运行下去了。却很耗时。
比如创建连接。有次我就加个测试的地址忘记删掉,正式用时连接不到这个测试地址,程序出异常卡了30秒。但过后一样正常工作。
-------------------------
不知道,给我个园豆呗。
你这也太明目张胆了……
回答题目:楼主检查一下引用,特别是在.net framework 4.0及以上框架的情况下,无效的引用可能会在某些情况下增加开销。
Eval有一些转换,装箱? 我和1楼的一样 都是来要分的
把数据库放到本机试试,ping不丢包不能说明网络没问题
数据已经获取到了, 存放在 DataTable 中,repeat.DataSource=dt; 这个时间 应该是 控件绑定和渲染时间。
这是绑定时间么,我看是 查数据+构建集合+控件绑定+渲染 时间
数据已经获取到了, 存放在 DataTable 中,repeat.DataSource=dt; 这个时间 应该是 控件绑定和渲染时间。
Stopwatch sp1 = new Stopwatch();
sp1.Start();
rpt.DataSource = dt;
rpt.DataBind();
sp1.Stop();
Label2.Text += string.Format("耗时:{0}毫秒", sp1.ElapsedMilliseconds); 居然耗时 40多秒
你这个代码打印出来的是40多秒???还是其实是40多毫秒???
40 000多 毫秒
每个单句输出一次,看具体耗时的语句,记得,千万别断点。
....这个是部署在服务器上的 网站,没法断点吧。。。难道在服务器上 装个VS。。。。
@包拯: VS 支持远程调试的,虽然我也没用过。。。等会我帮你找下那个资料。一会发你
@包拯:我只是想确定是哪句最耗时而已,先确定语句,再针对性找原因了。
@幻天芒: 感谢! 已解决。
werwerwerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrasdasd
之