IFRAME引用ASPX页面的问题

DoPeter 2011-06-15 11:36:20
在项目中有一个A.HTML,在HTML中有一个IFRAME,引用了一个ASPX页面;一般情况下,加载速度还可以;但是人多或者服务器久了,ASPX页面加载速度就非常的慢;
还有另外个情况;在A.HTML中有一段<SCRIPT SRC='XXX.ASPX'></SCRIPT>;这是动态取得某个数据并在页面上显示出来;如果访问量大,那么这个ASPX页面响应就会非常的慢;用IE9自带的调试工具,显示的是XXX.ASPX页面正被挂起;上面IFRAME引用的页面也是如此;
<script>的这种情况,我把ASPX页面换成了ASHX就OK了,但是IFRAME的那个无法换成ASHX,因为页面有大量的UI以及取数据的代码;
有没有大神能告诉我这个问题的原理啊,我认为是和ASP.NET的机制有关系;为什么直接访问ASPX就不会出现这种挂起的情况,而被IFRAME引用或者另外页面的SCRIPT引用就会呢?
或者请大神告诉我解决的方案啊-,- 现在是在太慢了哟;如果是用SCRIPT写回来的解决方法的话就忍了哈,因为东西实在太多,不能这么干。。。

求大神啊!!有木有!有木有!!
...全文
663 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
DoPeter 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sp1234 的回复:]

引用 3 楼 dopeter 的回复:

这些静态页面是动态生成的哈;比如A.HTML就是一个生成的静态页面,在A.HTML中有一个IFRAME,它的SRC是指向的一个ASPX页面,当用户很多的时候,这个ASPX页面访问非常的慢;如果没有用IFRAME,直接输入地址访问这个ASPX页面,速度就很快

不是说把页面改成html就快了。html的快慢主要看元素的分配。所有东西都要排队的,让i……
[/Quote]

是的哈,现在的情况是这样子的,整个HTML页面其他地方都显示完了,就IFRAME那一块在加载,非常慢,才会显示;如果直接输入IFRAME引用的地址,访问就很快;

换一种例子哈,我在顶层说的,项目中有个A.HTML中有一段<SCRIPT SRC="A.ASPX"></SCRIPT>;A.ASPX回写一段内容到A.HTML中,如果人数多了也会非常的慢,整个A.HTML的加载就卡在SCRIPT这里了,把A.ASPX改成A.ASHX之后,访问就非常快了;给我的感觉是这样的,如果人多了,ASPX就是在并发排队等待处理,而ASHX就会很快的将队列处理完,ASPX和ASXH的机制肯定不一样;

而现在项目中IFRAME所引用的ASPX页面无法变成ASHX的,所以才求救各位大神啊~~~
  • 打赏
  • 举报
回复
有很多方法,比如很关键地是在页面中仅仅对所有图片显示一个简单的预览图,然后在页面加载完成之后才使用javascript来动态修改修改图片的src来加载大图片。
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dopeter 的回复:]

这些静态页面是动态生成的哈;比如A.HTML就是一个生成的静态页面,在A.HTML中有一个IFRAME,它的SRC是指向的一个ASPX页面,当用户很多的时候,这个ASPX页面访问非常的慢;如果没有用IFRAME,直接输入地址访问这个ASPX页面,速度就很快
[/Quote]
不是说把页面改成html就快了。html的快慢主要看元素的分配。所有东西都要排队的,让ie所支持的几个线程(早期最多只是2个)排队下载。比如它首先下载无关紧要的大图片,那么显然重要的内容页面就要拍到最后才下载。
DoPeter 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lvyichang 的回复:]

试试用url后面加变量,js:
<script type="text/javascript">
window.onload = function() {
document.getElementById("iframe1").src= "XXX.ASPX?n=" + Math.random();
}
</script……
[/Quote]

这个IFRAME的SRC就是用JS控制的哈,会传不同的参数进入它引用的ASPX页面
md5e 2011-06-15
  • 打赏
  • 举报
回复
那你就得考虑代码的问题了,看看是什么地方耗资源及并发的问题
lvyichang 2011-06-15
  • 打赏
  • 举报
回复
试试用url后面加变量,js:
<script type="text/javascript">
window.onload = function() {
document.getElementById("iframe1").src= "XXX.ASPX?n=" + Math.random();
}
</script>

<ifram id="iframe1" ></iframe>
DoPeter 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liuchaolin 的回复:]

可以在第一次访问后,只要不被IIS回收资源,以后都会访问得很快
[/Quote]

我现在很纠结的是,直接访问这个A.ASPX就很快,如果用IFRAME引用;人数多了就慢
md5e 2011-06-15
  • 打赏
  • 举报
回复
可以在第一次访问后,只要不被IIS回收资源,以后都会访问得很快
DoPeter 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liuchaolin 的回复:]

web.config,要预引用.net基类包
XML code

<system.web>
<compilation debug="false">
<assemblies>
<add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" ……
[/Quote]



这些预加载了有什么用哈?
DoPeter 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wxr0323 的回复:]

IE9?

母版页。
[/Quote]


这些静态页面是动态生成的哈;比如A.HTML就是一个生成的静态页面,在A.HTML中有一个IFRAME,它的SRC是指向的一个ASPX页面,当用户很多的时候,这个ASPX页面访问非常的慢;如果没有用IFRAME,直接输入地址访问这个ASPX页面,速度就很快
md5e 2011-06-15
  • 打赏
  • 举报
回复
web.config,要预引用.net基类包

<system.web>
<compilation debug="false">
<assemblies>
<add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.DirectoryServices.Protocols, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.RegularExpressions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</assemblies>
</compilation>
子夜__ 2011-06-15
  • 打赏
  • 举报
回复
IE9?

母版页。

62,254

社区成员

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

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

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

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