每次访问都需要创建新连接吗?或者是否有必要始终保持一个连接打开,每个人都应该通过该连接工作?现在每次我需要连接到数据库时,我都会创建一个新连接:
SqlConnection connection = new SqlConnection(connectionString);
好吧,那我关闭它。但是如何保证整个应用只有一个公共连接呢?真的有必要这样做吗?
每次访问都需要创建新连接吗?或者是否有必要始终保持一个连接打开,每个人都应该通过该连接工作?现在每次我需要连接到数据库时,我都会创建一个新连接:
SqlConnection connection = new SqlConnection(connectionString);
好吧,那我关闭它。但是如何保证整个应用只有一个公共连接呢?真的有必要这样做吗?
对整个应用程序使用单个连接使得难以在多个线程中使用数据库。因此,在大多数情况下,您应该在执行数据库查询之前立即打开连接并在执行之后立即关闭连接。
打开和关闭物理数据库连接的操作是昂贵的,所以默认使用连接池,你不必太担心这个。调用
SqlConnection.Open()时,连接从池中取出,调用时,SqlConnection.Close()返回池中,可以重复使用。我不知道任务的具体细节,但就我个人而言,我建议您注意诸如实体框架之类的工具。