惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
D
Docker
Blog — PlanetScale
Blog — PlanetScale
罗磊的独立博客
美团技术团队
V
V2EX
Last Week in AI
Last Week in AI
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Microsoft Security Blog
Microsoft Security Blog
Microsoft Azure Blog
Microsoft Azure Blog
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
P
Proofpoint News Feed
B
Blog RSS Feed
博客园_首页
B
Blog
博客园 - 叶小钗
I
InfoQ
WordPress大学
WordPress大学
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
A
About on SuperTechFans
The GitHub Blog
The GitHub Blog
The Register - Security
The Register - Security
MyScale Blog
MyScale Blog
云风的 BLOG
云风的 BLOG
博客园 - 司徒正美
Latest news
Latest news
W
WeLiveSecurity
T
The Exploit Database - CXSecurity.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
Cyberwarzone
Cyberwarzone
Scott Helme
Scott Helme
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CERT Recently Published Vulnerability Notes
C
CXSECURITY Database RSS Feed - CXSecurity.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
N
News and Events Feed by Topic
S
Secure Thoughts
The Hacker News
The Hacker News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News

博客园 - Emmet.C

[求助]关于Vsiual Studio.NET 2005中Error List种错误的定位问题 【求助】关于asp.net中的'Thread was being aborted'异常 安装Tomcat 5.0.28备注 如何在运行时定制DataGrid的显示风格? asp.net中如何回车触发指定按钮的事件 Jbuilder2005安装备注 Infragistics.WebUI.UltraWebTab.v4.3使用备注 WinForm界面模式 如何定制WebCarlendar类型控件的星期格式 .NET在Debug模式下的编译错误 DataGrid动态绑定 Infragistics UltraWebTab的奇怪问题 架构设计备注(用户以及操作权限管理) 关于通过手机收发短信的相关资源 Read CPU ID(from CSDN) 可用性相关的资料站点 万网企业邮箱开始提供垃圾邮件过滤功能了 为何使用表格排版是不明智的? 申请了GMail
使用Singleton改善ASP.NET性能备注
Emmet.C · 2005-01-28 · via 博客园 - Emmet.C

在最近的ASP.NET项目中,我们在测试期间发现系统性能低下。最开始我们怀疑是由于使用了过多的UserControl所致。但是由于这已经是项目晚期,已经不可能再推翻以往的设计架构重来。所以我们不得不寻找其它可以改善性能的方法。

刚开始我们使用缓存来进行改善。但是我们的页面中大量的数据都是随时变化的,.net framework不够精确的缓存命中率给我们的数据一致性表现带来尴尬的处境。

其次Viewstate的优化似乎也没有什么效果,可以优化的地方少之又少。

唯一可以做的便是将大量页面的SessionState改为ReadOnly,因为我们需要在处理过程中使用Session进行用户效验。

最后我们不得不从后台处理来考虑。我们发现后台的服务类以及业务逻辑被频繁调用,所以我们使用Singleton模式将底层业务逻辑类和工具类进行了重构,发现性能大幅提升。虽然有人说Singleton的一个缺点便是每次都需要检查类是否创建,这会消耗资源。但是检查所消耗的资源总比创建要小得多吧,何况不会无止境的吞噬宝贵的内存。

这次的经历告诉我们一个教训:良好的结构将会保证系统的稳定性和性能。