ConfigurationSection ConfigurationManager.GetSection () всегда возвращает null

Я пытаюсь научиться как использовать класс ConfigurationSection. Раньше я использовал IConfigurationSectionHandler, но сообщил, что он обесценился. d, парень, я пробую "правильный" путь. Моя проблема в том, что он всегда возвращает null.

У меня есть консольное приложение и DLL.

class Program
{
    static void Main(string[] args)
    {           
        StandardConfigSectionHandler section = StandardConfigSectionHandler.GetConfiguration();

        string value = section.Value;
    }
}

app config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <configSections>
    <sectionGroup name="ConfigSectionGroup">
      <section name="ConfigSection" type="Controller.StandardConfigSectionHandler, Controller" />
    </sectionGroup>
  </configSections>

  <ConfigSectionGroup>
    <ConfigSection>
      <test value="1" />
    </ConfigSection>
  </ConfigSectionGroup>

</configuration>

обработчик раздела в DLL:

namespace Controller
{    
    public class StandardConfigSectionHandler : ConfigurationSection
    {
    private const string ConfigPath = "ConfigSectionGroup/ConfigSection/";

    public static StandardConfigSectionHandler GetConfiguration()
    {
        object section = ConfigurationManager.GetSection(ConfigPath);
        return section as StandardWcfConfigSectionHandler;
    }

    [ConfigurationProperty("value")]
    public string Value
    {
        get { return (string)this["value"]; }
        set { this["value"] = value; }
    }
  }
}

Какие бы значения я ни пробовал для "ConfigPath" it вернет null или выдаст ошибку, сообщающую, что "test" - нераспознанный элемент. Значения, которые я пробовал:

  • ConfigSectionGroup
  • ConfigSectionGroup /
  • ConfigSectionGroup / ConfigSection
  • ConfigSectionGroup / ConfigSection /
  • ConfigSectionGroup / ConfigSection / test
  • ConfigSectionGroup / ConfigSection1215 / test
  • ConfigSectionGroup / Config12152 / test -1187147- Проблема с вставкой петапоко У меня есть класс, определенный так: открытый класс Местоположение {общедоступное местоположение (){Встречи = новый список <Встреча> (); } общедоступный виртуальный int ID {получить; частный набор; } public ...

    У меня есть класс, определенный так:

    public class Location
    {
        public Location()
        {
            Meetings = new List<Meeting>();
        }
    
        public virtual int ID { get; private set; }
        public virtual string Name { get; set; }
    
        public virtual ICollection<Meeting> Meetings { get; set; }
    
    }
    

    И таблица базы данных для этого - просто «местоположения» с идентификатором и свойством Name.

    У некоторых других таблиц «встреч» есть внешний ключ к этой таблице. И это выходит за рамки того, с чем я пытаюсь работать в этом примере, но я думаю, что это приводит к сбою PetaPoco…

    Я пытаюсь использовать PetaPoco для вставки нового местоположения в базу данных следующим образом:

        public int AddLocation(string name)
        {
            var newLocation = new Location{Name = name};
            var db = new PetaPoco.Database(_connectionString);
            db.Insert("locations", "ID", newLocation);
            return newLocation.ID;
        }
    

    И это вызывает ошибку, например:

    {"Нет сопоставления с типом объекта System.Collections.Generic.List`1 [[NHRepoTemplate.sampleUsage.sampleModel.Meeting, NHRepoTemplate, версия = 1.0.0.0, Культура = нейтральный, PublicKeyToken = null]] известному управляемому провайдеру type. "}

    Мне кажется, что существование дочерней коллекции приводит к тому, что PetaPoco не может выполнить вставку, но ... должен быть способ сказать ему" игнорировать "это, верно?

5
задан Jon 19 May 2011 в 21:14
поделиться