1

こんばんは、私は小さなプロジェクトに取り組んでおり、私が書いたConfigurationSectionは、web.configに入れたデータを返しません。

ここにコードを入力してください

私のコード:

public class AdminSection : ConfigurationSection
    {
        private static AdminSection uniqueInstance;

    public static AdminSection Instance
    {
        get { return uniqueInstance ?? (uniqueInstance = new AdminSection()); }
    }


    private AdminSection()
    {          
    }

    [ConfigurationProperty("Username", IsRequired =true)]
    public  String Username
    {
        get { return (String)this["Username"]; }
    }

    [ConfigurationProperty("Password",  IsRequired = false)]
    public String Password
    {
        get { return (String)this["Password"]; }
    }
}

ここに私のweb.configがあります

<configuration>
  <configSections>
    <section name="Admin" type="cms.Configs.AdminSection, cms.cms"/>
  </configSections>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>

  <appSettings>
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
  </appSettings>
  <Admin>
    <Username>test</Username>
    <Password>test2</Password>
  </Admin>
</configuration>

次を呼び出そうとすると

Username.Value == Configs.AdminSection.Instance.Username

AdminSection から値を取得していません。

私が間違っているかもしれないことの単一の手がかりを持っている人はいますか?

4

1 に答える 1

0

次のことをするのを忘れていたアンサーを見つけました:

public AdminSection 管理者

{
    get
    {
        try
        {
            if (_instance == null)
            {
                _instance = ConfigurationManager.GetSection("Admin") as AdminSection;   
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        return _instance;
    }
}
于 2015-02-06T08:14:31.780 に答える