上一页 1 2 3 4 5 6 ··· 12 下一页
摘要: byte[] bs = new byte[32]; Random random = new Random(); random.NextBytes(bs); //给字节数组填充随字节 string hex = BitConverter.ToString(bs); //将字节数组转成十六进制字符串,默认 阅读全文
posted @ 2024-01-16 10:27 WmW 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 有的时候我们需要让2个函数按照顺序循环执行,比如将数据库的数据写到硬盘上, 我们很容易就想到让他们异步执行,避免阻塞,但是为了保证数据的顺序一致,我们又需要整个队列来存放数据,感觉比较麻烦, 今天研究了下,通过异步和信号量控制实现了两个函数异步交叉执行的效果 internal class Teste 阅读全文
posted @ 2024-01-15 18:30 WmW 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 最近在升级monogdb数据库,从3.4升级到7.0,由于版本跨度过大,不能跨库复制,C#的mongodb驱动也不能同时操作2个不同版本的库,而它自己的mongodump不但慢,而且依然不能支持从3.4到7.0,没办法,我只能自己想办法转移数据,于是就想到了命名管道,于是我写了个小项目封装了这个需求 阅读全文
posted @ 2024-01-11 10:58 WmW 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 最近在使用C#的命名管道进行数据通讯,到了接收数据比较难搞, 由于不知道数据流具体的长度(调用NamedPipeServerStream的Length会报错),缓冲区的大小就无法确定,因此写了个功能类,用来接收这种数据流长度未知的数据 测试使用没有问题,但是不敢保证一定没有问题,请谨慎参考 /// 阅读全文
posted @ 2024-01-10 18:36 WmW 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 有的时候数据源是IEnumerable<T>,返回的数据可能有几百万条,咱们既不能等其几百万条都迭代完了后再保存(内存顶不住),也不能来一条就保存一条(cpu亚历山大), 希望能分批次的保存,比如等其每次枚举1000条,然后统一保存一下,于是我就写了2个IEnumerable<T>的分批扩展方法,一 阅读全文
posted @ 2024-01-10 18:19 WmW 阅读(19) 评论(0) 推荐(0) 编辑
摘要: IBufferWriter<T>是同步缓冲写入的协定,实现这个接口就拥有一个输出接收器 我是最近研究Protobuf序列化时发现它有个传递IBufferWriter<T>的构造,使用者只需要自己实现一个IBufferWriter<T>,创建后传递给Protobuf-net的序列化函数,就能得到其序列 阅读全文
posted @ 2024-01-10 18:12 WmW 阅读(80) 评论(0) 推荐(0) 编辑
摘要: protobuf是谷歌的一个序列化数据结构的协议,性能高,存储占用小 经过我的测试对比 1,最慢的是C#内置的BinaryFormatter,这个玩意能不用则不用 2,然后是json,用起来很方便,比BinaryFormatter快了1-2倍 3,接下来就是protobuf,不过需要给类的成员加上特 阅读全文
posted @ 2024-01-08 17:15 WmW 阅读(389) 评论(0) 推荐(0) 编辑
摘要: C#有个??运算符,能用来简化代码逻辑 internal class Tester { public void Test() { AAA aaa = null; AAA bbb = new AAA("bbb"); Console.WriteLine(Test1(aaa, bbb).Name); // 阅读全文
posted @ 2023-12-22 11:05 WmW 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 最近在维护一个老的asp.net项目 最开始发现一个诡异的现象,那就是本地调试的时候这个项目经常在启动后莫名其妙的重启 逐步调试发现原来是该项目会监听一个本地端口,项目重启时会出现端口被占用的情况,为了保证端口不会占用,会先判断一下端口的情况,如果发现端口被占用,就强制杀掉占用该端口的进程,这就出现 阅读全文
posted @ 2023-12-15 16:03 WmW 阅读(25) 评论(0) 推荐(0) 编辑
摘要: public async Task Test() { var task = AAA(); Log.Info("调用AAA"); await Task.Delay(2000); Log.Info("等待2秒任务尚未执行完毕"); await task; //等待任务完成 Log.Info("等待AAA 阅读全文
posted @ 2023-12-15 10:25 WmW 阅读(75) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 12 下一页