ADO.NET异步操作测试
配置文件:
<?xml version="1.0"?>
<configuration>
<startup> <supportedRuntime version="v2.0.50727"/>
</startup> <appSettings> <add key="Test" value="Data Source=10.68.108.3;Initial Catalog=ZhanJiang;Persist Security Info=True;User ID=eerpsa;Password=eerpP@ssword;Asynchronous Processing=true;MultipleActiveResultSets=true"/>
</appSettings>
</configuration>
异步操作的连接字符串要加入:Asynchronous Processing=true;MultipleActiveResultSets=true
测试代码:
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Linq;
using System.Text; namespace TestConsoleApp
{
[NUnit.Framework.TestFixture]
public class SyncADONetTest
{ [NUnit.Framework.Test]
public void test()
{
Console.WriteLine("test");
var sqlConnection = new SqlConnection(ConfigurationManager.AppSettings["Test"]);
sqlConnection.Open();
var cmd = new SqlCommand();
cmd.Connection = sqlConnection; Stopwatch sw = new Stopwatch();
sw.Start();
for (var i = ; i < ; i++)
{
cmd.CommandText = "INSERT INTO Test (UserName) VALUES ('" +
"user" + i.ToString() + "')";
cmd.ExecuteNonQuery();
}
sw.Stop();
var end = sw.ElapsedMilliseconds;
Console.WriteLine("同步用时:{0}", end); sqlConnection.Close(); var sqlConnection2 = new SqlConnection(ConfigurationManager.AppSettings["Test"]);
sqlConnection2.Open(); sw.Reset();
sw.Start();
for (var i = ; i < ; i++)
{
var cmd2 = new SqlCommand();
cmd2.Connection = sqlConnection2;
cmd2.CommandText = "INSERT INTO Test (UserName) VALUES ('" +
"user" + i.ToString() + "')";
cmd2.BeginExecuteNonQuery(ir => {
SqlCommand icmd = ir.AsyncState as SqlCommand;
icmd.EndExecuteNonQuery(ir);
}, null);
}
sw.Stop();
var end2 = sw.ElapsedMilliseconds;
Console.WriteLine("异步用时:{0}", end2);
sqlConnection.Close();
}
}
}
测试结果:

参考:https://technet.microsoft.com/zh-cn/library/zw97wx20(v=vs.100).aspx
ADO.NET异步操作测试的更多相关文章
- Edge.js:让.NET和Node.js代码比翼齐飞
通过Edge.js项目,你可以在一个进程中同时运行Node.js和.NET代码.在本文中,我将会论述这个项目背后的动机,并描述Edge.js提供的基本机制.随后将探讨一些Edge.js应用场景,它在这 ...
- MVC的异步,Entity Framework的异步,ADO.NET的异步,
MVC的异步化改造 无比轻松,只要把ActionResult改为async Task<AstionResult>: public async Task<ActionResult> ...
- [.NET 4.5] ADO.NET / ASP.NET 使用 Async 和 Await 异步 存取数据库
此为文章备份,原文出处(我的网站) [.NET 4.5] ADO.NET / ASP.NET 使用 Async 和 Await 异步 存取数据库 http://www.dotblogs.com.tw ...
- Delphi中ADO异步执行方式
当ADO开始处理数据后,应用程序必须等到ADO处理完毕之后才可以继续执行.但是除了同步执行方式之外,ADO也提供了异步执行的方式,允许当ADO处理时,应用程序仍然能够先继续执行.而当ADO处理数据完毕 ...
- ADO异步查询显示进度条
一般,ADO都是以同步的方式来处理数据.这就是说,当ADO开始处理数据后,应用程序必须等到ADO处理完毕之后才可以继续执行.但是除了同步执行方式之外,ADO也提供了异步执行的方式,允许当ADO处理时, ...
- ADO.NET 4.5中的异步与流特性
.NET 4.5为仍在选择直接与DataReader系列类打交道的.NET开发人员带来了一些新的异步与流特性支持.SqlDataReader允许开发人员在减少一些便利性的基础上获得更好的性能.例如,该 ...
- vb6异步ADO操作
Private withevents M_Conn as adodb.connection Private CmdFinished as boolean sub somesub AdoCmd.Exec ...
- ADO.NET的弹性连接控制[ADO.NET idle connection resiliency]
ADO.NET连接SQL Server有时候联机会无故的中断 (例如闲置过久或是交易时间太长等因素),这时又要重新连接,在.NET Framework 4.5之前,这件事情要由开发人员自己依照ADO. ...
- ADO.NET 中的新增功能
ADO.NET 中的新增功能: .NET Framework (current version) 以下是 .NET Framework 4.5 中 ADO.NET 的新增功能. SqlClient D ...
随机推荐
- 修改impala表location
两种方式: 一.通过修改表DDL: alter table t_m_cc set location 'hdfs://heracles/user/video-mvc/hive/warehouse/t_m ...
- 阿里云短信验证解决方案(java版)(redis存储)
最近搞了一个互联网项目的注册,需要写一个手机号验证(由于之前没有轮子,只能自己摸索了); 1:基本思路: 1>购买了阿里云短信服务->下载阿里云短信发送demo(java版); 2> ...
- Android之四大组件、六大布局、五大存储
[-] Android六大界面布局方式 1 LinearLayout线性布局 LinearLayout的常用XML属性及相关方法 LinearLayout子元素支持的常用XML属性及方法 2 Tabl ...
- Tensorflow瞎搞
Tensorflow为张量从流图的一端流动到另一端的计算过程,Tensorflow也可以看成是将复杂的数据结构传输至人工智能神经网络中进行分析和处理的系统. 张量概念是矢量概念的推广,矢量是一阶张量. ...
- CSS中input输入框点击时去掉外边框方法【outline:medium;】----CSS学习
CSS 中添加 outline:medium; JS 控制焦点: $("#CUSTOM_PHONE").focus(function(event){ // this.attr(&q ...
- SpringMVC:学习笔记(6)——转换器和格式化
转换器和格式化 说明 SpringMVC的数据绑定并非没有限制,有案例表明,在SpringMVC如何正确绑定数据方面是杂乱无章的,比如在处理日期映射到Date对象上. 为了能够让SpringMVC进行 ...
- 服务中的 API 网关(API Gateway)
我们知道在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,这些小系统通常以提供 Rest Api ...
- 更改计算机名称,影响TFS之前映射的工作区 使用。
今天把自己电脑的计算机名称改了,打开vs2012的时候,就提示以下的错误: ---------------------------Microsoft Visual Studio------------ ...
- 【Tech】单点登录系统CAS客户端demo
服务器端配置请参考: http://www.cnblogs.com/sunshineatnoon/p/4064632.html 工具:myeclipse或者javaee-eclipse 1.启动jav ...
- django大全
数据库配置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'dbname', 'USER': 'ro ...