C# 修改.config文件中的configProtectedData节

C# 修改.config文件中的configProtectedData节,c#,asp.net,c#-4.0,app-config,C#,Asp.net,C# 4.0,App Config,有关下列事项: <configProtectedData > <providers> <clear /> <add CertSubjectDistinguishedName="localhost" name="X509ProtectedConfigProvider" type="X509ProtectedConfig.X509ProtectedConfigProvider, X509ProtectedConfigProvider" /> &

有关下列事项:

<configProtectedData >
<providers>
  <clear />
  <add CertSubjectDistinguishedName="localhost" name="X509ProtectedConfigProvider" type="X509ProtectedConfig.X509ProtectedConfigProvider, X509ProtectedConfigProvider" />
</providers>
</configProtectedData>
用不同的东西代替“localhost”

我不知道如何读取“configProtectedData”部分并对其进行修改。
谢谢

我用XMLDocument解决了这个问题:

    string path = Path.Combine(targetDirectory, applicationExecutableName);

    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load(path);

    XmlNode node = xmlDoc.SelectSingleNode("configuration/configProtectedData/providers");

    node.InnerXml = string.Format("<add CertSubjectDistinguishedName=\"{0}\" CertStoreName=\"{1}\" name=\"X509ProtectedConfigProvider\" type=\"ProtectedConfigProvider.X509ProtectedConfigProvider, X509ProtectedConfigProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=098027505e2ed139\" />", certSubject, certStoreName);
    xmlDoc.Save(path);
string path=path.Combine(targetDirectory,applicationExecutableName);
XmlDocument xmlDoc=新的XmlDocument();
加载(路径);
XmlNode node=xmlDoc.SelectSingleNode(“配置/configProtectedData/providers”);
node.InnerXml=string.Format(“”,certSubject,certStoreName);
保存(路径);

如果有人知道更好的方法,请张贴一个样本。谢谢

我们如何在Web.config中为configProtectedData生成PublicKeyToken?
    string path = Path.Combine(targetDirectory, applicationExecutableName);

    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load(path);

    XmlNode node = xmlDoc.SelectSingleNode("configuration/configProtectedData/providers");

    node.InnerXml = string.Format("<add CertSubjectDistinguishedName=\"{0}\" CertStoreName=\"{1}\" name=\"X509ProtectedConfigProvider\" type=\"ProtectedConfigProvider.X509ProtectedConfigProvider, X509ProtectedConfigProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=098027505e2ed139\" />", certSubject, certStoreName);
    xmlDoc.Save(path);