2013-12-17 69 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> 

我想改變 'sqlProvider的' 內部 '的applicationName' 鍵的值。

所有我能找到的淨是使用人:

ConfigurationManager.AppSettings["key"] 

但對我來說,這並不工作。

+0

爲什麼改變它?你可以使用applicationName =「/」來代替嗎? –

回答

0

ConfigurationManager.AppSettings [「key」]通常與「AppSettings」部分中定義的設置一起使用。你可以試試下面的代碼 -

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