Правильно ли работает пул соединений в Subsonic? - PullRequest
1 голос
/ 27 марта 2009

Я получаю сообщения о том, что пул соединений не работает в Subsonic orm при использовании с сервером sql на удаленной машине. Я не уверен, как они контролируют это, возможно, с помощью профилировщика.

Subsonic открывается поздно, закрывается рано, как вы должны делать на уровне orm, но есть ли какие-либо проблемы с реализацией, которые могут вызвать слишком много соединений?

Ответы [ 4 ]

7 голосов
/ 30 марта 2009

Существует способ сохранить соединение открытым при использовании SubSonic. Многие люди предполагают, что когда вы загружаете коллекцию, читатель будет закрыт для вас - но это не так (класс никогда не должен действовать на другой класс без разрешения) Именно по этой причине существует метод «LoadAndCloseReader ()».

Если бы вы могли узнать больше, это было бы здорово.

1 голос
/ 31 января 2010

Я не уверен насчет более ранних версий, но в 2.1, AbstractList.Load () уже использует LoadAndCloseReader (rdr), заключенный в оператор using.

1 голос
/ 16 апреля 2009

Значит ли это, что подключения SubSonic по умолчанию постоянны?

0 голосов
/ 30 ноября 2009

Это то, что я обнаружил только недавно после подобных проблем.

Как сказал Роб, его нельзя использовать следующим образом:

MyTableCollection objCol = new MyTableCollection().Load();

следует использовать как:

MyTableCollection objCol = new MyTableCollection();
objCol.LoadAndCloseReader(MyTable.FetchAll());
...