我正在使用Parallel.For并发调用如下。parallel.for循环给出超时异常
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
SqlCommand cmd = new SqlCommand();
//SqlDataReader reader;
cmd.CommandType = CommandType.Text;
cmd.Connection = connection;
Parallel.For(0, 100, delegate(int i)
{
//insert into database;
cmd.CommandText = string.Format("insert into Service_LoadTest(id,ServiceCallcount) values ({0},'Call_{1}')", i, i);
cmd.ExecuteNonQuery();
});
插入一些数高达70后,我收到超时异常为“超时过期。超时时间已过之前,操作完成或服务器没有响应。”我已经设置了引黄串超时财产,但没有运气。请帮忙。
SqlCommand不是线程安全的,你不能这样做。 –
你是否希望使用'Parallel.For'来加速你的数据库插入? – Enigmativity
另一端是单写头。除非你在另一端有一些奇特的切断点,否则这将不会更快。打开每个插入连接的解决方案不会更快。 – Paparazzi