64位Windows Server 2008 IIS部署与404.17问题解决方案

需积分: 3 1 下载量 165 浏览量 更新于2024-09-12 收藏 570KB DOCX 举报
在64位Windows Server 2008环境中部署IIS的过程中,用户遇到了一个常见的问题:在使用Visual Studio.NET和C#开发的Webservice服务器上,访问时遇到404.17 "NotFound" 错误,提示请求的内容似乎是脚本,不能由静态文件处理程序处理。这个问题的解决涉及以下几个步骤: 1. **检查应用程序池设置**:首先,用户在IIS管理器中进入应用程序池,将"启动32位应用程序"选项改为"true",试图通过开启32位应用程序支持来解决问题。尽管进行了这个更改,但问题依然存在。 2. **重置DotNet Framework**:考虑到可能是 DotNet 4.0 的注册问题,用户重新安装并注册了 .NET Framework 4.0,通过`aspnet_regiis –i`命令进行注册,以确保.NET框架的正确配置。 3. **ISAPI筛选器设置**:在IIS管理器的默认网站功能页面中,用户检查了"ISAPI筛选器",确认了所有必要的脚本解释器(如CGI和ISAPI程序)都被正确配置和启用。发现32位程序执行被禁止,用户将其设置为允许。 4. **应用程序池调整**:用户将应用程序的高级设置中的应用程序池调整为 DotNet4.0,以确保应用程序的正确执行环境。 5. **权限问题排查**:经过一系列尝试后,用户发现"拒绝访问"的错误是由于登录账号"IIS_IUSR"的权限不足。因此,用户赋予了该账号对"c:\Windows\Temp"文件夹的写入、修改、删除和读取权限。 6. **Web.Config 配置**:最后,用户在IIS应用程序的文件夹中添加了 `<webServices>` 节点,设置了HTTP协议支持(HttpGet和HttpPost),以确保Web服务的正确访问。 通过以上步骤的细致排查和调整,用户成功地解决了64位Windows Server 2008部署IIS时遇到的404.17错误,使得Webservice服务器能够正常对外提供服务。这表明在部署过程中,不仅需要熟悉基础的IIS设置,还需要对应用程序环境和权限管理有深入理解。