Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ConfigurationSection反序列化到具体类型_C#_Wcf_App Config_Wcf Security_Wif - Fatal编程技术网

C# ConfigurationSection反序列化到具体类型

C# ConfigurationSection反序列化到具体类型,c#,wcf,app-config,wcf-security,wif,C#,Wcf,App Config,Wcf Security,Wif,我有一个配置文件,其中包含IdentityConfiguration信息,用于保护我的WCF服务,例如 <system.identityModel> <identityConfiguration> <securityTokenHandlers> <securityTokenHandlerConfiguration> <issuerNameRegistry type="System.Ide

我有一个配置文件,其中包含
IdentityConfiguration
信息,用于保护我的WCF服务,例如

<system.identityModel>
    <identityConfiguration>
      <securityTokenHandlers>
        <securityTokenHandlerConfiguration>
          <issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
            <trustedIssuers>
              <add thumbprint="4459.....5E4" name="adfs" />
              <add thumbprint="85BBD0....94A4C7" name="identityServer" />
            </trustedIssuers>
          </issuerNameRegistry>
        </securityTokenHandlerConfiguration>
      </securityTokenHandlers>
      <audienceUris>
        <add value="https://Iamauri/services"/>
      </audienceUris>
    </identityConfiguration>
  </system.identityModel>

我想将上述内容反序列化为
IdentityConfiguration
对象,但我不知道如何从表示上述信息的
ConfigurationSection
转换为具体类型

到目前为止,我所拥有的:

var config=ConfigurationManager.OpenMappedExeConfiguration( 新的ExeConfigurationFileMap(){ExeConfigFilename=AppDomain.CurrentDomain.SetupInformation.ConfigurationFile},ConfigurationUserLevel.None)

var s=(SystemIdentityModelSection)config.GetSection(“system.identityModel”)

//TODO:反序列化s以识别配置


如果您的app.config文件中有该配置,则会自动使用配置部分的正确处理程序,因此除了调用
IdentityConfiguration.LoadConfiguration()

更多信息,请访问:

评论后编辑:

如果手动使用
systemidentitymodelssection
对象,则可以使用此对象中包含的
IdentityConfiguration元素
通过调用
IdentityConfiguration.LoadHandlerConfiguration()
来加载
IdentityConfiguration


有关此方法的更多信息,请访问:

我可能应该在我的问题中提到这一点,这对我们没有好处,我们主要是配置代码,这意味着app.config被完全忽略。更新显示您应该使用哪些方法-您提供的元素将是一个有趣的问题tho'(除非总是只有一个?)