2010-03-18 1 views
1

в web.configНе удалось загрузить ConfigurationSection класс - тип

<section name="FlowWebDataProviders" type="FlowWebProvidersSection" requirePermission="false"/> 


    <FlowWebDataProviders peopleProviderName="sqlProvider" IzmListProviderName="sqlProvider"> 
    <PeopleProviders> 
     <add name="sqlProvider" type="SqlPeopleProvider" connectionStringName="FlowServerConnectionString"/> 
     <add name="xmlProvider" type="XmlPeopleProvider" schemaFile="People.xsd" dataFile="People.xml"/> 
    </PeopleProviders> 
    <IzmListProviders> 
     <add name="sqlProvider" type="SqlIzmListProvider" connectionStringName="FlowServerConnectionString"/> 
    </IzmListProviders> 
    </FlowWebDataProviders> 

и

public class FlowWebProvidersSection : ConfigurationSection 
    { 
    [ConfigurationProperty("peopleProviderName", IsRequired = true)] 
    public PeopleProviderName : string 
    { 
     get { this["peopleProviderName"] :> string } 
     set { this["peopleProviderName"] = value; } 
    } 
    [ConfigurationProperty("IzmListProviderName", IsRequired = true)] 
    public IzmListProviderName : string 
    { 
     get { (this["IzmListProviderName"] :> string) } 
     set { this["IzmListProviderName"] = value; } 
    } 
    [ConfigurationProperty("PeopleProviders")] 
    [ConfigurationValidatorAttribute(typeof(ProviderSettingsValidation))] 
    public PeopleProviders : ProviderSettingsCollection 
    { 
     get { this["PeopleProviders"] :> ProviderSettingsCollection } 
    } 
    [ConfigurationProperty("IzmListProviders")] 
    [ConfigurationValidatorAttribute(typeof(ProviderSettingsValidation))] 
    public IzmListProviders : ProviderSettingsCollection 
    { 
     get { this["IzmListProviders"] :> ProviderSettingsCollection } 
    } 
    } 

и

public class ProviderSettingsValidation : ConfigurationValidatorBase 
    { 
    public override CanValidate(typex : Type) : bool 
    { 
     if(typex : object == typeof(ProviderSettingsCollection)) true else false 
    } 

    /// <summary> 
    // validate the provider section  
    /// </summary> 
    public override Validate(value : object) : void 
    { 
     mutable providerCollection : ProviderSettingsCollection = match(value) 
      { 
       | x is ProviderSettingsCollection => x 
       | _ => null 
      } 
     unless (providerCollection == null) 
     { 
     foreach (_provider is ProviderSettings in providerCollection) 
     { 
      when (String.IsNullOrEmpty(_provider.Type)) 
      { 
      throw ConfigurationErrorsException("Type was not defined in the provider"); 
      } 
      mutable dataAccessType : Type = Type.GetType(_provider.Type); 
      when (dataAccessType == null) 
      { 
       throw (InvalidOperationException("Provider's Type could not be found")); 
      } 
     } 
     } 
    } 
    } 

проекта: Веб-приложение ...

мне нужно сначала найти ошибку. , ,

почему:

Сообщение об ошибке синтаксического анализатора: Ошибка при создании конфигурации секции обработчика для FlowWebDataProviders: Не удалось загрузить тип 'FlowWebProvidersSection'.

?

кстати: синтаксис Nemerle (текущий язык) очень похожий C#, не боясь прочитать код ... спасибо

добавил: это, как я хочу, чтобы получить раздел

ConfigurationManager.GetSection("FlowWebDataProviders") 

ответ

1

Проверьте пространство имен типа И. То есть

<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" /> 
+0

, если я использую «MyNamespace.FlowWebProvidersSection» получил сообщение об ошибке: Тип провайдера не может быть найден (это на последний код в вопросе), так что я предполагаю, что это основывает свой класс, но не может загрузить его:/нет идеи Зачем – Cynede