Лучшие варианты для реализации моего собственного поставщика транзакций - PullRequest
1 голос
/ 08 марта 2009

Я использую решение для удаленного стороннего хранилища, которое не поддерживает транзакции.

Я хочу реализовать свою собственную псевдо-ACIDity в .NET для этого решения, просто пытаясь переписать / удалить безотказные операции вставки / обновления сущности, чтобы перейти в состояние старых данных, но хороших данных, когда другие вставляют / обновления не выполняются в контексте транзакции.

Полезно или проще как-то интегрироваться с пространством имен System.Transactions (у кого-нибудь есть истории об ужасах или успехах? Это совместимо с общим представлением о том, что я пытаюсь сделать?) Или я должен создать свои собственные классы Transaction а интерфейсы?

Изменить: я нашел Реализация диспетчера ресурсов на MSDN для интеграции с System.Transactions, это путь? Или мне просто смоделировать пользовательский на этом шаблоне?

Редактировать: Чтение документов Hibernate , это именно тот шаблон, который мне очень нужен. Должен ли я просто загрузить NHibernate и обрезать весь код SQL или использовать его базовые классы и интерфейсы и реализовать свой собственный код CRUD или он сильно зависит от SQL? Я уже почти переписал некоторые из моих методов, чтобы соответствовать его документации.

Ответы [ 2 ]

1 голос
/ 09 марта 2009

Вы должны реализовать менеджер ресурсов, да. Получение поддержки System.Transaction не так уж и мало. Это позволит вашим разработчикам, например, фиксировать обновления вашего ресурса, а также Oracle, в той же единице работы. Вы получаете это бесплатно, если вы строите свою библиотеку так, чтобы она была менеджером ресурсов.

1 голос
/ 08 марта 2009

;-) Я только что добавил эту ссылку, когда увидел ваши изменения.

Я бы, наверное, сначала изучил этот вариант. Всякий раз, когда есть расширяемый фреймворк, вам не следует создавать его самостоятельно.

...