2013-10-14 6 views
0

Мне нужно реализовать механизм объединения пулов для веб-приложения .Net 4.5, которое использует Cassandra и cassandra-sharp для хранения данных и доступа к данным соответственно. Я вижу два стандартных варианта (игнорирующие Spring.NET на данный момент):Cassandra ASP.NET Connection Pooling

Итак:

  1. Что бы вы порекомендовали? System.Data выглядит как боль и немного черного ящика, но COM + кажется устаревшим? Может ли Spring.Net object pooling быть лучшим вариантом?
  2. Если я реализую System.Data и использую строки подключения, я просто определяю, какие классы мне нужно реализовать, следуя свойствам и методам в DbConnection? Или есть другие этапы настройки, например. специальные соединительные строки.
  3. Мне нужно убедиться, что в пуле существует только одно единственное повторно используемое соединение и что он доступен для асинхронного доступа. Это параметр строки подключения для System.Data и возможен асинхронный доступ с любым подходом?
  4. Существуют большие части System.Data, которые относятся только к реляционным базам данных, например. сделки. Что наименее вероятно, чтобы разрушить объединение при реализации не поддерживаемых методов и свойств: бросание исключения NotSupportedException или их укутывание?

ответ

0

Почему бы не использовать native driver? Похоже, вы изобретаете колесо.

+0

Недавно я не смотрел драйверы Datastax, но этот проект был очень плохим, когда мы начали проект около 6 месяцев назад. Я полагаю, что это хорошая рекомендация, поскольку в настоящее время есть драйвер Ado.Net. Они говорят, что «этот драйвер еще не выпущен», хотя ... –

+0

На данный момент родной драйвер является лучшим маршрутом, поскольку более старые драйверы основаны на протоколе Thrift, который имеет множество недостатков в отношении более нового асинхронного двоичного протокола. –