ТопоРУС Опубликовано 24 ноября, 2011 Жалоба Поделиться Опубликовано 24 ноября, 2011 Использую: Visual Stuio 2008 C#, SQL Server 2005, NHibernate 3.2В БД создаю базу BASA с виндовой аутентификацией. В базе таблицу USERSВ студии создаю WEB проектusing System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using NHibernate;using NHibernate.Cfg;using System.IO;namespace WebApplication2{ public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { ISession session = NHibernateHelper.GetCurrentSession(); // ITransaction tx = session.BeginTransaction(); // IQuery query = session.CreateQuery("select * from users"); // tx.Commit(); // CMC.SDT.Library.NHibernateHelper.CloseSession(); } } public class USERS { private int users_id; private string login; private string parol; private string rules; public virtual int USERS_ID { get { return users_id; } set { users_id = value; } } public virtual string LOGIN { get { return login; } set { login = value; } } public virtual string PAROL { get { return parol; } set { parol = value; } } public virtual string RULES { get { return rules; } set { rules = value; } } } public class NHibernateHelper { private const string CurrentSessionKey = "nhibernate.current_session"; private static readonly ISessionFactory sessionFactory; static NHibernateHelper() { sessionFactory = new NHibernate.Cfg.Configuration().Configure().AddFile("hibernate.cfg.xml").BuildSessionFactory(); // sessionFactory = new NHibernate.Cfg.Configuration().Configure(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "hibernate.cfg.xml")).BuildSessionFactory(); } public static ISession GetCurrentSession() { HttpContext context = HttpContext.Current; ISession currentSession; if (context == null) { currentSession = sessionFactory.OpenSession(); } else { currentSession = context.Items[CurrentSessionKey] as ISession; if (currentSession == null) { currentSession = sessionFactory.OpenSession(); context.Items[CurrentSessionKey] = currentSession; } } return currentSession; } public static void CloseSession() { HttpContext context = HttpContext.Current; if (context == null) { return; } ISession currentSession = context.Items[CurrentSessionKey] as ISession; if (currentSession == null) { // No current session return; } currentSession.Close(); context.Items.Remove(CurrentSessionKey); } public static void CloseSessionFactory() { if (sessionFactory != null) { sessionFactory.Close(); } } }}В классе USERS описываю эту таблицу (по спецификации хибернейте). Класс NHibernateHelper - советуют вставлять для облегчения работы.Есть два XML файла: мапинг и подключение к базе<?xml version="1.0" encoding="utf-8" ?>schema="library" assembly="library" namespace="WebApplication2 "> <?xml version="1.0" encoding="utf-8"?> NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle NHibernate.Connection.DriverConnectionProvider NHibernate.Driver.SqlClientDriver NHibernate.Dialect.MsSql2005Dialect Server=localhost;Database=trpo_1;Trusted_Connection=Yes; false Проблема следующая: При нажатии кнопки (в начале описание события) вызывается констуктор класса NHibernateHelper. он лезет в XML подключения. XML подключения ссылается на мапинг (жирным выделено).Выскакивается ошибкаAmbiguous mapping tag in configuration assembly=library resource= file=library.xml;There are 3 possible combinations of mapping attributes 1 - resource & assembly: NHibernate will read the mapping resource from the specified assembly 2 - file only: NHibernate will read the mapping from the file. 3 - assembly only: NHibernate will find all the resources ending in hbm.xml from the assembly. Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода. Сведения об исключении: NHibernate.Cfg.HibernateConfigException: Ambiguous mapping tag in configuration assembly=library resource= file=library.xml;There are 3 possible combinations of mapping attributes 1 - resource & assembly: NHibernate will read the mapping resource from the specified assembly 2 - file only: NHibernate will read the mapping from the file. 3 - assembly only: NHibernate will find all the resources ending in hbm.xml from the assembly.Ошибка источника:Строка 197: {Строка 198:Строка 199: sessionFactory = new NHibernate.Cfg.Configuration().Configure().AddFile("hibernate.cfg.xml").BuildSessionFactory();Строка 200: // sessionFactory = new NHibernate.Cfg.Configuration().Configure(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "hibernate.cfg.xml")).BuildSessionFactory();Строка 201: } Исходный файл: C:\Users\Алексей\Documents\Visual Studio 2005\Projects\WebApplication2\WebApplication2\Default.aspx.cs Строка: 199Трассировка стека:[HibernateConfigException] NHibernate.Cfg.ConfigurationSchema.MappingConfiguration.Parse(XPathNavigator mappingElement) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\ConfigurationSchema\MappingConfiguration.cs:80 NHibernate.Cfg.ConfigurationSchema.MappingConfiguration..ctor(XPathNavigator mappingElement) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\ConfigurationSchema\MappingConfiguration.cs:19 NHibernate.Cfg.ConfigurationSchema.SessionFactoryConfiguration.ParseMappings(XPathNavigator navigator) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\ConfigurationSchema\SessionFactoryConfiguration.cs:69 NHibernate.Cfg.ConfigurationSchema.SessionFactoryConfiguration.Parse(XPathNavigator navigator) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\ConfigurationSchema\SessionFactoryConfiguration.cs:33 NHibernate.Cfg.ConfigurationSchema.SessionFactoryConfiguration..ctor(XPathNavigator hbConfigurationSection) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\ConfigurationSchema\SessionFactoryConfiguration.cs:17 NHibernate.Cfg.ConfigurationSchema.HibernateConfiguration.Parse(XPathNavigator navigator, Boolean fromAppConfig) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\ConfigurationSchema\HibernateConfiguration.cs:79 NHibernate.Cfg.ConfigurationSchema.HibernateConfiguration..ctor(XmlReader hbConfigurationReader, Boolean fromAppSetting) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\ConfigurationSchema\HibernateConfiguration.cs:57 NHibernate.Cfg.ConfigurationSchema.HibernateConfiguration..ctor(XmlReader hbConfigurationReader) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\ConfigurationSchema\HibernateConfiguration.cs:36 NHibernate.Cfg.Configuration.Configure(XmlReader textReader) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:1543 NHibernate.Cfg.Configuration.Configure(String fileName, Boolean ignoreSessionFactoryConfig) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:1465 NHibernate.Cfg.Configuration.Configure(String fileName) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:1450 NHibernate.Cfg.Configuration.Configure() in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Cfg\Configuration.cs:1436 WebApplication2.NHibernateHelper..cctor() in C:\Users\Алексей\Documents\Visual Studio 2005\Projects\WebApplication2\WebApplication2\Default.aspx.cs:199[TypeInitializationException] WebApplication2.NHibernateHelper.GetCurrentSession() in C:\Users\Алексей\Documents\Visual Studio 2005\Projects\WebApplication2\WebApplication2\Default.aspx.cs:220 WebApplication2._Default.Button1_Click(Object sender, EventArgs e) in C:\Users\Алексей\Documents\Visual Studio 2005\Projects\WebApplication2\WebApplication2\Default.aspx.cs:31 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565Посоветуйте!( Ссылка на комментарий
JSTQ Опубликовано 25 ноября, 2011 Жалоба Поделиться Опубликовано 25 ноября, 2011 Ссылка на комментарий
ТопоРУС Опубликовано 26 ноября, 2011 Автор Жалоба Поделиться Опубликовано 26 ноября, 2011 Ambiguous mapping tag in configuration assembly=library resource= file=...There are 3 possible combinations of mapping attributes 1 - resource & assembly: NHibernate will read the mapping resource from the specified assembly 2 - file only: NHibernate will read the mapping from the file. 3 - assembly only: NHibernate will find all the resources ending in hbm.xml from the assembly.Вот что за ошибка!!!!((( Ссылка на комментарий
TTH Опубликовано 26 ноября, 2011 Жалоба Поделиться Опубликовано 26 ноября, 2011 Ссылка на комментарий
ТопоРУС Опубликовано 26 ноября, 2011 Автор Жалоба Поделиться Опубликовано 26 ноября, 2011 TTH, уж извините, но форум для очень умных немного не здесь. Ссылка на комментарий
TTH Опубликовано 26 ноября, 2011 Жалоба Поделиться Опубликовано 26 ноября, 2011 Ссылка на комментарий
ТопоРУС Опубликовано 26 ноября, 2011 Автор Жалоба Поделиться Опубликовано 26 ноября, 2011 TTH, уж извините, но форум для очень умных немного не здесь.Помучайся немного.Кыш, кыш Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти