Различие между этими строками подключения?

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

Это использовало класс WeakReference , который позволил кэшу сохранять ссылки на объект, но также и позволяет Сборщику "мусора" исправлять память, если ссылка не использована.

единственной вещью, которую я не имел, был отдельный поток для чистки устаревших объектов в кэше. То, что я действительно делал, - то, если бы кэш имел> x объекты в нем, я прошел бы все кэшируемые элементы и покрыл бы дерном старые объекты прежде, чем добавить новый объект.

при необходимости в чем-то более устойчивом используйте что-то как Библиотека MS Enterprise Блок Программы кэширования .

9
задан C. Ross 7 October 2009 в 10:34
поделиться

3 ответа

Разница между двумя вариантами заключается в следующем:

Указание протокола

Использование либо

Мультипротокол = 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.

11
ответ дан 4 December 2019 в 11:42
поделиться

DBMSSOCN - значение по умолчанию для сетевой библиотеки. Поэтому, если вы не используете его в строке подключения, тогда будет использоваться значение по умолчанию, которым является «DBMSSOCN»

См.

http://msdn.microsoft.com/en-us/library/system. data.sqlclient.sqlconnection.connectionstring.aspx

4
ответ дан 4 December 2019 в 11:42
поделиться

Относительно сетевой библиотеки = : прямо из источника Microsoft :

SQL Server использует TCP / IP по умолчанию, поэтому указывать его не нужно. Целую статью о строке подключения можно найти здесь .

3
ответ дан 4 December 2019 в 11:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: