/ / nHibernate ProxyFactory - .net, nhibernate

Problemy nHibernate ProxyFactory - .net, nhibernate

Przygotowuję mój pierwszy projekt nHibernate. Stworzyłem prosty formularz internetowy, który akceptuje nazwę i identyfikator, ale ciągle pojawia się następujący błąd:

ProxyFactoryFactory nie został skonfigurowany. Inicjalizuj właściwość "proxyfactory.factory_class" sekcji konfiguracja sesja-fabryka z jednym z dostępnych dostawców NHibernate.ByteCode. Przykład: NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu Przykład: NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle

Do mojego projektu dodałem już odniesienia do Castle i LinFu. Skonfigurowałem również web.config do następujących czynności:

<section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" allowDefinition="Everywhere"/>

Czy możesz mi powiedzieć, co się dzieje? Próbowałem wszystkiego. Czy to, że zaimportowałem wiele moich mapowań, z visualNHibernate? Doceń pomoc.

Odpowiedzi:

0 dla odpowiedzi № 1

Musisz określić, z której fabryki proxy zamierzasz skorzystać, na przykład:

<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>`

Co więcej, opublikowana konfiguracja zawiera ... nic, upewnij się, że posiadasz minimalną konfigurację, bez której nie możesz utworzyć fabryki sesji NH.


0 dla odpowiedzi nr 2

Musisz dodać właściwość ProxyFactoryFactory i pozwolić NHibernate wiedzieć, jakiej implementacji należy użyć do tworzenia obiektów proxy. Fabio napisali jak to zrobić jakiś czas temu na nhibernate.info: http://nhibernate.info/blog/2008/11/09/nh2-1-0-bytecode-providers.html Ja również gorąco zachęcam do przeczytania dokumentacja dotycząca konfiguracji NHibernate.

<hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" >
<session-factory name="YourAppName">
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name="connection.connection_string">
Server=(local);initial catalog=nhibernate;Integrated Security=SSPI
</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
</session-factory>
</hibernate-configuration>