C # Task Parallel Library и NHibernate / Spring.NET

Я использую Spring.NET и NHibernate несколько лет и очень доволен. Тем не менее, я всегда играл с многопоточностью, реактивными расширениями и, в конечном итоге, с библиотекой параллельных задач, которая является отличным фреймворком. К сожалению, все виды многопоточности терпят неудачу из-за сеанса NHiberntate, который не является потокобезопасным.

Я спрашиваю вас, как я могу извлечь выгоду из параллельного программирования и по-прежнему использовать NHibernate.

Например: у меня есть CustomerRegistrationService , метод Register выполняет несколько задач:

ICustumer customer = this.CreateCustomerAndAdresses(params);
this.CreateMembership(customer);
this.CreateGeoLookups(customer.Address);
this.SendWelcomeMail(customer);

Последние два метода были бы идеальными кандидатами для параллельной работы, CreateGeoLookups вызывает некоторые веб-службы для определения географического местоположения адреса клиента. и создает несколько новых сущностей, а также обновляет самого клиента. Макс

6
задан Max 7 January 2011 в 09:34
поделиться