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 ...
随机推荐
- javascript实例:路由的跳转
<!doctype html> <html lang="en"> <body> <a href="#/home"> ...
- xlwt 模块 操作excel
1.xlwt 基本用法 import xlwt #1 新建文件 new_file = open('test.xls', 'w') new_file.close() #2 创建工作簿 wookbook ...
- locust参数化
前面用篇专门讲了requests实现接口的参数关联案例,这里直接转化成locust脚本就行了 # coding:utf-8 from locust import HttpLocust, TaskSet ...
- npm-folders
npm-folders Executable(可执行程序) 在全局模式下,可执行程序被链接到Unix的{prefix}/bin目录下,或者是Windows的{prefix}目录下. 在本地模式下,可执 ...
- SpringMVC:学习笔记(3)——REST
SpringMVC:学习笔记(3)——REST 了解REST风格 按照传统的开发方式,我们在实现CURD操作时,会写多个映射路径,比如对一本书的操作,我们会写多个URL,可能如下 web/delete ...
- PAT 天梯赛 L1-039. 古风排版 【字符串处理】
题目链接 https://www.patest.cn/contests/gplt/L1-039 思路 先根据 len 和 n 判断 有几个 列和几行,然后 从最右边 到 最左边 从上到下 将字符串 录 ...
- asp.net 文件上传
前台js <script type="text/javascript"> window.onload = function () { document.getEleme ...
- JQuery 评分系统
评分: ☆ ☆ ☆ ☆ ☆ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...
- 3D立方体图片切换动画
在线演示 本地下载
- 创建Android守护进程(底层服务)【转】
本文转载自:https://blog.csdn.net/myfriend0/article/details/80016739 创建Android守护进程(底层服务) 前言 Android底层服务,即运 ...