【发布时间】:2011-09-15 02:50:56
【问题描述】:
我不确定此问题是否特定于 Accelerator for Web 角色(WAAWR:http://waawebroles.codeplex.com/)
编辑:我已确认此错误仅在我的 WAAWR 应用程序中引发 - 如果我将相同的代码部署为独立的 webrole,则不会引发此错误。
我正在尝试在通过 WAAWR 部署的应用程序上运行 WCF 路由/清理 url。此功能需要 asp .net 兼容模式。这是我的配置部分:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true">
<baseAddressPrefixFilters>
<add prefix="http://api.mydomain.com"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
</webHttpEndpoint>
</standardEndpoints>
</system.serviceModel>
我被这个错误困扰了几个小时:
System.IO.FileLoadException:文件名: \?\C:\Resources\directory\XXXXXXXXXXXXXXXXXXXXXXX\web.config 行号:74 错误:此配置部分不能用于 这条路。当该部分锁定在父级别时会发生这种情况。 默认情况下锁定 (overrideModeDefault="Deny"),或设置 通过带有 overrideMode="Deny" 的位置标记或旧版显式 允许覆盖=“假”。在 Microsoft.Web.Administration.Interop.IAppHostAdminManager.GetAdminSection(字符串 bstrSectionName,字符串 bstrPath) 在 Microsoft.Web.Administration.WebConfigurationManager.GetSectionInternal(字符串 siteName, String virtualPath, String sectionPath, Type sectionType)
起初我认为您通过 Web 角色主机部署的应用程序是子目录/虚拟目录,所以我将此配置放入部署主机应用程序本身的 .config 文件中 - 但这并没有成功.我远程桌面编辑以查看发生了什么,看起来通过主机部署的每个应用程序都是它自己在 IIS 下的应用程序。此外,当您从 IIS 管理器浏览应用程序时,这些应用程序不会与部署主机位于同一驱动器上。所以我不确定为什么会抛出这个错误。
有什么想法吗?
【问题讨论】:
标签: wcf azure azure-web-roles