Вопрос

Я разработаю многопоточное приложение, используя шаблон Code Smith nhibernate, я прочитал, что я должен использовать сеанс или каждый поток, проблема в том, что я не знаю, как получить новый сеанс из сгенерированных классов Codesmith ...

Может ли любое тело дать мне очень очень простой пример того, как использовать Codesmith Nhibernate в двух разных потоках? Или, по крайней мере, привален мне кода для создания нового сеанса?

заранее спасибо.

Это было полезно?

Решение

Объекты сгенерированных кодов менеджера уже безопасны потоком и убедитесь, что каждый поток получит свой собственный объект сеанса Nhibernate. Чтобы гарантировать, что потоки открываются и закрываются должным образом, очень важно, чтобы вы всегда избавлялись от менеджеров. Вот пример:

IManagerFactory managerFactory = new ManagerFactory();
using (ICategoryManager categoryManager = managerFactory.GetCategoryManager())
{
    Category categoryA = new Category();
    categoryA.Id = "TEST1";
    categoryA.Name = "Test 1";
    categoryA.Descn = "Hello world!";

    categoryManager.Save(categoryA);
    categoryManager.Session.CommitChanges();
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top