刷新
ShadowSql之开源不易

ShadowSql集本人以前为公司内部开发的ORM之众长 再次进化而来,性能更好、更通用 其一、历时3个多月,已经发布了5个大版本9个小版本 在此期间深感做开源项目非常的不易 好在现在本人想要的功能基本都已经开发完成 其二、开源项目功能需要更完整 公司内部项目只要能用就行 其三、开源项目文档要更完善 ...

如何反向绘制出 .NET程序 异步方法调用栈

博主头像 一:背景 1. 讲故事 这个问题源于给训练营里的一位朋友分析的卡死dump,在分析期间我需要知道某一个异步方法的调用栈,但程序是 .framework 4.8 ,没有sos后续版本独有的 !dumpasync 命令,所以这就比较搞了,但转念一想,既然 !dumpasync 能把调用栈搞出来,按理说我 ...

初识C#

博主头像 命名空间 C#程序是利用命名空间组织起来的 命名空间既用作程序的“内部”组织系统,也用作向“外部”公开的组织系统(即一种向其他程序公开自己拥有的程序元素的方法) 如果要调用某个命名空间中的类或者方法,需要首先使用using指令引入命名空间,using指令将命名空间名所标识的命名空间内的类型成员导入当 ...

C#编程中并行与并发的简单理解

博主头像 1.简述 并发通过管理多个任务的执行顺序,确保系统在高负载下仍能保持响应性;并行则利用多处理器或多核心硬件,真正同时执行任务,以加速计算。这两者在高性能计算、实时系统和用户交互应用中发挥着不可替代的作用。 在多核处理器时代,传统串行编程已无法充分利用硬件潜力。并行计算通过将任务分解到多个核心执行,显 ...

.net core workflow流程定义

博主头像 .net core workflow流程定义 WikeFlow官网:http://www.wikesoft.com WikeFlow学习版演示地址:http://workflow.wikesoft.com WikeFlow学习版源代码下载:https://gitee.com/wikesoft/Wor ...

c# 批量注入示例代码

博主头像 using Microsoft.Extensions.DependencyInjection; using System; using System.Linq; using System.Reflection; // 自定义属性来标记服务类型 [AttributeUsage(AttributeTar ...

简单写一个C函数供C#代码调用

博主头像 在C#中调用C++动态库导出的函数时,有时候需要封送一些复杂的数据结构,这时候不确定自己封送的数据的内存布局对不对,就想要弄个简单的C++项目模拟一下被调用的接口,检查一下C#的数据封送是否正确。 因为对C++项目基本上没任何了解,捣鼓了半天才搞定,所以这里简单记录一下过程,以加深记忆。 1. 首先 ...

文件读写的几种协议

博主头像 项目背景: 我们系统涉及多个站点,最初文件写入本地磁盘,后来使用文件服务器,但是有部分客户认为smb的高位端口445 135-139开放 共享文件的方式不足够安全。 由于文件写入的入口较多,考虑使用文件同步工具进行两台机器进行文件同步比如(微力同步) 1、原始SMB 共享文件夹方式 因为使用的c# ...

共享内存和信号结合练习

博主头像 设计三个程序,三个程序申请一块共享内存,并分别映射到各自进程的地址空间,进程A和进程B对共享内存段中的数据进行修改,然后进程B不断输出共享内存段中的数据,实现进程间的互斥,避免竞争。 /********************************************************* ...

信号练习

博主头像 /******************************************************************************* * * 设计两个程序,A执行死循环,B程序给发送一个结束信号给程序A,当程序A接收到信号之后则执行相应的任务。 * author:jind ...

有名管道练习

博主头像 /******************************************************************************** * * 在主程序中创建一个子程序,并在父进程中获取系统时间,并写入管道,子程序从管道中读取数据 * author:jindouliu20 ...

线程安全集合 --- Concurrent

博主头像 引言 最近看一些代码的时候,发现有人用 System.Collections.Concurrent 下的 BlockingCollection 很便利的实现了生产者 - 消费者模式,这是之前没有注意到的,之前只关注过 ConcurrentQueue<T> 、ConcurrentStack<T> 或 ...

Linux系列:如何用perf跟踪.NET程序的mmap泄露

博主头像 一:背景 1. 讲故事 如何跟踪.NET程序的mmap泄露,这个问题困扰了我差不多一年的时间,即使在官方的github库中也找不到切实可行的方案,更多海外大佬只是推荐valgrind这款工具,但这款工具底层原理是利用模拟器,它的地址都是虚拟出来的,你无法对valgrind 监控的程序抓dump,并且 ...

C# 中 WebSocket 与 SignalR:实时通信的两种选择

博主头像 在现代 Web 应用中,实时通信变得越来越重要。无论是聊天应用、在线游戏、股票行情推送还是协作编辑工具,都需要服务器能够主动向客户端推送数据。在 .NET 生态系统中,WebSocket 和 SignalR 是实现这一功能的两个主要方案。 本文将对这两种技术进行比较,分析它们的异同点和使用场景,并提 ...

一个功能丰富的 .NET 工具库 XiHan.Framework.Utils

博主头像 概述 XiHan.Framework.Utils 是一个功能丰富的 .NET 工具库,涵盖了开发中常用的字符串处理、集合扩展、加密解密、分布式ID、文件IO、反射、缓存、线程、系统工具、国际化、网络、硬件信息、异常、数据过滤、Linq扩展等模块。 本库以高内聚、低耦合为设计理念,适用于各类 .NET ...

管道

博主头像 进程间通信指的是进程之间的信息交换,进程间通信的方式有很多,比如管道通信、信号通信、共享内存、消息队列、信号量组、POSIX信号量等。 进程间通信可以达到数据传输、共享资源、控制进程等目的,方便用户对进程进行控制和管理。 管道通信 管道通信采用的是半双工的通信方式,其中管道在Linux系统下也是文件 ...

.net core 中的MemoryCache的详细使用

博主头像 项目搭建了一个基础的框架,实现缓存的AOP拦截,首次查询从数据库获取,再写入缓存,设置过期时间,再次查询数据时从缓存获取。 话不多说我们来上代码实现: 1.定义缓存的接口和实现类 定义缓存接口ICachingProvider和实现类MemoryCaching: /// <summary> /// 简 ...

<123···50>