【问题标题】:Azure Accelerator for Web Roles & serviceHostingEnvironment aspNetCompatibilityEnabled="true"用于 Web 角色和服务托管环境的 Azure 加速器 aspNetCompatibilityEnabled="true"
【发布时间】: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


    【解决方案1】:

    在这里找到我的答案:

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

    不知道为什么它适用于正常角色,您必须为子应用程序添加部分声明 - 但很高兴它正在工作!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-19
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 2013-08-23
      • 1970-01-01
      • 2012-05-12
      • 1970-01-01
      相关资源
      最近更新 更多