【发布时间】:2011-12-24 07:58:27
【问题描述】:
我刚刚读了一篇有趣的文章。基本上它说,您应该通过 2 种方式微调每个应用程序的 IIS 设置:
- 处理程序映射 - 删除所有未使用的应用程序
- 模块 - 删除所有未使用的应用程序
好吧,我开发 ASP.NET 已经有一段时间了,即使是在工作中,我们从来没有在生产环境 afaik 上这样做过。我理解所提出的理论优势 - 最大限度地减少应用程序的“表面”(安全性),并提高性能。但是我真的很好奇,如果您在现实生活中这样做(为您的客户提供的实际项目,而不是概念验证项目)。这有什么缺点(可能是可维护性?)。最重要的问题——值得吗?例如,性能提升是否可见?
此外,如果您认为这是一个很好的做法,请提供一些良好且一致的方法(或指向我的教程),您如何准确地执行此过程 - 您如何决定保留哪些内容以及删除哪些内容。
例如,什么是 ASP.NET MVC 3 应用程序的最小但工作集,它使用自定义身份验证(基于会话,不依赖于 Forms 身份验证、Windows 身份验证等),没有 Web 服务和类似功能?
编辑
我找到了这篇文章:http://madskristensen.net/post/Remove-default-HTTP-modules-in-ASPNET.aspx
其中,斯科特·格思里说:
一般来说,使用这种方法可以获得一些非常小的性能提升——尽管我可能不建议这样做。原因是 ASP.NET 的某些功能(表单身份验证、角色、缓存等)当然会在您删除它们所依赖的模块后停止工作。试图弄清楚为什么会发生这种情况通常会令人困惑。
但仍然没有测量和实践(我不太相信“你以后会感到惊讶”的说法:)
【问题讨论】:
-
什么是“有趣的文章”,因为您只提到了一个指向 Mads K 博客的链接,其中包含 Scottgu 的回复。他还说“非常小的”性能改进,但有趣的问题。想知道 Stackoverflow 是否这样做...
标签: asp.net asp.net-mvc web-config iis-7.5