143 热度

.NET 三个字母究竟应该如何大小写?前面的 “.” 什么时候能够去掉?(.NET Standard / dotnet-core / net472)

.NET 在技术文档中如果你阅读过 https://docs.microsoft.com/zh-cn/dotnet/中的多数 .NET 技术文档,你应该几乎已经注意到了,在所有对大小写敏感的地方,NET 三个字母都是大写的。“.NET” 是 .NET 技术栈名称的最官方写法了,如果能写出 “.NET” 且不会产生其他问题的地方,都应该使用 “.NET”。首先映入眼帘的,便是 .NE...

收录时间: 2019-02-26
分类: .NET
贡献者: Rector
131 热度

.NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化

最近我大幅度重构了我一个库的项目结构,使之使用最新的项目文件格式(基于 Microsoft.NET.Sdk)并使用 SourceYard 源码包来打包其中的一些公共代码。不过,最终生成了一个新的 dll 之后却心有余悸,不知道我是否删除或者修改了某些 API,是否可能导致我原有库的使用者出现意料之外的兼容性问题。另外,准备为一个产品级项目更新某个依赖库,...

收录时间: 2019-02-25
分类: .NET
贡献者: Rector
123 热度

Optimized hierarchy traverser | Gunnar Peipman - Programming Blog

My first draft of hierarchy traversing component got some serious feedback and it’s time to make some changes before moving on to next challenges. Hierarchy traverser is not optimal yet as it uses tail-call recursion and it’s easy to run to stack overflow with it. This blog post solves this problem and prepares for next challenges like node cache and continue-from-given-node.

收录时间: 2019-02-25
分类: .NET
贡献者: Rector
134 热度

使用 Task.Wait()?立刻死锁(deadlock)

什么情况下会产生死锁?调用 Task.Wait() 或者 Task.Result 立刻产生死锁的充分条件:调用 Wait() 或 Result 的代码位于 UI 线程;Task 的实际执行在其他线程,且需要返回 UI 线程。死锁的原因:UWP、WPF、Windows Forms 程序的 UI 线程都是单线程的。为了让使用了 async/await 的代码像使用同步代码一样简单,WPF 程序...

收录时间: 2019-02-22
分类: .NET
贡献者: Rector
128 热度

.NET 中创建支持集合初始化器的类型

对象初始化器和集合初始化器只是语法糖,但是能让你的代码看起来更加清晰。至少能让对象初始化的代码和其他业务执行的代码分开,可读性会好一些。 本文将编写一个类型,可以使用集合初始化器构造这个类型。不只是添加元素的集合初始化器,还有带索引的集合初始化器。

收录时间: 2019-02-22
分类: .NET
贡献者: Rector
134 热度

.Net 事件总线之Autofac解耦

事件总线是通过一个中间服务,剥离了常规事件的发布与订阅(消费)强依赖关系的一种技术实现。事件总线的基础知识可参考圣杰的博客【事件总线知多少】本片博客不再详细概述事件总线基础知识,核心点放置使用Autofac组件实现事件总线与事件事件处理对象的解耦,并在实际业务场景中使用事件总线解决需求。案例需求这里还是先面向业务来针对性的探究下事件总线在实际业务场景里的用处有多大,再来讲解后续的Autof...

收录时间: 2019-02-20
分类: .NET
贡献者: Rector
AD 友情赞助
185 热度

响应式编程知多少 | Rx.NET 了解下

这是一篇介绍如何基于Rx.NET进行响应式编程,进而开发更加灵活、松耦合、可伸缩的响应式系统的文章,摘要: An API for asynchronous programming with observable streams. ReactiveX is a combination of the best ideas from the Observer pattern, the Iterator pattern, and functional programming. ReactiveX 使用可观察数据流进行异步编程的API。 ReactiveX结合了观察者模式、迭代器模式和函数式编程的精华。

收录时间: 2019-02-19
分类: .NET
贡献者: Rector
184 热度

编写高性能.NET程序-《Concurrency in .NET》(1)- 为什么要读这本书?

最近广州.NET微软技术俱乐部对如何编写高性能.NET程序发起了讨论。 首先是在ORM和SQL方面进行了讨论,主题当然是经久不衰的月经贴: EF性能很差.Edi.Wang专门写了一篇文章 说明了只要正确使用EF, 性能并不差.我自己用EF十年了, 也没有感觉到EF性能差. 我的解决方法是把EF最常见性能瓶颈,比如记录日志进行优化. 之前是异步记录...

收录时间: 2019-02-16
分类: .NET
贡献者: Rector
464 热度

迄今为止 .Net 平台功能最强大,性能最佳的 JSON 序列化和反序列化库

Swifter.Json这是迄今为止 .Net 平台功能最强大,性能最佳的 JSON 序列化和反序列化库。Github : https://github.com/Dogwei/Swifter.Json之所以说强大,因为这些功能其他框架没有!(1): 支持深度复杂的对象结构且易于使用。(2): 用 $ref 表示重复和循环引用的序列化和反序列化。(3): 目前唯一支持 ref 属性的 JSON 库。...

收录时间: 2019-02-14
分类: .NET
贡献者: Rector
170 热度

浅谈 .NET 中的对象引用、非托管指针和托管指针

前言本文主要是以 C# 为例介绍 .NET 中的三种指针类型(本文不包含对于函数指针的介绍):对象引用、非托管指针 、托管指针。学习是一个不断深化理解的过程,借此博客,把自己关于 .NET 中指针相关的理解和大家一起讨论一下,若有表述不清楚,理解不正确之处,还请大家批评指正。开始话题之前,我们不妨先对一些概念作出定义。变量:给存储单元指定名称、即定义内存单元的名称或者说是标识。指针...

收录时间: 2019-02-12
分类: .NET
贡献者: Rector
203 热度

还在用NuGet吗?大哥FuGet了解一下

前言你可能不知道是,NuGet已经发布10年了,从 Visual Studio 2010 第一次官方集成NuGet以来,这10年间有聚集了超过 14万 的包,这些包有超过 150万 的版本提供,大约有 155亿 的总下载量。以上可见,NuGet对于我们日常开发的重要性,我们已经离不开它了。每个人都知道 NuGet,但是有人知道它的大哥 FuGet吗? 你没看错,不是 MyGet 是 FuG...

收录时间: 2019-02-01
分类: .NET
贡献者: Rector
183 热度

基于.Net进行前端开发的技术栈发展路线(三)

前言上一篇《我的技能树二》文章分享了我的技能中的前端技能和Java技能,今天继续跟大家分享的就是后端技能了。我的技能树我当前的技能树:其中,标注为黄色旗帜的是基本掌握,标注为红色旗帜的为使用熟练。未标注的只是了解。数据库数据库数据库是信息化系统编程的基础。因为我一直是做信息化系统的,所以这一块比较熟悉。最初熟悉的数据库是基于PB开发的Sybase,SQL A...

收录时间: 2019-01-30
分类: .NET
贡献者: Rector
212 热度

Quartz.NET 3.0.7 + MySql 实现动态调度作业+动态切换版本+多作业引用同一程序集不同版本+持久化+集群(二)

Quartz.NET 3.0.7 + MySql 实现动态调度作业+动态切换版本+多作业引用同一程序集不同版本+持久化+集群(一)上篇文章搞定了第一个功能.1.利用反射动态创建Job;2.调度服务如何知道有新的任务来了?是调度服务轮询数据库?还是管理后台通知调度服务?又或者远程代理?3.需要一个管理后台,提供启动,暂停,恢复,停止等功能;4.至于集群,Quartz.NET 本身...

收录时间: 2019-01-28
分类: .NET
贡献者: Rector
195 热度

Spire高效稳定的.NET组件

Spire高效稳定的.NET组件。 NPOI、DocX、Epplus……这些开源且免费的优秀组件,大家应该是耳熟能详的,而Spire是一款企业级的收费组件,Spire.PDF for .NET 是一个专业的PDF组件,用于在.NET应用程序中创建,编写,编辑,处理和阅读PDF文件,功能十分丰富………… 提取关键词:收费、稳定、高效 具体我不再过多的啰嗦了,详细我推荐看这篇《 高效而稳定的企业级.NET Office 组件Spire(.NET组件介绍之二)》

收录时间: 2019-01-22
分类: .NET
贡献者: Rector
270 热度

微软上线新平台 Try .NET,在线运行 .NET 代码

 微软近日上线了一个新平台——Try .NET,该平台可以让开发者在线上编写并运行 .NET 代码。微软介绍,Try .NET 是一个可嵌入的代码运行器,不仅可以直接在线上对自己或者他人的代码进行编辑、测试与运行,还可以将代码以片段的形式嵌入到博客或者文档中,此外它还支持与已有开发工具集成,比如嵌入并运行 GitHub Gi...

收录时间: 2019-01-14
分类: .NET
贡献者: Rector
AD 友情赞助
246 热度

.NET的关于人脸识别引擎分享(C#)

最近在Github上找合适的人脸识别引擎,想要本地化用,不用开放的一些API(比如腾讯AI、百度AI),有些场景联不了网,一开始搜索的是时候(关键字:face recognition)就找到了最出名的face_recognition,star将近两万个,大佬级别的项目,一看开发语言python,调用的库是Dlib,本想着要不下载下来玩玩,奈何python的水平一般,包装水平太烂。后来再一阵寻找,略...

收录时间: 2019-01-10
分类: .NET
贡献者: Rector
233 热度

多线程使用~会多少?

前言多线程就是允许复杂的应用程序在同一时刻执行多项任务,.NET FrameWork的托管编码环境提供了一个完整而强大的线程模型,该模型允许编程人员精确控制在一个线程中的内容,线程何时退出,以及它访问多少数据。本文将要介绍什么时候用到线程、如何使用、遇到的坑。什么时候使用线程   实际上,所有的程序都是在线程中执行的,所以理解.NET 和 Windows 如何执行线程,将有助于理解程序...

收录时间: 2019-01-07
分类: .NET
贡献者: Rector
215 热度

Elasticsearch, Kibana and Docker using .NET Standard 2

In this article, you'll learn how to set up a development environment to use Elasticsearch and Kibana with logging purposes. During this process, you will use Docker, very basic usage, and you will learn, also, how easy it is to use .NET Standard libraries within our Windows Classic Desktop Applications.

收录时间: 2019-01-02
分类: .NET
贡献者: Rector
200 热度

Quartz.Net进阶之六:详述 JobStores

一、介绍 今天开始学习 JobStore,别的先不说,也不用翻译软件来翻译,直接从字面意思看来理解一下。我第一眼的感觉就是 job 是任务的意思,Store 是商店的意思,连起来就是可以存储 Job 的商店,或者说专门用来存储 Job 的容器。废话少说,开始我们今天的学习吧。 二、详述 JobStore JobStore 负责跟踪您为调度程序提供的所有“工作数据”:任务,触发器,日历等。为 Quartz 调度程序实例选择适当的IJobStore实现是一个重要的步骤。 幸运的是,一旦你理解了它们之间的差异,选择应该是一个非常简单的选择。 在向 SchedulerFactory 提供的用于生成调度器实例的属性文件(或对象)中声明调度器应该使用哪个 JobStore(及其配置设置)。 切勿在代码中直接使用 JobStore 实例。 出于某种原因,许多人试图这样做。 JobStore 用于Quartz本身的幕后使用。 您必须告诉 Quartz(通过配置)使用哪个 JobStore,但是您应该只使用代码中的Scheduler接口。

收录时间: 2019-01-02
分类: .NET
贡献者: Rector
228 热度

Quartz.Net进阶之五:TriggerListener 、JobListener 和 SchedulerListener

Quartz.Net进阶之五:TriggerListener 、JobListener 和 SchedulerListener        一、介绍            今天开始学习监听器,就是 Listener,在Quartz.Net 中,主要包含3类的监听器,主要内容包括:TriggerListener 、JobListener 和 SchedulerListener 这三个东东的内容,这...

收录时间: 2018-12-29
分类: .NET
贡献者: Rector
AD 友情赞助