C# 创建配置节时出错-重复'&书信电报;识别确认>';已找到配置元素

C# 创建配置节时出错-重复'&书信电报;识别确认>';已找到配置元素,c#,web-services,wcf,iis,web-config,C#,Web Services,Wcf,Iis,Web Config,尝试导航到我们创建并安装的服务时,我遇到以下错误: 创建system.identityModel:ID7029的配置节处理程序时出错:在“system.identityModel”配置节中找到名为“”的重复“IdentityConfiguration”配置元素 第74行: 第75行: **第76行:** 第77行: 第78行: 以下是正在使用的web.config: <?xml version="1.0" encoding="utf-8"?> <configuration&g

尝试导航到我们创建并安装的服务时,我遇到以下错误:

创建system.identityModel:ID7029的配置节处理程序时出错:在“system.identityModel”配置节中找到名为“”的重复“IdentityConfiguration”配置元素

第74行:
第75行:
**第76行:**
第77行:
第78行:
以下是正在使用的web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=***"/>
    <section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=***"/>
    <section name="sage.identityModel.tokens.sageID" type="Sage.IdentityModel.Tokens.SageID.Configuration.ModuleConfigurationSection, Sage.IdentityModel.Tokens.SageID"/>
  </configSections>

  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />

    <add key="credentialsFile" value="c:\sage\logon\credentials.xml" />
    <add key="Sage200SiteLogonPath" value="c:\Sage\Logon" />
    <add key="ServerRootPath" value="C:\Sage" />
    <add key="SystemAdministration" value="Local" />
    <add key="Sage200Path" value="C:\inetpub\Sage 200 App Services\Sage200Services\Bin\" />
  </appSettings>

  <system.web>
    <compilation targetFramework="4.0" />
    <trust level="Full" />
  </system.web>

  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="DefaultAuthorizationBehavior">
          <serviceThrottling
                        maxConcurrentCalls="16"
                        maxConcurrentSessions="20"
                        maxConcurrentInstances="16" />
          <serviceMetadata httpGetEnabled="false" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceAuthorization principalPermissionMode ="Always" />
          <serviceCredentials useIdentityConfiguration="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>

    <protocolMapping>
      <add binding="basicHttpsBinding" scheme="https"/>
    </protocolMapping>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>

    <bindings>
      <basicHttpBinding>
        <binding name="SecureHttpBinding"
                 maxBufferPoolSize="104857600"
                 maxReceivedMessageSize="104857600"
                 maxBufferSize="104857600"
                 transferMode="Buffered">
          <security mode="Transport">
            <transport clientCredentialType ="Windows" />
          </security>
          <readerQuotas maxDepth="32"
                        maxStringContentLength="104857600"
                        maxArrayLength="104857600"
                        maxBytesPerRead="4096"
                        maxNameTableCharCount="16384"/>
        </binding>
      </basicHttpBinding>
    </bindings>

    <services>
      <service name="SageWebService.Service1"
               behaviorConfiguration="DefaultAuthorizationBehavior">
        <endpoint address="https://SERVERNAME:PORT/SageWebService/Service1.svc"
                  binding="basicHttpBinding"
                  bindingConfiguration="SecureHttpBinding"
                  contract="SageWebService.IService1"
                  listenUri="/" />
      </service>
    </services>
  </system.serviceModel>

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="ApplicationInsightsWebTracking"/>
      <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web"
           preCondition="managedHandler"/>
    </modules>
    <directoryBrowse enabled="true"/>
    <validation validateIntegratedModeConfiguration="false"/>
  </system.webServer>

  <system.identityModel>
    <identityConfiguration>
      <claimsAuthenticationManager type="Sage.IdentityModel.Claims.Sage200.WCFServiceClaimsAuthenticationManager, Sage.IdentityModel.Claims.Sage200"/>
      <claimsAuthorizationManager type="Sage.IdentityModel.Claims.Sage200.WCFServiceThirdPartyClaimsAuthorizationManager, Sage.IdentityModel.Claims.Sage200"/>
    </identityConfiguration>
  </system.identityModel>

  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">
        <listeners>
          <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\log\Traces.svclog" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>
</configuration>

我看不到在此配置或服务器上的machine.config中定义标识配置部分的任何其他地方。我已尝试为标识配置部分指定一个唯一的名称,但问题仍然存在

应用程序池正在使用.net v4.0,服务的目标是v4.5.2

是否有任何地方我应该寻找这个,还是错误意味着其他东西是错的


谢谢,

对于将来可能看到这一点的人,我通过将“身份模型”部分更新为:

<system.identityModel>
    <remove name="SageIdentity"/>
    <identityConfiguration name="SageIdentity">
      <claimsAuthenticationManager type="Sage.IdentityModel.Claims.Sage200.WCFServiceClaimsAuthenticationManager, Sage.IdentityModel.Claims.Sage200" />
      <claimsAuthorizationManager type="Sage.IdentityModel.Claims.Sage200.WCFServiceThirdPartyClaimsAuthorizationManager, Sage.IdentityModel.Claims.Sage200" />
    </identityConfiguration>
  </system.identityModel>

对于将来可能看到这一点的人,我通过将“身份模型”部分更新为:

<system.identityModel>
    <remove name="SageIdentity"/>
    <identityConfiguration name="SageIdentity">
      <claimsAuthenticationManager type="Sage.IdentityModel.Claims.Sage200.WCFServiceClaimsAuthenticationManager, Sage.IdentityModel.Claims.Sage200" />
      <claimsAuthorizationManager type="Sage.IdentityModel.Claims.Sage200.WCFServiceThirdPartyClaimsAuthorizationManager, Sage.IdentityModel.Claims.Sage200" />
    </identityConfiguration>
  </system.identityModel>


检查是否有web.config转换将相同元素添加到最终的web.config文件唯一的转换是RemoveAttributes(debug),当我预览转换时,配置与预期一致。如果webroot的子文件夹中有一个web.config正在声明一个节,则可能会出现此错误检查是否有web.config转换将相同的元素添加到最终的web.config文件唯一的转换是RemoveAttributes(debug),当我预览转换时,配置与预期一致。如果webroot的子文件夹中有一个web.config正在声明一个节,则可能会出现此错误。您还可以使用而不是来确保删除所有记录。因此,您可以使用而不是来确保删除所有记录