使用Roslyn的CSharpScript类运行C#脚本时,会默认包含一部分程序集,默认包含的程序集引用可以直接使用,而其他程序集则需要额外提供引用。本文简单描述了使用Roslyn的CSharpScript类实运行C#脚本时,如何引用程序集。 情景再现 首先创建一个C#类库,代码很简单,提供一个静态 ...
变量的基本概念 变量本身被用来存储特定类型的数据,可以根据需要随时改变变量中所存储的数据值 变量具有名称、类型和值 变量名是变量在程序源代码中的标识 变量类型确定它所代表的内存的大小和类型 变量值是指它所代表的内存块中的数据 在程序执行过程中,变量的值可以发生变化 变量使用之前需要先声明变量,即指定 ...
一:背景 1. 讲故事 前几天训练营里的一位朋友在复习课件的时候,程序一跑就报错,截图如下: 从给出的错误信息看大概是因为json格式无效导致的,在早期的训练营里曾经也有一例这样的报错,最后定位下来是公司的电脑安全软件导致的,一旦有非托管调试器,安全软件就会加密 runtimeconfig.json ...
/********************************************************************************* * * 设计程序,创建三个线程,任务1条件满足时解除任务二的挂起状态,任务3用于控制x的值 * author:jindouliu202 ...
使用条件量可以让不满足条件的线程处于挂起状态,等待条件满足时由别的线程进行唤醒 pthread_cond_init函数 此函数可以对条件量进行初始化 pthread_cond_t cond = PTHREAD_COND_INITIALIZER; int pthread_cond_init(pthre ...
ShadowSql集本人以前为公司内部开发的ORM之众长 再次进化而来,性能更好、更通用 其一、历时3个多月,已经发布了5个大版本9个小版本 在此期间深感做开源项目非常的不易 好在现在本人想要的功能基本都已经开发完成 其二、开源项目功能需要更完整 公司内部项目只要能用就行 其三、开源项目文档要更完善 ...
一:背景 1. 讲故事 这个问题源于给训练营里的一位朋友分析的卡死dump,在分析期间我需要知道某一个异步方法的调用栈,但程序是 .framework 4.8 ,没有sos后续版本独有的 !dumpasync 命令,所以这就比较搞了,但转念一想,既然 !dumpasync 能把调用栈搞出来,按理说我 ...
命名空间 C#程序是利用命名空间组织起来的 命名空间既用作程序的“内部”组织系统,也用作向“外部”公开的组织系统(即一种向其他程序公开自己拥有的程序元素的方法) 如果要调用某个命名空间中的类或者方法,需要首先使用using指令引入命名空间,using指令将命名空间名所标识的命名空间内的类型成员导入当 ...
1.简述 并发通过管理多个任务的执行顺序,确保系统在高负载下仍能保持响应性;并行则利用多处理器或多核心硬件,真正同时执行任务,以加速计算。这两者在高性能计算、实时系统和用户交互应用中发挥着不可替代的作用。 在多核处理器时代,传统串行编程已无法充分利用硬件潜力。并行计算通过将任务分解到多个核心执行,显 ...
.net core workflow流程定义 WikeFlow官网:http://www.wikesoft.com WikeFlow学习版演示地址:http://workflow.wikesoft.com WikeFlow学习版源代码下载:https://gitee.com/wikesoft/Wor ...
using Microsoft.Extensions.DependencyInjection; using System; using System.Linq; using System.Reflection; // 自定义属性来标记服务类型 [AttributeUsage(AttributeTar ...
在C#中调用C++动态库导出的函数时,有时候需要封送一些复杂的数据结构,这时候不确定自己封送的数据的内存布局对不对,就想要弄个简单的C++项目模拟一下被调用的接口,检查一下C#的数据封送是否正确。 因为对C++项目基本上没任何了解,捣鼓了半天才搞定,所以这里简单记录一下过程,以加深记忆。 1. 首先 ...
项目背景: 我们系统涉及多个站点,最初文件写入本地磁盘,后来使用文件服务器,但是有部分客户认为smb的高位端口445 135-139开放 共享文件的方式不足够安全。 由于文件写入的入口较多,考虑使用文件同步工具进行两台机器进行文件同步比如(微力同步) 1、原始SMB 共享文件夹方式 因为使用的c# ...
设计三个程序,三个程序申请一块共享内存,并分别映射到各自进程的地址空间,进程A和进程B对共享内存段中的数据进行修改,然后进程B不断输出共享内存段中的数据,实现进程间的互斥,避免竞争。 /********************************************************* ...
/******************************************************************************* * * 设计两个程序,A执行死循环,B程序给发送一个结束信号给程序A,当程序A接收到信号之后则执行相应的任务。 * author:jind ...
/******************************************************************************** * * 在主程序中创建一个子程序,并在父进程中获取系统时间,并写入管道,子程序从管道中读取数据 * author:jindouliu20 ...
引言 最近看一些代码的时候,发现有人用 System.Collections.Concurrent 下的 BlockingCollection 很便利的实现了生产者 - 消费者模式,这是之前没有注意到的,之前只关注过 ConcurrentQueue<T> 、ConcurrentStack<T> 或 ...
一:背景 1. 讲故事 如何跟踪.NET程序的mmap泄露,这个问题困扰了我差不多一年的时间,即使在官方的github库中也找不到切实可行的方案,更多海外大佬只是推荐valgrind这款工具,但这款工具底层原理是利用模拟器,它的地址都是虚拟出来的,你无法对valgrind 监控的程序抓dump,并且 ...
在现代 Web 应用中,实时通信变得越来越重要。无论是聊天应用、在线游戏、股票行情推送还是协作编辑工具,都需要服务器能够主动向客户端推送数据。在 .NET 生态系统中,WebSocket 和 SignalR 是实现这一功能的两个主要方案。 本文将对这两种技术进行比较,分析它们的异同点和使用场景,并提 ...
1. 我有一个netframework4.8的类库项目,里面提供了一个自定义控件,然后我按照以下方法为控件提供了默认样式 a) 添加Themes\Generic.xaml文件,文件中提供自定义控件的默认样式 <Style TargetType="MyControl"> <Setter Propert ...