2008-10-02 11 views
6

मैं सांत्वना आवेदन के App.config फ़ाइल में appSettings और connectionStrings अनुभाग एन्क्रिप्ट करने के लिए कोशिश कर रहा हूँ। किसी कारण से section.SectionInformation.IsProtected हमेशा सच लौटा रहा है।रक्षा धारा फ़ाइल कंसोल आवेदन

static void Main(string[] args) 
{ 
    EncryptSection("connectionStrings", "DataProtectionConfigurationProvider"); 
} 

private static void EncryptSection(string sectionName, string providerName) 
{ 
    string assemblyPath = Assembly.GetExecutingAssembly().Location; 
    Configuration config = ConfigurationManager.OpenExeConfiguration(assemblyPath); 

    ConfigurationSection section = config.GetSection(sectionName); 

    if (section != null && !section.SectionInformation.IsProtected) 
    { 
     section.SectionInformation.ProtectSection(providerName); 
     config.Save(); 
    } 
} 

सुनिश्चित नहीं है कि यह हमेशा सत्य क्यों लौट रहा है।

उत्तर

2

आपका कोड वर्तमान आवेदन विन्यास को खोलता है। आप इस कोशिश कर सकते हैं:

static void Main(string[] args) 
{ 
    if (args.Length != 0) 
    { 
     Console.Error.WriteLine("Usage : Program.exe <configFileName>"); // App.Config 
    } 
    EncryptSection(args[0], "connectionStrings", "DataProtectionConfigurationProvider"); 
} 

private static void EncryptSection(string configurationFile, string sectionName, string providerName) 
{ 
    Configuration config = ConfigurationManager.OpenExeConfiguration(configurationFile); 
    ConfigurationSection section = config.GetSection(sectionName); 

    if (section != null && !section.SectionInformation.IsProtected) 
    { 
     section.SectionInformation.ProtectSection(providerName); 
     config.Save(); 
    } 
} 
संबंधित मुद्दे