首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在集成安全性中添加Pooling=True会带来什么后果?

在集成安全性中添加Pooling=True会带来什么后果?
EN

Stack Overflow用户
提问于 2012-02-22 07:55:57
回答 3查看 13.3K关注 0票数 2

我的应用程序是在ASP.NET 4上使用Server 2008 R2后端的。

连接字符串使用的是集成安全性。我想知道增加以下内容的好处:

池= true;最大池大小= N

在将Integrated设置为true时,在连接字符串中。

我要启用还是不启用?

编辑的

当未启用池时,在此问题中讨论的问题可能吗?

应用程序开始显示错误的数据,但在Server服务重新启动时进行更正。

编辑:

Web.Config文件包含以下行:

代码语言:javascript
复制
<add name="ConStringPWS" connectionString="Data Source=.;Initial Catalog=pWS;Integrated Security=True;" providerName="System.Data.SqlClient"/>

<identity impersonate="true" userName="Server\Administrator" password="xyz"/>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-22 08:06:39

是的,我想我们应该启用连接池。(实际上,默认情况下,池是启用的,最大池大小为100)

据我所知,池与集成安全配置无关。

池连接将帮助您的应用程序在更好的性能和更好的可伸缩性领域。池是一种降低重复打开和关闭连接(物理)的成本的技术。

据我所知,要回答您的问题,如何检查池是否启用。我想这里有人能给你一个更好的答案。

代码语言:javascript
复制
SqlConnectionStringBuilder cnnBuilder = new SqlConnectionStringBuilder(yourConnection.ConnectionString);
bool isPooling = cnnBuilder.Pooling;
票数 4
EN

Stack Overflow用户

发布于 2012-02-22 08:40:33

根据Microsoft

只有具有相同配置的连接才能池化。ADO.NET同时保存多个池,每个配置都有一个池。当使用集成安全性时,通过连接字符串和Windows标识将连接分离为池。连接也根据它们是否被登记在事务中进行池化。由于在集成安全模式下,您将以AppPool/worker进程的身份访问数据库(除非您使用的是模拟),所以使用(连接池)是非常重要的,因为对站点的所有请求基本上都将使用具有相同配置的连接。不合并它们将严重影响应用程序的性能。

票数 1
EN

Stack Overflow用户

发布于 2012-02-22 08:41:25

关键的池问题是,如果集成安全打开,并使用模拟-您的网站是这样吗?

在这种情况下,池不太可能有用,因为每个独立的用户最终都会有一个单独的池。

请参阅冒充/委派

请注意,如果您使用模拟标识访问下游数据库,则模拟会阻止连接池的有效使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9391007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档