我的客户端在.NET中有大部分的应用程序,他正在更换他的托pipe服务提供商,现在他询问他是否应该使用带有IIS 7.0的Windows 2008或带有IIS 6.0的旧式Windows 2003
7.0提供6.0以上的优势吗?
.Net在IIS7中是原生的,而不是一个ISAPIfilter。 这让你stream水线和更大的configuration控制通过web.config。 另一个后果是,web.config中应用的URL权限适用于所有资源,而不仅仅是IIS6中映射到ASPNET ISAPI筛选器的资源。 因此,如果你想使用ASPNet MVC,在IIS7中更容易。 您也可以将HttpModules与非.NET技术(如PHP)结合使用。 例如,您可以使用.NET URL授权或Microsoft的URL重写模块,像PHP一样,它将工作得很好。
II7运行.net应用程序比2003年更快。另外,还有更多的function可供开发人员使用。 Stackoverflow可能会有更多的帮助,但
从http://weblogs.asp.net/scottgu/archive/2007/04/02/iis-7-0.aspx
1)现在,您可以对服务器的所有请求(例如:.htm,.php和.jsp文件)使用ASP.NET窗体身份validation,成员资格/angular色和任何其他function。
2)您现在可以轻松地重写任何Web请求的URL和/或以有趣的方式修改请求
3)您可以使用VB或C#replace或扩展任何现有的IISfunction(例如:您可以删除内置的目录列表模块和插件自己的)。
在行政上,我发现IIs7比iis6更容易pipe理
对我来说这将是一个不容忽视的工作: IIS 7 。 我只是说两个字: 综合pipe道 。
以下是有趣的Microsoft TechNet文章: IIS 7.0中的十大性能改进 。
IIS7是IIS长期以来最大的一次更新,包含了很多根本性的变化。 总的来说这是一件好事,因为新版本更快,更可靠,更模块化,而且通常只是更好。
然而,这是一个代价。 使用IIS6设置的应用程序可能需要一些额外的configuration才能在IIS7中按预期工作。 你必须决定这个风险是否值得。
您可能需要考虑的另一个考虑因素是您的客户将在未来运行哪种应用程序。 目前开发ASP.Net MVC应用程序在IIS 7上运行要比在IIS 6上运行要容易得多。简而言之,它只是需要一些自定义的IISconfiguration才能使其运行,但这是需要完成的额外步骤而与IIS 7它只是工作。
所有其他的事情是一样的,我会去的Server 2008 / IIS 7只是由于更新的更新。
您可能要考虑的另一件事是服务器将被部署多久。 如果你想长期,这是2008年的另一个加号。(因为2003年将比2008年更早出现..)
我们已经运行IIS7一段时间了,我会推荐它。 分布式,委托configuration是巨大的。 对于您创build的每个网站,您都有web.config中的configuration设置。 您可以将变更控制逐个授权给人员,也可以逐个授权地授予人员。 这样,您可以通过他们正在工作的站点对开发人员进行一些configuration控制,而不必授予他们对其他站点的访问权限,也无需授予他们对IISpipe理员的访问权限(就像您在IIS6中所做的那样)。 也有一些非常好的function,如URLScan和新的集成诊断。
不利的一面是,如果你已经pipe理IIS6一段时间了,那么新的经理UI需要一点习惯,但是总体来说这是一个小的代价。