asp.net-mvc - 将我的 ASP.NET MVC 应用程序部署到我的 Web 主机时,由于配置锁定导致内部服务器错误

标签 asp.net-mvc iis deployment iis-7 web-hosting

我正在本地 Windows Server 2008/IIS7 机器上开发一个 ASP.NET MVC 网站,现在我正在尝试将它部署到我的网络主机提供商 ASPnix .我正在使用他们的 Shared Web Hosting 服务,并被放置在他们声称支持 ASP.NET MVC 的 IIS7 服务器上。
但是,当我将应用程序部署到他们的服务器时,我收到“内部服务器错误”。
这是错误摘要 :

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".


配置源 看起来像这样:
144:        </modules>
145:        <handlers>
146:            <remove name="WebServiceHandlerFactory-Integrated"/>
错误来自我有一个 的事实。 system.webServer 我的 web.config 文件中具有 的部分处理程序 子部分。 system.webServer 部分是我第一次在 Visual Studio 中创建 ASP.NET MVC 网站时默认设置的确切配置部分。它上面有以下 XML 注释:
<!-- 
The system.webServer section is required for running ASP.NET AJAX under Internet
Information Services 7.0.  It is not necessary for previous version of IIS.
-->
我拿处理程序 子节,500错误消失了。当然,该部分是 ASP.NET MVC 应用程序在 IIS7 中正常工作所必需的,因此仅使用它只会产生其他错误(在这种情况下为 404 错误,因为路由不起作用)。
ASPnix 的支持工程师声称 ASP.NET MVC 已在其服务器上的 IIS7 中正确安装和配置。我并不是说我不相信他们,因为这是我构建和部署的第一个 ASP.NET MVC 站点。但是,我想不出我能做些什么来完成这项工作,因为它似乎是一个我无法访问的级别的配置问题。
这个问题听起来像是人们试图将 ASP.NET MVC 部署到托管服务提供商的常见问题。 ASPnix 或其他网络托管公司是否遇到过这种情况并希望找到解决方案?
ps
一件奇怪的事。在网上研究这个问题时,我发现很多人说他们必须将 IIS7 的 applicationHost.config 文件的 overrideModeDefault 属性设置为从“拒绝”到“允许”。但是,我的本地开发服务器将此设置为“拒绝”并且一切正常。即便如此,我仍然无法访问 Web 主机服务器上的 applicationHost.config 文件。

最佳答案

打开 IIS 管理,在主服务器节点下,选择打开功能委派(在管理部分)

“处理程序映射”到“读/写”而不是“只读”

看起来您的托管服务提供商不必要地锁定了 IIS。

我能够在我的本地 IIS 7.5 服务器上重现该问题。

this重置全局设置。

关于asp.net-mvc - 将我的 ASP.NET MVC 应用程序部署到我的 Web 主机时,由于配置锁定导致内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1623194/

相关文章:

security - 软件激活如何工作?

c# - 没有名称属性的下拉列表

asp.net-mvc - 如何在ASP.NET MVC中模拟模型?

c# - 具有键 'XXX' 的 ViewData 项的类型为 'System.Int32' 但必须为 'IEnumerable<SelectListItem>' 类型

C# HttpClient - 我可以强制关闭连接吗?

javascript - 带有拉斯维加斯背景幻灯片的 ASP MVC 网站在发布到服务器后不显示背景

asp.net-mvc - 我必须更改 Azure 的 ASP MVC 身份验证系统吗?

c# - 上传的文件存放在哪里?

amazon-web-services - 我如何真正将 docker-compose.yml 部署到云端?

java - 在运行的生产环境中添加类文件