分类【.net】下的文章
在添加 StackExchange.Redis 1.2.1.0 到项目的时候,编译没有问题,一运行就报错,未能加载文件或程序集“Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文...
Newtonsoft.Json 这个程序集是非常讨厌的,特别是对一些比较老的系统要加新功能的时候,往往会出现引用到多个版本的情况,编译或者运行的过程中会出现 未能加载文件或程序集“Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某...
今天比较郁闷,在win10的 VMWare 虚拟机里,安装了 WMWare Tools 之后,chrome浏览器 会出现提示框显示不全,看不见字的问题,作为主力开发浏览器,出现这种问题真是不能忍。于是又装了一个win7 sp1 的虚拟机,新装的win7没有更新补丁,安装 VS2019 installer 的时候出现闪退。在网上查了一下,这是因为少了两个...
C#中 Dictionary 确实是一个比较好用的字典类,但这个类是线程不安全的,在Web项目中使用是有风险的。坑一、 在Web项目中用做临时数据缓存,在访问并发量上来之后,对 Dictionary 的存取操作会导致 IndexOutOfRangeException。坑二、 在做某个系统服务的过程中,在某个对象的方法内 new 了一个 Dictiona...
上章主要讲排他锁的直接使用方式。但实际当中全部都用锁又太浪费了,或者排他锁粒度太大了,本篇主要介绍下升级锁和原子操作。volatile简单来说volatile关键字是告诉c#编译器和JIT编译器,不对volatile标记的字段做任何的缓存。确保字段读写都是原子操作,最新值。从功能上看起到锁的作用,但它不是锁, 它的原子操作是基于CPU本身的,非阻塞的。...
平常在多线程开发中,总避免不了线程同步。本篇对net多线程中的锁系统做个简单描述。lock、MonitorLock是Monitor语法糖简化写法,Lock在IL会生成Monitor。//======Example 1===== string obj = "helloworld";
lock (obj)
{
...