2011-05-15 78 views
0

我从一个曾经在Windows XP上的IIS上运行它的人那里得到了一个ASP.NET应用程序(我不知道他有哪个IIS版本)。移植到IIS 7.5时出现问题

当我试图将其部署到我的IIS(V7.5 - Windows 7中) - 我无法打开其default.aspx文件,我碰到下面的错误页面:

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

错误代码 0x80070021
配置错误 这部分配置不能 在此使用的路径。发生这种情况时 该部分锁定在父级 级别。锁定默认为 (overrideModeDefault =“Deny”),或者通过位置标记 overrideMode =“Deny”或传统 allowOverride =“false”明确设置 。配置文件 \ \ C:\的Inetpub \ wwwroot的\的web.config

配置源:

82:< /模块>
83:<处理程序> < - 这是有问题的线路
84:        <删除名称= “ScriptHandlerFactory”/ >

任何想法我需要'修复'在web.config?有没有指导将应用程序移植到iis7.5?

回答

2

当网站被视为另一个应用程序的子文件夹时,会发生这种情况,而不是自己的ASP.NET应用程序。

如果你只是把它放在wwwroot下,你需要右键单击你在IIS中添加的文件夹,然后选择“转换为应用程序”。

或者右键单击“站点”并添加指向该文件夹的新站点,或者在默认网站下,选择添加应用程序...并指向该文件夹。

当你这样做,有“应用程序池”来选择。确保选择一个具有为其创建的.NET版本的应用程序,如果ASP.NET 1.x为3.5,则选择ASP.NET 2.0,对于.NET 4.0,则选择4.0。

+0

同样的问题仍然存在 - 我不明白,我什么时候才能改变'overrideMode','allowOverride'或'overrideModeDefault'标志的IIS建议我改变 – RonK 2011-05-15 08:46:26

+0

不,你不知道!不要从字面上理解消息,因为错误并不能解释真正的问题。问题在于某些web.config部分只允许在Web应用程序的根目录中,因此,无论是将web.config添加到网站的子文件夹中,还是将网站设置为IIS中的应用程序而IIS认为它是其他东西的子文件夹。 – Meligy 2011-05-15 08:51:33

+0

谢谢,最后的评论澄清了这个问题。 web.config是多余的。删除不需要的部分并使用加载的应用程序的默认部分。虽然我不得不手动告诉IIS,'aspx'有MIME类型'text/html',我觉得很奇怪 – RonK 2011-05-15 10:49:27

0

请务必按照这样的一个微软的文章排除错误,

http://blogs.iis.net/webtopics/archive/2010/03/08/troubleshooting-http-500-19-errors-in-iis-7.aspx

通常有在错误响应几行,它指向在配置文件中的特定行(并因此锁定部分)有问题。您将不得不解锁该部分,或者不在应用程序的web.config文件中使用它。 例如,您可以通过以下任一方式锁定/解锁处理程序/模块部分: Ø使用appcmd.exe %windir%\ system32 \ inetsrv \ appcmd解锁config -section:system。web服务器/处理程序 %windir%\ system32 \ inetsrv \ appcmd解锁配置-section:system.webServer/modules 或 Ø手动将值从“拒绝”更改为“允许”,以便在%windir%\ system32 \ inetsrv \ config \ applicationHost.config 您也可以通过IIS管理器UI配置锁定。 有关详细信息,请参阅:在IIS 7.0配置中锁定 在上述错误消息中,处理程序部分发生了以下错误: “ 这通常表示ASP.NET未安装或者安装已损坏/不完整,因为安装了asp .net解锁该部分。因此,如果是这种情况,应该从服务器管理器安装asp.net功能(在Windows Server 2008中的Web服务器角色下,以及在Vista/Windows7中的程序功能 - >应用程序服务器中)。 KB929772介绍了ASP.NET安装失败的原因。