Я сомневаюсь, что вы можете изменить любой атрибут строки соединения после того, как соединение было создано (в пуле или нет). Соединения назначаются для пулов на основе значения самой строки подключения, поэтому, если вы могли бы изменить имя приложения после того, как соединение было выбрано из пула, оно по сути принадлежало бы другому пулу с этой точки on, что, вероятно, испортит внутреннее управление пулом соединений.
Кроме того, имя приложения используется как (я думаю, вы уже знаете, что, как вы сказали, вы пытаетесь использовать его из соображений производительности и устранения неполадок), для заполнения столбца program_name
в sys.dm_exec_sessions
. Поэтому, если не существует способа, которым это значение может измениться для соединения existig, я думаю, что и из ADO.NET этого не сделать.
Сказав это, я использую имя приложения для той же цели. Я просто «жестко закодировал» имя приложения к некоторой символической строке (например, «myapp-client»), и этого всегда было достаточно для определения точного вызывающего приложения на переполненном сервере (по крайней мере, вместе со столбцом host_process_id
sys.dm_exec_sessions
).