كيفية إضافة ملف التكوين NHibernate استخدام NHibernate.Search؟

StackOverflow https://stackoverflow.com/questions/490460

سؤال

وأنا أحاول أن استخدام NHibernate.Search أنني بنيت من الجذع واستخدامها مع NHibernate 2.0.1. عندما أضيف بعض الخصائص NHibernate.Search التكوين في ملف configuaration:

<property name="hibernate.search.default.directory_provider">NHibernate.Search.Storage.RAMDirectoryProvider, NHibernate.Search</property>
<property name="hibernate.search.default.indexBase">~\index\</property>

وأحصل على System.Xml.Schema.XmlSchemaException غير صالح: فشل القيد التعداد. عندما استخدم:

var configuration = new Configuration().Configure();

ولكن كيف يمكنني حل هذه المشكلة؟

هل كانت مفيدة؟

المحلول

تأكد من أن الخصائص NHibernate.Search لك تحديد مدرجة في كتلة NHS التكوين وليس في كتلة التكوين NHibernate القياسية. الملف web.config الخاصة بك ينبغي أن تبدو هذه:

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

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <!-- nhibernate configuration block -->
</hibernate-configuration>

<nhs-configuration xmlns='urn:nhs-configuration-1.0'>
    <search-factory>
        <property name='hibernate.search.default.directory_provider'>NHibernate.Search.Store.FSDirectoryProvider, NHibernate.Search</property>

        <property name='hibernate.search.default.indexBase'>...</property>
    </search-factory>
</nhs-configuration>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top