今天刚装了win7,在添加.net1.1的站点时出现了‘HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。’的错误,查了很多资料,说是因为*.svc文件已经被.Net Framework4.0的处理程序aspnet_isapi.dll接管,说要重新注册.net 3.5的.svc,我照做了,还是出现同样的问题。
解决问题的办法:
1、启用ISAPI和CGI中对.net 1.1的限制
2、调整machine.config,需要调整.net 1.1的配置忽略IIS 7的配置,打开%windir%/Microsoft.NET/Framework/v1.1.4322/config/machine.config,在configSections的最后加入一节:<</span>section name="system.webServer" type="System.Configuration.IgnoreSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
3、(此步可以不做)修正applicationHost.config的bug,IIS运行时在64位系统下加载.NET配置文件的目录是Microsoft.Net/Framework64,.NET 1.1的配置在这个目录下不存在,把32位目录下的配置文件拷贝到这个目录下:
- 创建目录/Windows/Microsoft.net/Framework64/v1.1.4322/config
- 从/Windows/Microsoft.net/Framework/v1.1.4322/Config拷贝machine.config
4.
注册
从错误的提示来看,应该是请求的页面(这里如:.aspx)不被IIS所识别,即IIS在解析页面时,找不到后缀为.aspx的页面对应的处理程序映射,那么很可能就是IIS的处理程序映射没有配置好。为了验证这个想法,我们可以在IIS中找到“处理程序映射”,双击就会显示处理程序映射列表。
cmd C:\Windows\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -r
5.应用程序池,有的机子,对于“集成”和“经典都可以”