随笔分类 -  C#

摘要:1. 逻辑 封装各个数据库的访问方式; 以表为单位,定义 interface 接口,实现增删改查等操作,基于 Postgresql、Oracel 等数据库的具体实现类继承 interface; 封装 DataAccess 类,实现访问数据库的统一入口,通过反射的方式实现; 对 Postgresql、 阅读全文
posted @ 2021-03-13 11:09 鑫茂 阅读(156) 评论(0) 推荐(0)
摘要:目录: System.Threading.Monitor:提供同步访问对象的机制; lock 是语法糖,是对 Monitor Enter 和 Exit 方法的一个封装 lock 案例 1. Monitor 1. 基本方法 public static void Enter(object obj); 在 阅读全文
posted @ 2021-03-11 21:43 鑫茂 阅读(623) 评论(0) 推荐(2)
摘要:1. 功能 模拟一个生产、消费的过程,不过这里没有做消息自动通知,而是消费者自己定时过去取。 一般的生产环境应该是在有新消息产生时,将新消息发送给消费者。 拿下面例子来举例,可在数据入队时,调用一个 event 方法,event 触发消费者的方法。 如果是不同设备之间的订阅,要么自己写 http 接 阅读全文
posted @ 2021-03-11 12:31 鑫茂 阅读(179) 评论(0) 推荐(0)
摘要:1. 类的关系 AutoResetEvent 和 ManualResetEvent 都继承自 System.Threading.EventWaitHandle 类(EventWaitHandle 继承自 WaitHandle); 用于线程交互 (或线程信号) 2. 常用方法 2.1 WaitHand 阅读全文
posted @ 2021-03-11 12:29 鑫茂 阅读(242) 评论(0) 推荐(0)
摘要:两个线程中的每一个线程都尝试锁定另外一个线程已锁定的资源时,就会发生死锁。 两个线程都不能继续执行。 托管线程处理类的许多方法都提供了超时设定,有助于检测死锁。 例如,下面的代码尝试在 lockObject 对象上获取锁。 如果在 300 毫秒内没有获取锁,Monitor.TryEnter 返回 f 阅读全文
posted @ 2021-03-11 12:28 鑫茂 阅读(145) 评论(0) 推荐(0)
摘要:1. 操作取消 1.1 步骤 实例化 CancellationTokenSource 对象,该对象管理取消通知并将其发送给单个取消标记 将 CancellationTokenSource.Token 属性返回的标记传递给每个侦听取消的任务或线程 为每个任务或线程提供响应取消的机制 if (token 阅读全文
posted @ 2021-03-11 12:26 鑫茂 阅读(786) 评论(0) 推荐(0)
摘要:1. 与 Task.Run() 的区别; 先看一下源码: public class Task : IThreadPoolWorkItem, IAsyncResult, IDisposable { public static Task Run(Action action) { StackCrawlMa 阅读全文
posted @ 2021-03-11 12:24 鑫茂 阅读(2078) 评论(0) 推荐(0)
摘要:IEnumerable<int> intList = Enumerable.Range(1, 15); foreach (int i in intList) { ThreadPool.QueueUserWorkItem(w => { Console.WriteLine("ThreadPool:" + 阅读全文
posted @ 2021-03-11 12:20 鑫茂 阅读(172) 评论(0) 推荐(0)
摘要:![](https://img2020.cnblogs.com/blog/1020027/202103/1020027-20210309192522741-723428598.png) 阅读全文
posted @ 2021-03-11 12:14 鑫茂 阅读(155) 评论(0) 推荐(1)
摘要:1. 库类: \Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\System.dll System.Net.HttpListener 2. 代码 2.1 服务端 class Program { static HttpListen 阅读全文
posted @ 2021-03-08 21:38 鑫茂 阅读(4986) 评论(0) 推荐(1)
摘要:1. 代码 /// <summary> /// 文件上传下载控制器 /// </summary> public class FileController : ApiController { /// <summary> /// 上传文件 /// </summary> /// http://192.16 阅读全文
posted @ 2021-03-08 21:36 鑫茂 阅读(846) 评论(0) 推荐(0)
摘要:库类: Owin.dll Owin.IAppBuilder Microsoft.Owin.dll Microsoft.Owin.OwinContext Microsoft.Owin.Hosting.dll Microsoft.Owin.Hosting.WebApp Microsoft.Owin.Ho 阅读全文
posted @ 2021-03-08 21:34 鑫茂 阅读(765) 评论(0) 推荐(0)
摘要:helper 类封装 调用 1. 引用的库类 \Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\System.dll System.Net.HttpWebRequest 2代码 helper 类封装 /// <summary> 阅读全文
posted @ 2021-03-08 21:32 鑫茂 阅读(1155) 评论(0) 推荐(0)
摘要:1. 示例代码 using System; using System.IO; using System.Net.Http; /// <summary> /// 下载文件 /// </summary> /// <param name="serverFileName">服务器上文件名 如 close.p 阅读全文
posted @ 2021-03-08 21:30 鑫茂 阅读(11997) 评论(0) 推荐(0)
摘要:1. 需要的库类 \Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\System.Net.Http.dll System.Net.Http.HttpClient 2. 代码 public class HttpClientHe 阅读全文
posted @ 2021-03-08 21:27 鑫茂 阅读(1605) 评论(0) 推荐(0)
摘要:1. 需要的库类 \Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\System.dll System.Net.WebClient 2. 代码 var wc = new WebClient(); var url = "htt 阅读全文
posted @ 2021-03-08 19:39 鑫茂 阅读(811) 评论(0) 推荐(0)
摘要:个人经历的项目主要都是用 Postgresql 或 Oracle 数据库,本文非原创,从他处整理而来。 1. 库类 mysql.data.dll using MySql.Data.MySqlClient; 2. MysqlHelper 粗暴封装 /// <summary> ///MYSQLHelpe 阅读全文
posted @ 2021-03-04 18:55 鑫茂 阅读(560) 评论(0) 推荐(0)
摘要:1. 引入库类 Oracle.ManagedDataAccess.dll using Oracle.ManagedDataAccess.Client; 2. 粗暴封装 namespace xx { public class OracleSqlDao { public OracleSqlDao(str 阅读全文
posted @ 2021-03-04 18:52 鑫茂 阅读(679) 评论(0) 推荐(0)
摘要:引入库类 连接数据库 访问数据库 1)增删改数据库 2)查数据库 数据转换 事务 1. 引入库类 引入 Npgsql.dll using Npgsql; using NpgsqlTypes; 2. 连接数据库 /// <summary> /// 使用固定连接进行数据库的操作,默认false,表示每次 阅读全文
posted @ 2021-03-04 18:51 鑫茂 阅读(3293) 评论(1) 推荐(2)
摘要:public class Player { public string Id { get; set; } public string Name { get; set; } public int Age { get; set; } public bool IsPlaying { get; set; } 阅读全文
posted @ 2021-03-03 20:21 鑫茂 阅读(111) 评论(0) 推荐(0)