Azure Accelerator for Web角色& serviceHostingEnvironment aspNetCompatibilityEnabled =“true”

时间:2011-09-15 02:50:57

标签: wcf azure azure-web-roles

我不确定此问题是否特定于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管理器浏览应用程序时,应用程序不是与部署主机位于同一驱动器上的事件。所以我不确定为什么会抛出这个错误。

有任何想法吗?

1 个答案:

答案 0 :(得分:1)

在这里找到我的答案:

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

不确定为什么它可以找到正常的角色&amp;你必须为子应用程序添加部分声明 - 但很高兴它正在工作!