IIS 7.5 and ASP .NET 2.0

16

是否有关于IIS 7.5的已知问题?当我尝试浏览/启动/查看站点上的任何页面时,我会收到以下错误。

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration
 data for the page is invalid.

Module  IIS Web Core
Notification    BeginRequest
Handler Not yet determined
Error Code  0x80070021
Config Error    This configuration section cannot be used at this path. 
 This happens when the section is locked at a parent level. Locking is either by
default (overrideModeDefault="Deny"), or set explicitly by a location tag with 
  overrideMode="Deny" or the legacy allowOverride="false". 

Config Source
97:         </modules>
98:         <handlers>
99:             <remove name="WebServiceHandlerFactory-Integrated"/>

它是什么类型的应用程序?网站、Web 应用程序项目?Web 服务?你是如何发布它的?系统上安装了哪个版本的 .NET,以及使用的操作系统和版本是什么? - John Saunders
项目类型 = 运行在 IIS 7.5 上的网站 .NET FX = 3.5 SP1 操作系统 = Windows 7 - abjbhat
你是如何将网站发布到IIS的? - John Saunders
这是我的本地/开发机器。我刚刚添加了一个新站点,然后在VS 2008中将其添加到我的解决方案中。 - abjbhat
9个回答

18

遇到了类似的问题,最终发现这篇文章非常有用: http://support.microsoft.com/kb/942055

基本上是由于 applicationHost.config 文件中的处理程序部分被锁定:

<section name="handlers" overrideModeDefault="Deny" />

我把它改成了

<section name="handlers" overrideModeDefault="Allow" />

然后它就工作了。

另外,值得检查的是是否安装了所有的asp.net角色,请参见链接文本


3
是的,ASP.NET使用一系列配置文件,从最靠近请求页面的文件夹开始,到应用程序根目录,然后进入.NET Framework Config文件夹 - 其中有两个或三个文件能够一起工作,直到machine.config。元素可以在任何一个级别上进行锁定,请参见以下两个链接:http://msdn.microsoft.com/en-us/library/system.configuration.sectioninformation.allowoverride.aspx和http://msdn.microsoft.com/en-us/library/system.configuration.sectioninformation.overridemodedefault.aspx。 - Zhaph - Ben Duguid
还值得检查的是,确保已安装了所有的ASP.NET角色,请参见链接文本。ASP.NET未启用,我收到了HTTP 500.19错误。这个链接(http://technet.microsoft.com/en-us/library/cc731252%28WS.10%29.aspx)就是答案。非常感谢你,十分感谢你! - John Hartley

5
这篇文章解决了我在Windows 7 64位IIS 7上遇到的问题。

点击这里查看。


这对我来说就是问题所在。我也使用的是64位的Windows 7操作系统。谢谢Aboo。 - Ryan

2

使用文本编辑器(例如Notepad),打开以下位置中的applicationHost.config文件:

%windir%\system32\inetsrv\config\applicationHost.config

基本上,applicationHost.config的处理程序部分被锁定了。
<section name="handlers" overrideModeDefault="Deny" />

将其更改为

<section name="handlers" overrideModeDefault="Allow" />

它能够正常工作。


2
我猜想大部分收到这个错误信息的人在控制面板的“程序和功能”中未选择足够多的iis功能复选框。

我认为这个错误报告真是太糟糕了。


嘿,我想这会比以后更快地帮助某人;) - David

1
上一个答案给了我答案,但又出现了另一个错误,所以你也应该检查一下this

1
这是由于IIS没有安装asp.net引起的。 在控制面板中的“程序和功能”中启用Windows功能,选择IIS,然后选择“万维网服务”,接着选择“应用程序开发功能”,再选择“ASP”和“ASP.NET”。请注意保留HTML标签。

0

HTTP错误 500.19 - 内部服务器错误。

如果 .Net Framework 版本不正确或托管管道模式设置不正确,也会发生此问题。


0

按照上述方法进行修复后,我们会得到以下错误信息:

访问托管在IIS 7.0上的网站时出现的错误消息:
HTTP Error 403.14 - Forbidden。

要解决此问题,请使用以下方法之一。


方法 1:解决此问题,请按照以下步骤操作:

  • 启动 IIS 管理器。要执行此操作,请单击“开始”,单击“运行”,键入 inetmgr.exe,然后单击“确定”。
  • 在 IIS 管理器中,展开服务器名称,展开“网站”,然后单击要修改的网站。
  • 在“特性视图”中,双击“目录浏览”。
  • 在“操作”窗格中,单击“启用”。

方法二:按照以下步骤解决此问题:

  • 启动 IIS 管理器。要执行此操作,请单击“开始”菜单,然后单击“运行”,输入 inetmgr.exe,然后单击“确定”。
  • 在 IIS 管理器中,展开服务器名称,展开“网站”,然后单击要修改的网站。
  • 在“特性视图”中,双击“默认文档”。
  • 在“操作”窗格中,单击“启用”。
  • 在“文件名”框中,键入默认文档的名称,然后单击“确定”。

在我看来,方法1存在安全风险,不应该在公共面向网站上使用。相反,应该授予应用程序池标识(IUSR或您选择的用户)访问底层文件/文件夹的权限。要做到这一点,请右键单击Web应用程序节点并选择编辑权限。 - abjbhat

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接