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'(除非总是只有一个?)