Ошибка при использовании NHibernate - PullRequest
2 голосов
/ 09 июня 2009

С учетом этот пример в качестве базового. Я создал приложение, но при запуске этого приложения получаю следующую ошибку.

    The ProxyFactoryFactory was not configured.

Инициализируйте свойство 'proxyfactory.factory_class' раздела конфигурации фабрики сеанса с одним из доступных поставщиков NHibernate.ByteCode. Пример: NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu Пример: NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle

Ниже приведен фрагмент кода, который я использую.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using NHibernate;
using NHibernate.Cfg;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Configuration cfg = new Configuration();
        cfg.AddAssembly("NHibernate");


        ISessionFactory factory = cfg.BuildSessionFactory(); //getting error at this line
        ISession session = factory.OpenSession();
        ITransaction transaction = session.BeginTransaction();
        User newUser = new User();
        newUser.Id = "joe_cool";
        newUser.UserName = "Joseph Cool";
        newUser.Password = "abc123";
        newUser.EmailAddress = "joe@cool.com";
        newUser.LastLogon = DateTime.Now;

        // Tell NHibernate that this object should be saved
        session.Save(newUser);

        // commit all of the changes to the DB and close the ISession
        transaction.Commit();
        session.Close();

    }
}

1 Ответ

2 голосов
/ 09 июня 2009

Возможно, вам не хватает установить свойство ProxyFactoryFactoryClass перед созданием вашей фабрики разделов.

Что-то вроде:

Config.SetProperty(NHibernate.Cfg.Environment.ProxyFactoryFactoryClass, "NHibernate.ByteCode.Linfu.ProxyProxyFactory, NHibernate.Bytecode.Linfu");

Не забудьте включить dll Linfu в ваш проект.

РЕДАКТИРОВАТЬ: это происходит из-за удаления ссылки на Замок удален. Вы можете получить больше информации здесь: http://nhforge.org/blogs/nhibernate/archive/2008/11/09/nh2-1-0-bytecode-providers.aspx

...