2009-11-19 3 views
0

Я пытаюсь создать пользовательскую конфигурацию, и по какой-то причине я не могу заставить ее работать. Буду признателен, если кто-нибудь увидит, где моя проблема.ConfigurationSection - Пользовательский раздел не определен - Почему?

Вот код:

public class PointServices : ConfigurationSection 
    { 
     public static PointServices Get() 
     { 
      var t = ConfigurationManager.GetSection("point.Services/xServices") as PointServices; 

      return t; 
     } 

     //<summary> 
     //Declares a collection element represented in the following configuration sub-section 
     //<singleInstances> <add .../> </singleInstances> 
     //</summary> 
     [ConfigurationProperty("xServices", IsDefaultCollection = true)] 
     [ConfigurationCollection(typeof(PointServices))] 
     public PointServicesCollection Services 
     { 
      get 
      { 
       //var v = base["xServices"]; 
       return (PointServicesCollection) base["xServices"]; 
      } 
     } 
    } 



    public class PointService : ConfigurationElement 
    { 
     [ConfigurationProperty("name",IsRequired = true)] 
     public string Name 
     { 
      get 
      { 
       return this["name"].ToString(); 
      } 
     } 

     [ConfigurationProperty("type", IsRequired = true)] 
     public string Type 
     { 
      get 
      { 
       return this["type"].ToString(); 
      } 
     } 


    } 

и вот конфиг:

 <sectionGroup name="point.Services"> 
      <section name="xServices" type="XYZ.Messaging.PointServiceConfiguration.PointServices, XYZ.Point.Messaging" /> 
     </sectionGroup> 
... 
    <point.Services> 
     <xServices> 
      <xService> 
      <add name="XYZService" type="XYZService" /> 
      </xService> 
     </xServices> 
     </point.Services> 

Когда я бегу: PointServices.Get(), я получаю:

Непризнанные элемент 'xService.

Я пытался добавить xService к определению раздела следующим образом: <section name="xService" type="XYZPoint.Messaging.PointServiceConfiguration.PointService, Barcap.FIA.Point.Messaging" />, но это не похоже, чтобы помочь.

Если у кого есть идеи, пожалуйста, помогите! Спасибо

ответ

1

И вам нужен другой спецификатор для xService

<sectionGroup name="point.Services">   
    <sectionGroup name="xServices">   
    <section name="xService" 
     type="XYZ.Messaging.PointServiceConfiguration.PointServices, XYZ.Point.Messaging" /> 
    </sectionGroup name="xServices">   
</sectionGroup> 
+0

отлично, это помогает исправить одну проблему, но теперь у меня есть эта проблема: http://stackoverflow.com/questions/1768362/sections-must-only-appear-once-per-config-file-why –

0

xУслуги должны быть разделаГруппа, а не раздела. И xService следует определить как раздел.

+0

спасибо вам помочь. Знаете ли вы, что я получу: http://stackoverflow.com/questions/1768362/sections-must-only-appear-once-per-config-file-why –

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