ado.net - ADO.NET如何识别唯一的连接字符串

我正在使用旧版应用程序,其中连接详细信息以加密格式存储在外部文件中。 应用程序在运行时根据传递给返回连接字符串的函数“ GetConnectionString”的某些关键字创建连接字符串。

在其中一个模块中,我想创建一个具有不同应用程序池大小的连接。 同时,我想使用不同的应用程序名称来区别源自该模块的连接。

但是,在SQL Server事件探查器中,此模块建立的连接的应用程序名称与应用程序的其余部分相同。

ADO.NET在标识唯一连接时是否排除连接池大小和应用程序名称?

从技术上讲,什么都没有排除。 如果未在连接字符串中显式设置“最小池大小”或“最大池大小”,则使用默认值:

  • 最大池大小:池中允许的最大连接数。 默认值为100。
  • 最小池大小:池中维护的最小连接数。 默认值为0。

需要明确的是,池是基于唯一的连接字符串创建的。

根据文档

池创建和分配

首次打开连接时,将基于精确匹配算法创建连接池,该算法将连接池与连接中的连接字符串相关联。 每个连接池都与一个不同的连接字符串关联。 当打开新连接时,如果连接字符串与现有池不完全匹配,则会创建一个新池。 每个进程,每个应用程序域,每个连接字符串以及使用集成安全性时,每个Windows标识都对连接进行池化。 连接字符串也必须完全匹配; 对于同一连接以不同顺序提供的关键字将被单独合并

添加连接

为每个唯一的连接字符串创建一个连接池

转载请注明来自askonline.tech,本文标题:ado.net - ADO.NET如何识别唯一的连接字符串


 Top