今天刚装了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的最后加入一节: <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