我似乎无法让任何 ASP.NET 站点在 Windows 8 上的 IIS8 下运行。在 IIS Express 下它们很好,但我已经:
- 安装 IIS8
- 在 IIS 中安装 ASP.NET 3.5 和 4.5 功能
- 创建了一个有效的应用程序池
- 在 IIS 管理器中添加了一个指向我的站点的新应用程序
但我得到: HTTP 错误 500.19 - 内部服务器错误 无法访问请求的页面,因为该页面的相关配置数据无效。
配置源:-1:0:
有任何想法吗?
ASP.Net 应用程序预装了 web.config 中的处理程序部分。
默认情况下,这在 IIS 的功能委派中设置为只读。
查看 IIS 管理器,在Server name → Feature delegate下。如果 Handler Mappings 设置为 readonly 并且您的站点 web.configs 有一个 handlers 部分,则将值翻转为读/写,看看会发生什么。
迁移到 Windows 8 / IIS 8 / ASP.Net MVC 4 时为我工作。
我正在使用 w10 技术预览版
我有同样的问题,这是因为应用程序池没有网站目录或 web.config 的权限。尝试通过读取、执行、列表授予“IIS_IUSRS”的权限。
在将 Web 应用程序从 IIS 7 移动到 8 时,我遇到了同样的问题,我通过安装我完全忘记的URL 重写模块解决了这个问题。因此,请检查您的新服务器/IIS 上是否安装了正确的模块等。
您也可以使用 WPI(Web 平台安装程序)安装此模块。
如果你有一台新机器/格式化你的机器,在安装 IIS 时,确保你勾选了安装 ASP.Net(适当的版本)。
提示:打开/关闭 Windows 功能 --> IIS --> 应用程序开发功能 --> ASP.Net 3.5 / 4.6
最近我已经升级到 Windows 10 (IIS 10),因为我忘记安装 ASP.Net,所以我遇到了这个问题。
其他故障排除提示是:
2) 确保您已授予 IIS_IUSRS 组对应用程序文件夹的读取权限。
3) 您可以检查您的应用程序池是否选择了正确的目标 .Net 框架。
4) 确保您的 Web.config 正确(定义明确的 XML)并且没有错误。谢谢。
在 web.config 中查找无效的配置部分。
在 IIS 管理器中,我无法打开任何功能,例如模块等。
在我的 web.config 中,我之前使用的图表对象中有一个无效的配置部分:
<system.webServer>
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
</httpHandlers>
</system.webServer>
在我删除它之后,一切正常。
在尝试了以上所有方法之后,我仍然卡住了,所以我决定去看看我的错误消息中引用的文件,“c:\some\path\web.config”
它是 3KB,我将其重命名为“_web.config”,脚本立即开始正常工作。
我假设原始创建的内容是在我无数次更改之前设置的。通过我所做的所有更改,它现在可以创建一个正确的 web.config。
伙计们,如果上述方法无法让您到达您需要的地方,请尝试一下。
终于整理好我的了!耶稣。我在我的项目中使用 git hub 并将其下载到每台 PC 上略有不同的位置。
当我尝试 unc 到配置文件时,提到的错误我注意到它实际上是其他电脑使用的路径。根本无法在项目中列出这个,所以只需右键单击 VS 中的项目文件并卸载它,再次加载它,它现在可以工作了。
您可能首先尝试过,但您是否尝试过关闭并重新打开电脑?我首先尝试了上述所有方法都无济于事,而只是这样做对我有用。可能我之前的一项操作锁定了我项目中的一个重要文件。