0

我不确定这个问题是否特定于 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\XXXXXXXXXXXXXXXXXXXXXXXXXX\web.config 行号:74 错误:此配置部分不能用于此路径。当该部分锁定在父级别时会发生这种情况。锁定是默认情况下 (overrideModeDefault="Deny") 或由具有 overrideMode="Deny" 或旧 allowOverride="false" 的位置标记显式设置的。在 Microsoft.Web.Administration.Interop.IAppHostAdminManager.GetAdminSection(String bstrSectionName, String bstrPath) 在 Microsoft.Web.Administration.WebConfigurationManager.GetSectionInternal(String siteName, String virtualPath, String sectionPath, Type sectionType)

起初我认为您通过 Web 角色主机部署的应用程序是子目录/虚拟目录,所以我将此配置放入部署主机应用程序本身的 .config 文件中 - 但这并没有成功。我远程桌面编辑以查看发生了什么,看起来通过主机部署的每个应用程序都是它自己在 IIS 下的应用程序。此外,当您从 IIS 管理器浏览应用程序时,这些应用程序不会与部署主机位于同一驱动器上。所以我不确定为什么会抛出这个错误。

有什么想法吗?

4

1 回答 1

1

在这里找到我的答案:

http://cennest.wordpress.com/2010/09/20/azure-tip-wcf-4-0-servicerouting-in-azure/

不确定为什么它可以正常工作,并且您必须为子应用程序添加部分声明 - 但很高兴它正在工作!

于 2011-09-16T05:42:13.357 回答