【发布时间】:2011-08-15 03:32:35
【问题描述】:
我有一个使用母版页的大型慢速 ASP.net 站点。
我已经确定,如果用户在从数据库生成/处理/加载页面的其余部分时可以看到标题和导航,他们将获得更好的体验。
我已经做了一些简单的测试,我可以在 page_load() 中执行 Response.Write(),然后执行 Response.Flush(),并且 II 将使用分块编码并立即将输出发送到浏览器,而其余的页面呈现。
我想做同样的事情,但只发送母版页标题和导航。
关于如何实现这一点的任何指示?
使用 ASP.net 4 和 IIs 7.5
编辑
如果有人可以就如何更改网站以使用 AJAX 而不必更改每个页面和链接提供一些指示,我将不胜感激。谢谢!
【问题讨论】:
-
有什么办法可以让页面变小吗?也许在可能的情况下关闭视图状态,等等?
-
更好的解决方案是分析页面,找到它们阻塞的位置(我保证它在数据库调用中),然后将这些数据库调用卸载为异步或使用 AJAX 独立加载它们的页面内容。缓存调用也可能就足够了,具体取决于它是什么。
-
@Chris 好吧,我会这样做,但这不是一个数据库调用。这是一个完整的存储过程调用(由我们的 dba 编写),如果不分片 db 或其他东西,真的无法进行更多优化。有缓存,但大多数时候有这么多页面并没有帮助。虽然使用 AJAX 是理想的,但我不确定如何在不重新设计整个网站的情况下做到这一点。 (让我知道是否有简单的方法来做到这一点!!!)请记住,该站点有数百个页面,其中包含基于客户端的数十个不同的母版页。这不是一个简单的网站。
-
Bryon 根据您的说法,您已经需要重新设计整个网站。您已经达到了应用程序固有设计的性能界限。即使您成功实现了这个问题的目标,但它显然不能解决您的问题,它只会为您争取更多时间来解决它。听起来您在当前设计中刚刚达到失败点,是时候从新设计重新开始并开始替换您的应用程序中最大的价值赢家了。我会在 MVC3 中重写新的部分,你也可以作弊并在网站中 iframe
-
使用ajax是什么意思...我看到两个意思:1)页面加载后,使用ajax自动加载页面的其他部分。 2)当用户点击某物时,使用ajax来改变一块已经加载的页面。我想你说的是第一个……我说的对吗?在这种情况下,UpdatePanel 将无法解决您的问题……在第二种情况下,它确实可以非常无缝地解决问题。
标签: c# asp.net iis-7 master-pages