我正在使用旧版应用程序,其中连接详细信息以加密格式存储在外部文件中。该应用程序在运行时基于传递给返回连接字符串的函数“ GetConnectionString”的某些关键字来创建连接字符串。
在一个模块中,我想创建一个具有不同应用程序池大小的连接。同时,我想使用不同的应用程序名称来更改源自此模块的连接。
但是,在SQL Server Profiler中,此模块建立的连接的应用程序名称与应用程序的其余部分相同。
ADO.NET在标识唯一连接时是否排除连接池大小和应用程序名称?
技术上没有任何排除。如果未在连接字符串中显式设置“最小池大小”或“最大池大小”,则使用默认值:
要清楚,池是基于唯一的连接字符串创建的。
每Docs:
池创建和分配
第一次打开连接时,将基于以下内容创建连接池精确匹配算法将池与连接中的连接字符串。每个连接池是与不同的连接字符串关联。当有新连接时如果连接字符串与现有字符串不完全匹配,则打开池,将创建一个新池。连接是按进程,按池合并的每个连接字符串以及集成安全性时的应用程序域根据Windows身份使用。 连接字符串也必须是完全符合;以相同的顺序提供不同的关键字连接将单独合并]]。
添加连接
为每个唯一的连接字符串创建一个连接池