Относительно Вашего вопроса (в Вашем комментарии к ответу Ash) о StringBuilder в Ajax ASP.NET эксперты, кажется, не соглашаются на этом.
Christian Wenz говорит в своей книге , Программируя (O'Reilly) ASP.NET AJAX , что "этот подход не имеет никакого измеримого эффекта на память (на самом деле, реализация, кажется, галочка медленнее, чем стандартный подход)".
, С другой стороны, Gallo и др. говорит в их книге Ajax ASP.NET в Действии (Укомплектование людьми), что, "Когда количество строк для конкатенации больше, строковый разработчик становится существенным объектом избежать огромных отбрасываний производительности".
я предполагаю, что необходимо было бы сделать собственное сравнительное тестирование и результаты могли бы отличаться между браузерами, также. Однако, даже если это не улучшает производительность, это можно было бы все еще считать "полезным" для программистов, которые привыкли кодировать с StringBuilders на языках как C# или Java.
Не используйте autoReconnect
. С ним есть проблемы, и он устарел . Например, у вас может произойти событие отключения / повторного подключения, когда поток использует соединение. Вместо этого я бы проверил соединения пула соединений с помощью testOnBorrow
, прежде чем передавать их в приложение. Вот пример:
<Resource name="jdbc/db"
auth="Container"
type="javax.sql.DataSource"
username="db1"
password="somepass"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db"
maxActive="15"
maxIdle="3"
maxWait="5000"
removeAbandoned="true"
removeAbandonedTimeout="20"
logAbandoned="true"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
validationQuery="select 1"
minEvictableIdleTimeMillis="3600000"
timeBetweenEvictionRunsMillis="1800000"
numTestsPerEvictionRun="10"
testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
/>