我刚尝试将我的第一个Web应用程序部署到Windows 7 Home Premium笔记本上的IIS中。创建应用程序后,我不得不更改为Classic App Pool,然后将该池设置为框架4.0。现在我收到以下错误:
HTTP错误404.17 - 未找到请求的内容似乎是 脚本,静态文件处理程序不会提供服务。
请求的网址为 http://localhost:80/pvmms/default.aspx
我担心广泛的谷歌搜索没有给我提供任何明确或明确的信息,而且像往常一样,我转向了专家。
修改 我怀疑这是因为.aspx文件没有框架4.0处理程序映射。但是,aspnet_regi甚至为我的管理员用户提供了指示,并说我需要管理员权限才能运行它。
编辑#2:
我注册了所有框架(2& 4,32和64),现在都可以使用了。我通过手动将.aspx
的脚本映射添加到aspnet_isapi并发现了这一点。我不明白为什么安装框架不会这样做,除非我的内存让我失望并且我在安装VS后才启用IIS。
答案 0 :(得分:118)
现在可能为时已晚,但通常需要运行
aspnet_regiis.exe -i
安装asp.net后。也许我现在还会这样做。
答案 1 :(得分:63)
除此之外,如果您需要WCF支持,则可能需要运行此命令:
c:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe -i
将v3.0替换为您当前的框架版本。
答案 2 :(得分:51)
尝试访问我编写的WCF服务时,我在IIS 8.5中遇到此错误。原来服务器没有打开WCF HTTP激活功能。选中复选框并单击向导iisreset,开始工作。
答案 3 :(得分:43)
如果您使用的是iis 7.5。
只需转到IIS管理器,打开您的网站属性。
您将在那里看到“处理程序映射”部分,只需转到该部分并搜索“staticFile”。
很可能是列表中的最后一个文件。
然后右键单击它并选择“还原为父级”。
我第一次遇到这种情况时已经浪费了这么多时间,无论如何这将解决你的问题。
答案 4 :(得分:23)
我在使用ASP.NET 4.5的Windows Server 2012时出现此问题,您无法使用aspnet_regiis.exe,只需通过添加角色和功能向导安装ASP .NET 4.5:
您可以在服务器管理器右上角的“管理”菜单中找到“添加角色和功能”菜单项
答案 5 :(得分:14)
我通过启用WCF Services
Programs and Features > NET Framework 4.5 Services > WCF Services> HTTP Activation node
但是你必须承认这个整个IIS设置配置/猜测/试用并看到/尝试这个/尝试我们花费4或5天试图寻找解决方案的方法是完全和UTTER JOKE。
SURELY,'IIS'是人类最快的自信心。
答案 6 :(得分:14)
我知道这是一个老问题,但我刚刚在我重建的Windows 8机器上安装了3.5应用程序,我在aspnet_regiis -iru
之后仍然得到了这个问题,结果却是ASP.NET 3.5没有勾选应用程序开发功能(发布图像的声誉不足)。
答案 7 :(得分:14)
我应该看看这个选项
答案 8 :(得分:11)
默认情况下,为您的应用程序创建的应用程序池有可能是版本2.因此,虽然您在列表中看到.svc扩展名的处理程序但它不起作用并将其视为静态文件。您只需打开应用程序池属性并将其切换到版本4.
答案 9 :(得分:8)
再次注册asp.net ....将解决问题。
转到Visual Studio命令提示符,
将asp.net注册为windows \ microsoft.net \ Framework [.Net version num] \ aspnet_regiis.exe -i
答案 10 :(得分:5)
我在设置的Windows 8机器上遇到了同样的问题。我在vs2010之前安装了vs2012,它安装了.NET framework 4.5。我的应用程序池在4.0中运行。我确保我使用aspnet_regiis -i注册了4.0的aspnet。那仍然没有成功。然后我打开了Windows功能并注意到4.5添加了一个名为“.NET Framework 4.5 Advanced Services”的集合。我启用了WCF服务节点及其子节点,然后我的svc端点正确运行。希望这有助于那些正在迁移到Windows 8的人。
答案 11 :(得分:3)
答案 12 :(得分:2)
我发现另一个可能的解决方案有相同的错误消息。
当尝试将.NET 4.0 Web应用程序设置到新的应用程序池时,我收到了这个奇怪的错误,告诉我它正在尝试使用静态文件处理程序处理我的aspx文件,这没有用。
由于某种原因,ISAPI for .NET 4.0在IIS管理器中的服务器级别的 ISAPI和CGI限制区域中设置为禁用。 将其设置为启用是所有必需的,但IIS 7.5管理器如此复杂且难以理解,花了我很长时间来解决这个问题。
我猜测,因为它是4.0引擎无法处理的4.0应用程序,所以默认使用静态文件处理程序。
答案 13 :(得分:2)
我遇到了同样的问题。当我为IIS添加静态内容功能时,它工作正常。
答案 14 :(得分:2)
对于阅读此内容的其他人:
如果您注册的.Net版本不是在您网站附带的应用程序池的“基本设置”下选择的版本,则会发生这种情况。例如,您的站点应用程序池已选择.Net v2.0但您注册了v4.0
答案 15 :(得分:1)
cmd - >右键单击 - >以管理员身份运行
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -i
答案 16 :(得分:1)
对于Windows 10 / Framework 4.7,我必须通过以下方法启用HTTP激活:
答案 17 :(得分:0)
使用IIS管理器,我发现.aspx文件已映射(在“Handler Mappings”下)到ISAPI 2.0 - 即使先前已经安装了ASP.NET 4.5。编辑它们以指向(也)ISAPI 4.0 64bit的可执行文件修复了该问题。
找到了可执行文件 %WINDIR%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ ASPNET_ISAPI.DLL
答案 18 :(得分:0)
我在iis 7.5上收到了此消息,其中包含一个分配给.net 2.0的经典应用程序池。我需要去Handler Mappings并添加两个脚本映射,除了名称之外都是相同的。一个名字是svc-ISAPI-2.0-64,另一个是svc-ISAPI-2.0。请求路径是.svc。可执行文件是%SystemRoot%\ Microsoft.NET \ Framework64 \ v2.0.50727 \ aspnet_isapi.dll。我重启了iis,一切都很开心
答案 19 :(得分:0)
我刚刚解决的最糟糕的情况之一是 - 在Web.config中存在冲突的条目。
在我的本地计算机上,我没有在IIS中注册.woff扩展,所以我使用Web.config添加它。但是在生产服务器上.woff已经注册了mime类型。这导致应用程序级别冲突。
有趣的是,没有记录错误。只是一个猜测工作(当然是第一次)。
所以对我来说,解决方案只是从web.config中删除和/或元素。
答案 20 :(得分:0)
我遇到了同样的问题,我刚刚将网站上的目标框架版本更改为它开发的版本,在IIS中相同。这解决了我的问题。希望这会有所帮助...
谢谢
答案 21 :(得分:0)
这可能是多方面原因,在我的情况下,在应用程序池 - >高级设置 - >启用32位应用程序(应该为真)。之前设置为false。
答案 22 :(得分:-1)
使用CMD或powershell
导航到您的.Net和CPU架构目录输入此命令:aspnet_regiis –r