我在多个IIS6 / Server 2003机器上运行了许多网络应用程序。他们跑得很好,很开心。它们都是asp.net网络应用程序并使用.NET 3.5。
考虑将Web应用程序移动到IIS7 / Server 2008的有效理由是什么?
答案 0 :(得分:7)
IIS7从头开始被重写为“可插拔”的概念。 IIS7比以往任何时候都更具可扩展性。整个请求管道已经过重新设计,以便您更轻松地处理请求。
从性能方面来说,这些变化可以立即识别。您可以在“经典”应用程序池中运行为IIS6开发的站点,这将保持兼容性,但会提供显着的性能提升。在我们迄今为止所做的非科学评估中,我们的遗留应用程序在IIS7测试机器上的加载时间减少了约20%。
当然,我们必须以“经典”模式运行的原因是一个有趣的旁注。在global.asax中,有一些预启动应用程序启动,它接触HttpContext。具体来说,已经完成了预缓存,IIS7不允许这样做。因此,在我们从“经典”模式切换之前,我们必须做出一些改变。
答案 1 :(得分:3)
我会给你更多,但我自己还没有登上Server 2008,没有别的东西可以给。据推测,Vista(我在工作场所和家里都使用)拥有与2008年相同的IIS7 - 用户界面看起来非常相似 - 但我不认为我的经验对你的问题有用。
答案 2 :(得分:2)
能够在托管语言中编写管道组件。以前,如果您想编写ISAPI过滤器来处理某种类型的Web请求,则必须使用C ++编写它。现在,您可以使用优秀的'.NET代码。这允许更多定制,能够编写可重用的管道组件以处理各种类型的请求。例如,所有.js文件请求都被路由到ScriptCompressor管道组件,该组件将拉链并返回它们,并设置了大量的可缓存性。
对MVC的改进支持与此相关联,因为您可以将II7设置为在没有扩展到.NET的情况下路由请求,这样您就可以拥有“更清晰”的URL,例如http://www.yourwebsite.com/customer/1,而不会显示任何扩展名,这显示了什么你正在使用的服务器技术类型,现在非常不公平。