ADO.NET 如何标识唯一的连接字符串



我正在开发一个遗留应用程序,其中连接详细信息以加密格式存储在外部文件中。应用程序在运行时基于传递给返回连接字符串的函数"GetConnectionString"的某些关键字创建连接字符串。

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

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

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

技术上不排除任何内容。如果未在连接字符串中显式设置最小池大小或最大池大小,则使用默认值:

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

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

根据文档:

池创建和分配

首次打开连接时,将创建基于 在将池与 连接中的连接字符串。每个连接池都是 与不同的连接字符串相关联。当新连接 打开,如果连接字符串与现有连接字符串不完全匹配 池,将创建一个新池。连接按进程池化,每个 应用程序域,每个连接字符串和集成安全性时 ,每个 Windows 标识。连接字符串还必须是 完全匹配;以不同顺序提供的相同关键字 连接将单独池化

添加连接

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

最新更新