移植到 IIS 7.5 时出现问题

发布于 2024-11-07 19:27:02 字数 704 浏览 3 评论 0原文

我从一个曾经在 Windows XP 上的 IIS 上运行该应用程序的人那里得到了一个 ASP.NET 应用程序(我不知道他拥有哪个 IIS 版本)。

当我尝试将其部署到 IIS (v7.5 - Windows 7) 上时 - 我无法打开其 default.aspx 文件,并且收到以下错误页面:

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

错误代码 0x80070021
配置错误 该配置部分不能 在此路径中使用。发生这种情况时 该部分被锁定在父级 等级。默认情况下锁定 (overrideModeDefault="Deny"),或设置 明确地通过位置标签 overrideMode="Deny" 或旧版 允许覆盖=“假”。配置文件 \?\C:\inetpub\wwwroot\web.config

配置源:

82:
83:<处理程序> <-- 这是有问题的行
84:   <删除 name="ScriptHandlerFactory"/>

知道我需要在 web.config 中“修复”什么吗?有没有将应用程序移植到iis7.5的指南?

I got an ASP.NET app from someone who used to run it on his IIS on Windows XP (I don't know which IIS version he has).

When I tried to deploy it on my IIS (v7.5 - Windows 7) - I can't open its default.aspx file and I get the following error page:

HTTP Error 500.19 - Internal Server Error

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 File
\?\C:\inetpub\wwwroot\web.config

Config Source:

82:</modules>
83:<handlers> <-- This is the problematic line
84:    <remove name="ScriptHandlerFactory"/>

Any idea what I need to 'fix' in the web.config? Is there any guide to porting apps to iis7.5?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

音盲 2024-11-14 19:27:02

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

如果您只是将其放在 wwwroot 下,则需要右键单击您在 IIS(而不是资源管理器)中添加的文件夹,然后选择“转换为应用程序”。

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

当您执行此操作时,可以选择“应用程序池”。确保您选择的应用程序具有为其创建的 .NET 版本,如果 ASP.NET 1.x 到 3.5,您选择 ASP.NET 2.0,对于 .NET 4.0,您选择 4.0。

This happens when the site is seen as sub-folder of another application, not an ASP.NET application on its own.

If you just put it under wwwroot, you need to right click the folder you added in IIS not Explorer and choose "Convert To Application".

Alternatively right click "Sites" and add new site pointing to this folder, or under Default Web Site, choose Add Application... and point to the folder.

When you do this, there is "Application Pool" to select. Make sure that you choose one that has the .NET version the app was created for, If ASP.NET 1.x to 3.5 you choose ASP.NET 2.0, for .NET 4.0, you choose 4.0.

始于初秋 2024-11-14 19:27:02

确保根据 Microsoft 文章(例如

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 解锁配置 -section:system.webServer/handlers
%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安装失败的原因。

Make sure you troubleshoot the errors according to Microsoft articles like this one,

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

There are usually a few more lines in that error response that points to the exact line in the config file (and hence the locked section) that has the problem. You will either have to unlock that section or not use it in your application’s web.config file.
For e.g., one can lock/unlock handlers/modules sections by either
Ø use appcmd.exe
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules
OR
Ø manually change value from "Deny" to "Allow" for below settings in %windir%\system32\inetsrv\config\ applicationHost.config

You can also configure the locking via IIS manager UI.
For more details refer: Locking in IIS 7.0 Configuration
In above error message, the error occurred on the handlers section at:

This usually indicates that ASP.NET is either not installed or has corrupted/incomplete installation because installation of asp.net unlocks that section. Hence if this is the case, one should install asp.net feature from Server Manager (Under Web Server Role in Windows Server 2008 and in Program Features-> Application server in Vista/Windows7). This KB929772 talks about the ASP.NET installation failure reason.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文