我不确定此问题是否特定于Accelerator for Web角色(WAAWR:http://waawebroles.codeplex.com/)
编辑:我已经确认此错误仅在我的WAAWR应用程序中引发 - 如果我将相同的代码部署为独立的webrole,则不会抛出此错误。
我正在尝试在通过WAAWR部署的应用程序上运行WCF Routing / clean 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:Filename: ?\ \ C:\资源\目录\ XXXXXXXXXXXXXXXXXXXXXXX \的web.config 行号:74错误:此配置部分不能用于 这条路。当该部分被锁定在父级别时会发生这种情况。 默认情况下锁定(overrideModeDefault =“Deny”)或设置 显式地由具有overrideMode =“Deny”或遗留的位置标记 有的allowOverride = “假”。在 Microsoft.Web.Administration.Interop.IAppHostAdminManager.GetAdminSection(字符串 bstrSectionName,String bstrPath)at Microsoft.Web.Administration.WebConfigurationManager.GetSectionInternal(字符串 siteName,String virtualPath,String sectionPath,Type sectionType)
起初我认为您通过Web角色主机部署的应用程序是子目录/虚拟目录,因此我将此配置放入部署主机应用程序本身的.config文件中 - 但这并不能解决问题。我在远程桌面上查看发生了什么,看起来每个通过主机部署的应用程序本身就是IIS自带的应用程序。此外,当您从IIS管理器浏览应用程序时,应用程序不是与部署主机位于同一驱动器上的事件。所以我不确定为什么会抛出这个错误。
有任何想法吗?
答案 0 :(得分:1)
在这里找到我的答案:
http://cennest.wordpress.com/2010/09/20/azure-tip-wcf-4-0-servicerouting-in-azure/
不确定为什么它可以找到正常的角色&amp;你必须为子应用程序添加部分声明 - 但很高兴它正在工作!