IIS7.5上的静态文件处理程序没有提供脚本

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

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

请求的 URL 是 翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳 http://localhost:80/pvmms/default.aspx

恐怕大量的谷歌搜索并没有给我带来足够清晰和明确的信息,因此我像往常一样求助于专家。

编辑: 我怀疑这是因为没有框架4.0处理程序映射。Aspx 文件。然而,aspnet _ regiis 甚至对我的管理员用户指手画脚,说我需要管理员权限才能运行它。

我注册了所有的框架(2 & 4,32和64) ,现在它们都可以工作了。我通过手动将 .aspx的脚本映射添加到 aspnet _ isapi 中发现了这一点。我不明白为什么框架的安装不这样做,除非我的内存失败,我只有在安装 VS 后启用 IIS。

294342 次浏览

alt text

我想应该检查一下这个选项

也许现在太晚了,但通常情况下你需要逃跑

aspnet_regiis.exe -i

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

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

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

将 v3.0替换为当前的框架版本。

如果您使用的是 iis7.5。

只需到 IIS 管理器,打开您的网站属性。

您将在那里看到“处理程序映射”部分,只需转到该部分并搜索“ staticFile”即可。

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

然后右键单击它,选择“恢复到父母”。

我已经浪费了这么多的时间,而我已经面对这第一次,无论如何,这将解决你的问题。

重新注册 asp.net... ... 将解决这个问题。
enter image description here

转到 Visual Studio 命令提示符 < br/> 并将 asp.Net 注册为 Windows microsoft.Net Framework [ . Net version num ] aspnet _ regiis.exe-i

默认情况下为您的应用程序创建的应用程序池有可能是版本2。所以尽管您看到了。Svc 扩展名在列表中它不工作,并将其视为静态文件。您所需要的只是打开应用程序池属性并将其切换到版本4。

我也有同样的问题。当我为 IIS 添加静态内容特性时,它工作得很好。

只是另一个可能的解决方案,我发现有相同的错误消息。

当尝试设置。NET 4.0 web 应用程序到一个新的应用程序池我收到这个奇怪的错误,告诉我它试图处理我的 aspx 文件与静态文件处理程序,这是没有意义的。

出于某种原因,ISAPI 为。NET 4.0在 IIS 管理器的服务器级别的 ISAPI 和 CGI 限制区域被设置为禁用。然而,IIS 7.5管理器是如此复杂和难以理解,我花了很长时间才弄明白这一点。

我猜测,由于它是一个4.0应用程序,无法由4.0引擎处理,因此默认情况下使用了静态文件处理程序。

我知道这是一个老问题,但我刚刚在我重建的 Windows 8机器上使用了3.5版本的应用程序,而且在 aspnet_regiis -iru之后我仍然得到了这个版本,结果是 ASP.NET 3.5在应用程序开发功能(没有足够的声誉来发布图片)中没有标记。

我正在安装的一台 Windows 8机器也出现了同样的问题。我在 vs2010之前已经安装了 vs2012。NET 框架4.5。我的应用程序池在4.0版本中运行。我确保我使用 aspnet _ regiis-i 注册了 aspnet 4.0。还是没起作用。然后我打开 Windows 功能,注意到4.5添加了一个名为“ .NET Framework 4.5 Advanced Services”的集合。我启用了 WCF 服务节点及其子节点,然后我的 svc 端点正常运行。希望这能帮助那些正在转向 Windows8的人们。

我有这个问题与 WindowsServer2012与 ASP。NET 4.5你不能使用 aspnet _ regiis.exe,只能安装 ASP。NET 4.5通过添加角色和特性向导:

enter image description here

您可以找到菜单项“添加角色和功能”的菜单“管理”,在右角的服务器管理器

当我碰到同样的问题时,我偶然发现了这个问题。问题的根本原因是配置不正确的应用程序池。在需要将其设置为4.0时,无意中将其设置为2.0。以下链接中的答案帮助我发现了这个问题: http://forums.iis.net/t/1160143.aspx

使用 IIS 管理器,我发现。Aspx 文件被映射(在“ Handler 映射”下)到 ISAPI 2.0-即使 ASP.NET 4.5已经被安装。编辑它们指向 ISAPI 4.064位的可执行文件解决了这个问题。

中找到了可执行文件 % windir% Microsoft.NET Framework64 v4.0.30319 aspnet _ isapi. dll

在尝试访问我编写的 WCF 服务时,我在 IIS 8.5中遇到了这个错误。原来服务器没有打开 WCF HTTP 激活特性。选中复选框并通过向导单击,iisrets 开始工作。

Windows Features Panel

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

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

但你必须承认,伙计们,这整个 IIS 设置配置/猜测/试验,看/尝试这个/尝试,花费我们的4或5天试图找到一个解决方案的方法是一个完全和彻底的玩笑。

当然,“伊斯”是迄今为止人类演奏过的最大的骗局

我收到这个消息的应用程序在 iis7.5与一个经典的应用程序池分配到。净值2.0。我需要去处理器映射,并添加两个脚本映射,两者都是相同的,除了名称。一个名称是 svc-ISAPI-2.0-64,另一个名称是 svc-ISAPI-2.0。请求路径是。Svc.可执行文件是% SystemRoot% Microsoft.NET Framework64 v2.0.50727 aspnet _ isapi.dll。我重新开始,一切都很开心

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

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

有趣的是这里没有错误记录。只是一个猜测工作(当然是第一次)。

所以对我来说,解决方案就是从 web.config 中删除和/或元素。

Cmd-> 右键单击-> 以管理员身份运行

C: Windows Microsoft.NET Framework v4.0.30319 aspnet _ regiis.exe-i

对于其他阅读这篇文章的人来说:

可能发生的情况是。您已经注册的网络版本不是在您网站附加的应用程序池的“基本设置”下选择的那个。例如,您的站点应用程序池具有。已选择 Net v2.0,但您注册了 v4.0

我有同样的问题,我只是改变了目标框架版本的网站,它是在开发的版本,相同的在 IIS。这解决了我的问题。希望这个能帮上忙。

谢谢你

这可能是多种原因,在我的情况下,应用程序池-> 预设置-> 启用32位应用程序(应该是真的)。之前设置为假。

对于 Windows 10/Framework 4.7,我必须通过以下方法打开 HTTP 激活:

  1. 控制面板 > 程序和特性 > 打开或关闭 Windows 特性
  2. 下面。NET Framework 4.7 Advanced Services,展开 WCF Services,选择检查 HTTP 激活和使用 WCF 时需要的其他任何东西
  3. 单击 OK 并让安装完成它的任务,然后打开一个管理命令提示符并发出 IISRESET 命令