2013-12-17 5 views
1

Я хочу изменить значение моего app.config динамически из моего проекта.Редактировать значения app.config динамически

Это моя app.config:

<?xml version="1.0"?> 
<configuration> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 
<system.web> 
    <membership defaultProvider="SqlProvider"> 
    <providers> 
    <clear /> 
    <add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="MySqlConnection" 
     enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" 
     applicationName="app1" requiresUniqueEmail="false" 
     passwordFormat="Hashed" maxInvalidPasswordAttempts="6545" 
     minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0" 
     passwordAttemptWindow="10" passwordStrengthRegularExpression=""/> 
    </providers> 
    </membership> 
</system.web> 
</configuration> 

Я хочу, чтобы изменить значение ключа 'ApplicationName' внутри 'sqlProvider'.

Все, что я смог найти в сети есть люди, использующие:

ConfigurationManager.AppSettings["key"] 

Но это не работает для меня.

+0

Зачем менять его? Можете ли вы использовать applicationName = "/" вместо этого? –

ответ

0

ConfigurationManager.AppSettings ["key"] обычно работает с параметром, определенным в разделе «AppSettings». Вы можете попробовать следующее code-

public class MembershipSetting 
{ 
    /// <summary> 
    /// Gets or sets the name of the setting. 
    /// </summary> 
    public string SettingName { get; set; } 

    /// <summary> 
    /// Gets or sets the setting value. 
    /// </summary> 
    public string SettingValue { get; set; } 
} 

    private List<MembershipSetting> GetMembershipSetting() 
    { 
     List<MembershipSetting> settings = new List<MembershipSetting> 
          { 
           new MembershipSetting {SettingName = "Dafult Membership Provider", SettingValue = Membership.Provider.ToString() }, 
           new MembershipSetting {SettingName = "Minimum Required Password Length", SettingValue = Membership.MinRequiredPasswordLength.ToString(CultureInfo.InvariantCulture) }, 
           new MembershipSetting {SettingName = "Minimum Required Non Alphanumeric Characters",SettingValue = Membership.MinRequiredNonAlphanumericCharacters.ToString(CultureInfo.InvariantCulture)}, 
           new MembershipSetting {SettingName = "Password reset enabled", SettingValue = Membership.EnablePasswordReset.ToString()}, 
           new MembershipSetting {SettingName = "Maximum Invalid Password Attempts",SettingValue = Membership.MaxInvalidPasswordAttempts.ToString(CultureInfo.InvariantCulture) }, 
           new MembershipSetting {SettingName = "Attempt windows",SettingValue = Membership.PasswordAttemptWindow.ToString(CultureInfo.InvariantCulture)}, 
           new MembershipSetting {SettingName = "applicationName",SettingValue = Membership.ApplicationName.ToString(CultureInfo.InvariantCulture)} 
          }; 

     return settings; 
    } 

Эта статья первоначально размещена here.

Смежные вопросы