【问题标题】:How does ASP.Net connect to SQL Server expressASP.Net如何连接SQL Server express
【发布时间】:2011-07-02 00:06:31
【问题描述】:
我的设置如下
- IIS + SQL Server Express 在同一台机器上运行。
- SQL Server Express 有命名管道
连接。
- IIS 托管一个 ASP.Net 网站
(v3.5)
- ASP.Net 站点有 web 配置条目
使用集成的数据库
安全性。
关于这一点,ASP.Net 应用程序之间的连接如何。和 SQL Server express 处理?
每个用户是否使用相同的登录名连接到 SQL Express(想想它的 NETWORK-SERVICE)?
如果 2 个人同时访问同一个网页,SQL Express 会打开多少个连接?
是否取决于连接池中的设置?例如。如果连接池设置为 10,那么在本例中打开了 2 个连接?
还是只使用一个连接,用户必须等待前一个用户的网页完成所有数据库操作,才能处理他们的请求。
谢谢。
【问题讨论】:
标签:
asp.net
sql-server-express
【解决方案1】:
每个用户是否使用相同的登录名连接到 SQL Express(想想它的 NETWORK-SERVICE)?
默认情况下,是的。除非您激活模拟,否则将使用应用程序池的身份。
如果 2 个人同时访问同一个网页,SQL Express 会打开多少个连接?
这取决于您的连接池设置
是否取决于连接池中的设置?例如。如果连接池设置为 10,那么在本例中打开了 2 个连接?
确实如此。不要忘记 sql server 有自己的并发和锁定机制。就个人而言,我相信 Microsoft 的连接池默认值。我永远不必改变它们。
还是只使用一个连接,用户必须等待前一个用户的网页完成所有数据库操作,才能处理他们的请求。
在大多数情况下,两个并发请求可以分开处理。只有当其中一个请求向具有高隔离级别的数据库打开事务时,才会导致这样的等待时间。 (但是,这并不能防止冲突……您必须考虑冲突策略,例如在逻辑上锁定项目)