使用
连接池时,创建在同一线程上进行,因此如果池中没有连接,则代表您创建连接。采用对象池时,池可以决定创建新对象。但是,如果已经达到最大数量,它会给您下一个可用的对象。当需要花费较长时间来创建对象时,这的确是一个重要的行为。但不要长期使用这种方法来创建对象。
不在
连接池中实施。对象池的最大值在尝试缩放应用程序时很重要。可能需要仅为几个对象而复用成千上万个请求。(TPC/C 基准依赖这一功能。)
COM+ 对象池与 .NET Framework 托管 SQL 客户端
连接池几乎完全相同。例如,创建在不同的线程上进行,并强制实施最小值和最大值。
应用程序域会影响对象池的行为。在 Microsoft Windows 2000 中,当应用程序激活设置为 Library 并且您有多个
应用程序域时,将在默认应用程序域中创建所有缓冲池对象,并在多个客户端之间共享。在同样的情况下,当使用 Microsoft Windows XP 和 Windows Server 2003 时,每个
应用程序域都有一个对象池。无论使用哪一种操作系统,当有多个
应用程序域,且应用程序激活设置为服务器时,进程外
客户端将使用默认应用程序域中的对象池。