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 ...
随机推荐
- vb.net 正則表達式 取 固定格式的字符
vb.net 正則表達式 取 固定格式的字符: 原始字符串:strSqlTmp="select * from A_TEST where a_data = '@1@' and b_link = ...
- golang安装环境变量配置和beegoan安装
下载安装 go get github.com/astaxie/beego bee 工具的安装 go get github.com/beego/bee 升级 $ go get -u github.com ...
- http的keep-alive和tcp的keepalive区别
原文地址:http://blog.csdn.net/oceanperfect/article/details/51064574 1.HTTP Keep-Alive在http早期,每个http请求都要求 ...
- 判断点是否在区域的python实现(射线法)
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2018-10-07 15:49:37 # @Author : Sheldon (thi ...
- 4.2 使用STM32控制MC20发送短信
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- Windows读写文件的猫腻
这里主要涉及对于回车换行的讨论. 回车:\r 换行:\n Windows读写文件分为普通文件读写和二进制文件读写. 如果以二进制的方式读写文件(如rb, wb),将会完全的把文件内容读出来,不做任何处 ...
- $Android AlertDialog的各种用法总结
Refer:http://www.2cto.com/kf/201205/131876.html (一)最简单的用法(详见注释) 1 // 1.创建简单的AlertDialog // AlertDial ...
- Java泛型详解(转)
文章转自 importNew:Java 泛型详解 引言 泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用.本文我们将从零开始来看一下Java泛型的设计,将会涉及到通配符处理 ...
- third application :Directions widget
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- LVS 命令使用
LVS 命令使用 查询命令 ipvsadm -L # 查看lvs负载均衡信息ipvsadm -L -n # -n 查看IP端口ipvsadm -L -c # 显示当前连接ipvsadm -L -- ...