| 2018.9.21 | c# |
C#等待所有子线程执行完毕方法 https://my.oschina.net/sevenhdu/blog/282562
https://blog.csdn.net/qq_26122931/article/details/80934047 https://blog.csdn.net/lee353086/article/details/6819123 https://blog.csdn.net/proglovercn/article/details/51592884
https://blog.csdn.net/u010108836/article/details/78380513 https://www.cnblogs.com/litian/articles/5139780.html
https://www.cnblogs.com/zhhying/p/4167614.html
http://www.cnblogs.com/yy3b2007com/p/6503123.html
c#操作数据库,事务 https://www.cnblogs.com/gaofei-1/p/7345103.html
c#引用ActiveMQ dll http://www.cnblogs.com/a735882640/p/7625771.html
C#开发之控制台程序使用log4net日志组件 https://blog.csdn.net/jiezhang656/article/details/78067590 https://www.jb51.net/article/112888.htm
C# Insert批量插入 http://www.cnblogs.com/haibing0107/p/7601907.html
c#插入数据库 http://www.cnblogs.com/lushixiong/p/4558466.html
c# log4net https://blog.csdn.net/baogreat/article/details/2217131
c#和sqlserver字段映射 SQL Server 数据类型映射 https://docs.microsoft.com/zh-cn/dotnet/framework/data/adonet/sql-server-data-type-mappings
C# ActiveMQ并行消费 https://blog.csdn.net/zequan_liu1988/article/details/78099485
Active MQ C#实现 https://blog.csdn.net/lee353086/article/details/6819123 https://blog.csdn.net/proglovercn/article/details/51592884
1.C#程序终止问题:CLR20R3 计算机管理-系统工具-事件查看器-Windows日志-应用程序 2.来自数据源的 String 类型的给定值不能转换为指定目标列的类型 datetime。 —> System.FormatException: 将参数值从 String 转换到 DateTime 失败。 —> System.FormatException: 该字符串未被识别为有效的 DateTime。
SqlBulkCopy不是根据表的ColumnName来匹配的,而是根据ColumnIndex匹配。所以插入数据的表需要和数据库中表的列名顺序完全一致
如果需要按照ColumnName对应来插入数据,可以指定SqlBulkCopyColumnMapping。代码如下
SqlBulkCopy sbc = new SqlBulkCopy(conPrivate);
foreach (DataColumn dc in dt.Columns)
sbc.ColumnMappings.Add(new SqlBulkCopyColumnMapping(dc.ColumnName, dc.ColumnName));
https://www.cnblogs.com/xyz0835/archive/2013/03/12/2955540.html
3.多线程
/*int maxThreadCount = 100;
using (ManualResetEvent finish = new ManualResetEvent(false))
{
for (var i = 0; i < maxThreadCount; i++)
{
ThreadPool.QueueUserWorkItem((Object state) =>
{
Console.WriteLine("task:{0}", state);
// 以原子操作的形式递减指定变量的值并存储结果。
if (Interlocked.Decrement(ref maxThreadCount) == 0)
{
// 将事件状态设置为有信号,从而允许一个或多个等待线程继续执行。
finish.Set();
}
}, i);
}
// 阻止当前线程,直到当前 System.Threading.WaitHandle 收到信号。
finish.WaitOne();
}
Console.WriteLine("Complete!");
Console.ReadKey();
*/
4.C#ThreadPool类辅助线程
5.C# ActiveMQ并行消费心得
更新列表:
*
参考文章: