В чем проблема с моим замком ActiveRecord web.config - PullRequest
3 голосов
/ 15 июля 2010

Я пытаюсь обновить свой веб-сайт ASP.NET MVC 1 до версии 2. При этом мне приходится обновлять и все остальные мои сборки. Это включает в себя dll Касл ActiveRecord. Вот ошибка, которую я получаю:

Ошибка конфигурации Описание: An ошибка произошла во время обработки файла конфигурации, необходимого для обслуживайте этот запрос. Пожалуйста ознакомтесь конкретные подробности ошибки ниже и изменить ваш файл конфигурации соответственно.

Сообщение об ошибке Parser: ошибка произошло создание конфигурации обработчик раздела для activerecord: Исключение было брошено цель вызова.

<configSections>
        <section name="activerecord" type="Castle.ActiveRecord.Framework.Config.ActiveRecordSectionHandler, Castle.ActiveRecord" />
...
</configSections>

<activerecord isWeb="true" isDebug="false">
    <config>
        <add
        key="hibernate.connection.driver_class"
        value="NHibernate.Driver.SqlClientDriver" />
        <add
                key="hibernate.dialect"
                value="NHibernate.Dialect.MsSql2005Dialect" />
        <add
                key="hibernate.connection.provider"
                value="NHibernate.Connection.DriverConnectionProvider" />
        <add
                                key="hibernate.connection.connection_string"
                                value="Data Source=(local)\SQLEXPRESS;Initial Catalog=db;Integrated Security=SSPI;" />
    </config>
</activerecord>

Я не вижу здесь ничего плохого, я добавил "спящий режим". к началу ключа следующим образом:

http://www.castleproject.org/activerecord/documentation/v1rc1/manual/xmlconfigref.html

Раньше такого не было, поэтому я подумал, что, возможно, именно поэтому он так и действовал.

Ответы [ 3 ]

2 голосов
/ 16 июля 2010

NHibernate нуждается в конфигурации для ProxyFactoryFactory (как сказано в сообщении).Последний выпуск ActiveRecord поставляется с фабрикой прокси-серверов Castle, поэтому вы можете настроить ее следующим образом:

<add key="proxyfactory.factory_class" value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle"/>

Убедитесь, что у вас есть ссылка на NHibernate.ByteCode.Castle.dll, Castle.DynamicProxy2.dll,Castle.Core.dll в вашем приложении

Вам не нужно устанавливать свойство release_mode, оно необязательно.

Префикс hibernate. для свойств конфигурации был удален в NHibernate 2.0.Страница castleproject.org, которую вы цитируете, предназначена для Castle ActiveRecord RC1 ( очень старый), который использовал древнюю версию NHibernate (1.0 или что-то в этом роде).Последняя ссылка на документацию по конфигурации XML для ActiveRecord: здесь .

2 голосов
/ 15 июля 2010

Возможно, вам не хватает ключа для режима разблокировки.

?

Есть ли у вас раздел активной записи?

Я только догадываюсь, попробуй и дай нам знать.

0 голосов
/ 15 июля 2010

Вот что у меня сейчас:

<add
            key="connection.driver_class"
            value="NHibernate.Driver.SqlClientDriver" />
            <add
                    key="dialect"
                    value="NHibernate.Dialect.MsSql2000Dialect" />
            <add
                    key="connection.provider"
                    value="NHibernate.Connection.DriverConnectionProvider" />
            <add
                                key="connection.connection_string"

Я обновился до последних сборок Castle Active Record 2.1.2, и эта ошибка исчезла ... теперь у меня есть:

The ProxyFactoryFactory was not configured.
Initialize 'proxyfactory.factory_class' property of the session-factory configuration section with one of the available NHibernate.ByteCode providers.
Example:
<property name='proxyfactory.factory_class'>NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
Example:
<property name='proxyfactory.factory_class'>NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>

добрый добрый ...

...