Я когда-то использовал его, но это не чувствовало себя хорошо, и IIRC увеличил объем потребляемой памяти вполне существенно. Вместо этого я реализовал свой собственный легкий механизм кэширования, который удивительно легко сделать.
Это использовало класс WeakReference , который позволил кэшу сохранять ссылки на объект, но также и позволяет Сборщику "мусора" исправлять память, если ссылка не использована.
единственной вещью, которую я не имел, был отдельный поток для чистки устаревших объектов в кэше. То, что я действительно делал, - то, если бы кэш имел> x объекты в нем, я прошел бы все кэшируемые элементы и покрыл бы дерном старые объекты прежде, чем добавить новый объект.
при необходимости в чем-то более устойчивом используйте что-то как Библиотека MS Enterprise Блок Программы кэширования .
Разница между двумя вариантами заключается в следующем:
Указание протокола
Использование либо
Мультипротокол = rpc
Общая память = lpc
NWlink IPX / SPX = spx
Banyan VINES = vines
Apple Talk = adsp
TCP = tcp
Это рекомендуемый способ. Я также считаю, что это безопаснее, поскольку имена DLL могут быть изменены с большей вероятностью, чем имена протоколов.
Это также позволяет вам изменять номер порта, а не настраивать его по всем направлениям с помощью клиентской сетевой утилиты SQL Server.
Библиотека без расширения dll
При указании библиотеки будет использоваться то же имя, что и у файла сетевой библиотеки DLL без расширения .dll.
Пример:
TCP / IP: C: \ WINDOWS \ system32 \ DBMSSOCN.dll
Именованные каналы: C: \ WINDOWS \ system32 \ DBNMPNTW.dll
Многопротокольный (RPC): C: См. Сетевая утилита клиента SQL Server.
Компромисс производительности незначителен и незаметен. Лучше всего придерживаться стандартов и настроить его в файле web.config, так как другие разработчики будут знать, где искать параметры подключения. Подобно подключению к источнику данных в java.
DBMSSOCN - значение по умолчанию для сетевой библиотеки. Поэтому, если вы не используете его в строке подключения, тогда будет использоваться значение по умолчанию, которым является «DBMSSOCN»
См.
http://msdn.microsoft.com/en-us/library/system. data.sqlclient.sqlconnection.connectionstring.aspx
Относительно сетевой библиотеки =
: прямо из источника Microsoft :
SQL Server использует TCP / IP по умолчанию, поэтому указывать его не нужно. Целую статью о строке подключения можно найти здесь .