使用aspx和c#3.5,vs2008。
在性能开始恶化之前,是否有可以在网页上放置多少占位符的经验法则?
使用大量占位符还有其他问题吗?
我正在动态插入控件(文本框,复选框,表达式验证器和按钮到我的页面。
答案 0 :(得分:1)
没有比为自己尝试更好的答案了。根据您的需要使用尽可能多的占位符,对页面代码进行基准/配置,然后最终使用最适合的技术进行相应优化。
我引用Knuth先生的话:
过早优化是万恶之源!
答案 1 :(得分:1)
只要你手工打字,我会说你很安全。如果您开始复制和粘贴以获得数百个占位符,您可能会获得可衡量的性能影响。当你达到几千时,你可能会得到一个显着的差异。
答案 2 :(得分:1)
你在谈论这里的几件事:占位符,以及我认为你放在这些占位符中的所有其他网页控件。
首先,占位符本身是一个非常轻量级的控件,它不会产生额外的标记,并且只需要很少的ASP.NET处理。因此,您应该能够将数百个这些放在页面上,同时它仍然非常快。
但是,你放在每个占位符中的其他控件有可能产生大量的标记,视图状态,当然还有更多的服务器端处理。
事实上,对此没有标准答案,因为它实际上取决于您的特定应用和您的受众。但是我可以分享一些事情:
1。)看一下最终呈现的HTML大小。一般来说,我更喜欢将面向公众的HTML页面保持在每个100 KB以下,并且尽可能将主页保持在20 KB以下。显然,制作一个比这更大的HTML页面(很多流行的网站都不是世界末日)。但更重要的是,我至少会考虑将其分成多个页面。高速连接今天可能很普遍,但用户也像以前一样不耐烦 - 所以要快速建立您的网站。 ;)
2。)始终存在可扩展性问题。要对此进行测试,您可以查看Microsoft's Web Application Stress Tool以尝试模拟峰值负载情况。然后看看CPU,内存和带宽使用情况,看看它是否会对服务器产生巨大影响。同样,如果它的负载太大,您可能需要考虑拆分页面。