脚本不在IIS7.5上由静态文件处理程序提供

我刚刚尝试将我的第一个Web应用程序部署到我的Windows 7家庭高级版笔记本上的IIS。 在创build应用程序之后,我必须更改为Classic App Pool,然后将该池设置为framework 4.0。 现在我得到以下错误:

HTTP错误404.17 – 未find请求的内容似乎是脚本,不会由静态文件处理程序提供。

请求的URL是http:// localhost:80 / pvmms / default.aspx

我担心大量的谷歌search没有给我任何明确或明确的工作,像往常一样,我已经转向专家。

编辑:我怀疑这是因为没有.aspx文件的框架4.0处理程序映射。 然而,aspnet_regiis甚至给我的pipe理员用户的手指,并说我需要pipe理员权限来运行它。

编辑#2:我注册了所有的框架(2&4,32和64),现在所有的作品。 我通过手动添加.aspx的脚本映射到aspnet_isapi和voila来发现此问题。 我不明白为什么安装的框架不这样做,除非我的记忆失败,我只安装VS后启用IIS。

现在也许已经太晚了,但是更多的时候你需要跑步

 aspnet_regiis.exe -i 

安装asp.net后。 也许现在我会这样做。

除上述之外,如果您需要WCF支持,则可能需要运行以下命令:

 c:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe -i 

将v3.0replace为您当前的框架版本。

如果你正在使用iis 7.5。

只要去IISpipe理器,打开你的网站属性。

您将会看到“Handler Mappings”部分,只需转到该部分并search“staticFile”即可。

很可能它是列表中的最后一个文件。

然后右键单击它并select“恢复到父母”。

我已经浪费了这么多个小时,而我第一次面对,反正这将解决您的问题。

我试图访问我写的WCF服务时遇到了IIS 8.5的这个错误。 原来服务器没有打开WCF HTTP激活function。 勾选了这些框,并通过向导iisreset点击,开始工作。

Windows功能面板

我在Windows Server 2012中使用ASP .NET 4.5时遇到了这个问题,您不能使用aspnet_regiis.exe,只需通过“添加angular色和function向导”安装ASP .NET 4.5即可:

在这里输入图像说明

您可以在服务器pipe理器的右下angular的“pipe理”菜单中find菜单项“添加angular色和function”

我知道这是一个老问题,但我刚刚在重build的Windows 8计算机上使用了3.5应用程序,而且在aspnet_regiis -iru之后我仍然得到这个,事实certificateASP.NET 3.5没有在内部打勾应用程序开发function(没有足够的声望来发布图像)。

替代文字

应该检查出这个选项我想

有一个机会,默认情况下为你创build的应用程序池是版本2.所以,尽pipe你在列表中看到一个.svc扩展名的处理程序,它不起作用,并将其视为静态文件。 您只需打开应用程序池属性并将其切换到版本4即可。

我通过启用WCF Services来解决这个问题

Programs and Features > NET Framework 4.5 Services > WCF Services> HTTP Activation node

但是你必须承认,这个完整的IIS设置configuration/猜测/试验,看看/尝试这个/尝试花费我们的时间4或5,试图find一个解决scheme的方法是一个完整的和UTTER JOKE。

总之,'IIS'是人类最大的信心

再次注册asp.net ….将解决这个问题。
在这里输入图像说明

转到Visual Studio命令提示符,
并将asp.net注册为windows \ microsoft.net \ Framework [.Net版本号] \ aspnet_regiis.exe -i

我在设置的Windows 8机器上遇到了同样的问题。 我在vs2010之前安装了vs2012,它安装了.NET framework 4.5。 我有我的应用程序池在4.0中运行。 我确定我使用aspnet_regiis -i注册了aspnet。 这仍然没有办法。 然后,我打开了Windowsfunction,注意到4.5添加了一个名为“.NET Framework 4.5高级服务”的集合。 我启用了WCF服务节点及其子节点,然后我的svc端点正常运行。 希望这有助于正在转向Windows 8的人们。

当我遇到同样的问题时,我偶然发现了这个问题。 我的问题的根本原因是一个错误configuration的应用程序池。 它被设置为2.0,当它需要被设置为4.0时。 在下面的链接的答案帮助我发现这个问题: http : //forums.iis.net/t/1160143.aspx

我有同样的问题。 当我为IIS添加静态内容feaute,它工作正常。

我发现另一个可能的解决scheme有相同的错误信息。

当试图将一个.NET 4.0 Web应用程序安装到一个新的应用程序池时,我收到了这个奇怪的错误,告诉我这是试图用静态文件处理程序来处理我的aspx文件,这没有任何意义。

出于某种原因,.NET 4.0的ISAPI被设置为在IISpipe理器的服务器级别的ISAPI和CGI限制区域中被禁用。 将它设置为启用是所有必需的 ,但IIS 7.5pipe理器是如此复杂,难以遵循,花了我很长的时间来弄清楚这一点。

我猜测,因为它是4.0引擎无法处理的4.0应用程序默认情况下使用静态文件处理程序。

对于其他人阅读:

如果您注册的.Net版本不是在您的网站附加的应用程序池的“基本设置”下select的,则可能发生这种情况。 例如,您的网站应用程序池select了.Net v2.0,但您注册了v4.0

cmd – >右键单击 – >以pipe理员身份运行

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -i

使用IISpipe理器,我发现.aspx文件已映射(在“处理程序映射”下)到ISAPI 2.0 – 即使先前已经安装了ASP.NET 4.5。 编辑他们指向(也)到ISAPI 4.0 64位的可执行文件修复了这个问题。

可执行文件在%windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll中find

我收到了一条关于iis 7.5的应用程序的消息,其中经典的应用程序池被分配给.net 2.0。 我需要去处理映射并添加两个脚本映射,除了名称都是相同的。 一个是svc-ISAPI-2.0-64,另一个是svc-ISAPI-2.0。 请求path是.svc。 而可执行文件是%SystemRoot%\ Microsoft.NET \ Framework64 \ v2.0.50727 \ aspnet_isapi.dll。 我重新启动了iis,一切都开心了

我刚刚解决的最糟糕的情况之一是 – 在Web.config中有冲突的条目。

在我的本地机器上,我没有在IIS中注册的.woff扩展名,所以我使用Web.config添加了它。 但在生产服务器.woff有MIMEtypes注册。 这导致应用程序级别冲突。

有趣的部分是没有logging这个错误。 只是一个猜测工作(当然第一次)。

所以对于我来说解决scheme只是从web.config中删除和/或元素。

我有同样的问题,我只是将网站上的目标框架版本更改为它的开发版本,在IIS中也是如此。 这解决了我的问题。 希望这可以帮助…

谢谢

这可能是多种原因,在我的情况下,在应用程序池 – >高级设置 – >启用32位应用程序(应为true)。它被设置为false之前。

使用CMD或PowerShell导航到.Net和CPU架构目录

input这个命令: aspnet_regiis –r