MVC网站 IIS发布报 错误

zhengyingcan 2016-09-22 01:39:25
做好的MVC网站,在VS 2015 上运行绝对是OK的, 在本地IIS上测试发布了一下,报如下错误
不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 overrideMode="Deny" 或旧有的 allowOverride="false" 的位置标记明确设置的。

具体截图如下


配置文件如下
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings configSource="Configs\database.config" />
<appSettings configSource="Configs\system.config" />
<system.web>
<httpRuntime targetFramework="4.5" />
<compilation debug="true" targetFramework="4.5" />
<pages>
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
</namespaces>
</pages>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
...全文
759 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengyingcan 2016-09-22
  • 打赏
  • 举报
回复
10楼说得对 改成如下 <system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer> 就好了
跳动de指尖 2016-09-22
  • 打赏
  • 举报
回复
http://www.cnblogs.com/xishuai/p/Styles-Render-runAllManagedModulesForAllRequests-true-go-on.html
跳动de指尖 2016-09-22
  • 打赏
  • 举报
回复
引用 2 楼 zhengyingcan 的回复:
百度上说 因为 IIS 7 采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。运行命令行 %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 。 其中的 handlers 是错误信息中红字显示的节点名称。 如果modules也被锁定,可以运行%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules 我试了一下,又出现如下报错
针对这个错误,需要在web.config的system.webServer节点下配置 <modules runAllManagedModulesForAllRequests="true"> 这样一来,所有的请求都走iis管道了,包括css javascript文件 图片等等
zhengyingcan 2016-09-22
  • 打赏
  • 举报
回复
IIS 应该是 7.0版本。
zhengyingcan 2016-09-22
  • 打赏
  • 举报
回复
还是不行呀,真惨呀,这个配置文件 这么简单,我就知道有问题。
引用 7 楼 pengqian098 的回复:
你的iis版本和服务器版本分别是什么?
服务器版本是 windows server 2008 32位, IIS 应该是6.0的 。
跳动de指尖 2016-09-22
  • 打赏
  • 举报
回复
你的iis版本和服务器版本分别是什么?
zhengyingcan 2016-09-22
  • 打赏
  • 举报
回复
我在服务器上跟3楼的设定一致,报错如下 没有为请求的 URL 配置默认文档,并且没有在服务器上启用目录浏览。
zhengyingcan 2016-09-22
  • 打赏
  • 举报
回复
我知道在那里了,极速IIS没有,但是服务器的IIS有这个选项
zhengyingcan 2016-09-22
  • 打赏
  • 举报
回复
3 楼高人,我找不到 这个选项在那里,帮忙看一下在那里,谢谢
王志威丶 2016-09-22
  • 打赏
  • 举报
回复
是不是这里?
zhengyingcan 2016-09-22
  • 打赏
  • 举报
回复
百度上说 因为 IIS 7 采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。运行命令行 %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 。
其中的 handlers 是错误信息中红字显示的节点名称。
如果modules也被锁定,可以运行%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules
我试了一下,又出现如下报错
zhengyingcan 2016-09-22
  • 打赏
  • 举报
回复
是不是配置文件 太简单了

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧