标签归档:c#

c# 数据库最大连接池(max pool size)简介说明


摘要:
下文将详细讲述数据库连接池相关信息,如下所示:


在c#操作sqlserver数据库时,需使用open打开一个数据库连接,此时应用程序将会同数据库之间产生一个连接,我们可以通过此连接发送sql脚本命令,当sql命令执行完毕后,我们需使用close关闭此链接。
在应用程序中,每次打开和关闭数据库连接对系统的性能影响非常大,因为对于web系统,每时每刻连接数据库操作的次数非常。在.net框架中,程序底层管理着数据库的连接和打开,我们将管理和打开数据连接的程序组件称之为 “数据库连接池”。
数据库连接池:
当程序打开一次连接后,连接池会将此连接保存起来,当下次有连接使用后,直接将此连接交予下一个程序使用。

数据库连接池的运行步骤

1.当c#程序执行open操作时,此时程序会检测是否支持”连接池模式”。
1.1 如果不支持连接池模式,直接创建连接,返回给应用程序。
1.2 如果支持连接池模式,创建连接池(如果不存在连接池),然后创建相应的连接,然后将其中的一个空闲连接返回给当前应用程序。

2.当c#程序执行close操作时,
2.1 如果不支持连接池模式,直接关闭此连接
2.2 如果支持连接池模式,则将当前连接置为空闲状态

3.当c#应用程序申请open时,直接将空闲的连接返回给应用程序

4. c# 应用程序open操作时,会检测连接池中是否存在可用的”连接”,如果无可用连接,ado会检测配置信息,检测是否达到最大的连接池数据。
4.1 如果没有达到最大连接池数量,则创建一个连接,返回给应用程序
4.2 如果已经达到最大连接数,则不会创建新的连接,等待连接池释放相应的连接

5. c#应用程序获取连接池中的”连接”后,根据相应的配置信息“connectionReset”,决定是否对连接执行reset.


c# 连接池配置文件

&gtadd key=”conn” value=”server=serverip; Port=3306; uid=sa; pwd=123456;database=test;pooling=true;min pool size=3;max pool size=100;connect timeout =18; “/ &lt
min pool size :连接池最小尺寸,首次连接池创建连接数量
max pool size:连接池最大尺寸
connect timeout:连接超时时间

查询程序池占用的连接数量

select * from sysprocesses where dbid= db_id('数据库名称')

c#开发中json特殊字符(转义字符)处理方法收集


摘要:
下文将分享c#开发中json字符串特殊字符转义方法,如下所示:


在c#开发中,我们常常需要将字符串转换为json字符,然后发送至前端进行输出显示,但json中一些特殊的字符必须进行相关的转义,否则会出现异常现象,
例:

    public String stringToJSON(String tmp) {         
        StringBuilder info = new StringBuilder();         
        for (int i=0; i
					

c# 对表变量(datatable)增加列并赋值的方法分享


摘要:
下文将分享对datatable变量增加列并赋值的方法分享,如下所示:


  DataTable tbTest = new DataTable();
        tbTest.Columns.Add("keyId", typeof(int));
        for (int i = 0; i < 88; i++)
        {
            tbTest.Rows.Add();
            tbTest.Rows[i][0] = i;
        }
        DataColumn tbColumn = new DataColumn("qty", typeof(int));
        tbColumn.DefaultValue = 88; -------默认值设置方式一定要在add列的方法前面,谨记!!!
        tbTest.Columns.Add(tbColumn);
        这种设置默认值的方式,可以使表tbTest中原有行中新增列的默认值为88