461 热度

线程(thread)

线程概述线程是一个独立处理的执行路径。每个线程都运行在一个操作系统进程中,这个进程是程序执行的独立环境。在单线程中进程的独立环境内只有一个线程运行,所以该线程具有独立使用进程资源的权利。在多线程程序中,在进程中有多个线程运行,所以它们共享同一个执行环境。 基础线程(thread)使用Thread类可以创建和控制线程,定义在System.Threading命名空间中:1 clas...

收录时间: 2018-07-24
分类: .NET
贡献者: Rector
490 热度

Advisory on July 2018 .NET Framework Updates

The July 2018 Security and Quality Rollup updates for .NET Frameworkwas released earlier this month. We have received multiple customer reports of applications that fail to start or don’t run correctl...

收录时间: 2018-07-22
分类: .NET
贡献者: Rector
460 热度

Roslyn 如何基于 Microsoft.NET.Sdk 制作源代码包

先来告诉大家做这个包的目的,如果是使用分开很多项目,一个项目会创建一个 dll ,在客户端的软件,用户很希望软件点击就打开。但是如果 dll 多了,读取dll文件的时间,加上加载 dll 的时间就会很长,这时用户就需要等待软件启动的时间就比较长。但是从软件开发的功能,不同的功能应该使用不同的项目,这样才可以尽可能复用代码。为了让项目可以分细,而且减少创建的 dll 库,就需要使用本文的技术。 ...

收录时间: 2018-07-21
分类: .NET
贡献者: Rector
514 热度

理解 Roslyn 中的红绿树(Red-Green Trees)

红绿树的影子如果你是通过搜索找到这篇文章的,那么至少证明你调试过 Roslyn API 的使用,或者阅读过 Roslyn 的源码。因为正常使用 Roslyn 的 API 时你是看不到红绿树的,这是 Roslyn 的实现细节。但你在调试的时候可能会看到 Green 属性,或者在阅读源码时看到 GetRed 方法。▲ 调试时看到的绿树protected T GetRed(ref T ...

收录时间: 2018-07-19
分类: .NET
贡献者: Rector
482 热度

基于.net standard 的动态编译实现

在前文[基于.net core 微服务的另类实现]结尾处,提到了如何方便自动的生成微服务的客户端代理,使对于调用方透明,同时将枯燥的东西使用框架集成,以提高使用便捷性。在尝试了基于 Emit 中间语言后,最终决定使用生成代码片段然后动态编译的模式实现。背景:其一在前文中,我们通过框架实现了微服务面向使用者的透明调用,但是需要为每个服务写一个客户端代理,显得异常繁琐,其二项目中前端站点使用了传统...

收录时间: 2018-07-19
分类: .NET
贡献者: Rector
423 热度

基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势)

前言前几天对Apollo配置中心的demo进行一个部署试用,现公司已决定使用,这两天进行分布式部署的时候,每一步都踩着坑过来的。因此写文档与需要的朋友分享。此篇文章不代表官方部署流程,只是自己的部署的实践方式,屏蔽了一些官方的多余的部署讲解。如果有问题还请到Apollo的wiki文档进行查看:https://github.com/ctripcorp/apollo/wiki/%E5%88%86%...

收录时间: 2018-07-19
分类: .NET
贡献者: Rector
AD 友情赞助
567 热度

不要让你程序暴露在Risk中! 使用Dotfuscator混淆你的.net程序

简介 众所周知C#等net框架的程序是无法防止反编译的,但可以通过混淆,让反编译出来的代码非常难看. Dotfuscator是微软推荐使用的第三方混淆器,用来保护你的net程序.可以在安装VS的时候顺带安装它,也可以从官网下载到独立安装包. 官网 本文将简单的测试它的效果,并记录测试过程 首先写段代码用来测试 新建个winform工程,添加个定时器,设为100毫秒触发一次:

收录时间: 2018-07-19
分类: .NET
贡献者: Rector
460 热度

Roslyn 语法树中的各种语法节点及每个节点的含义

使用 Roslyn 进行源码分析时,我们会对很多不同种类的语法节点进行分析。如果能够一次性了解到各种不同种类的语法节点,并明白其含义和结构,那么在源码分析的过程中将会更加得心应手。 本文将介绍 Roslyn 中各种不同的语法节点、每个节点的含义,以及这些节点之间的关系和语法树结构。

收录时间: 2018-07-19
分类: .NET
贡献者: Rector
461 热度

事件(event)

事件概述委托是一种类型可以被实例化,而事件可以看作将多播委托进行封装的一个对象成员(简化委托调用列表增加和删除方法)但并非特殊的委托,保护订阅互不影响。 基础事件(event)在.Net中声明事件使用关键词event,使用也非常简单在委托(delegate)前面加上event:

收录时间: 2018-07-18
分类: .NET
贡献者: Rector
503 热度

dotnet Framework 源代码 类库的意思

下面列出来 dotnet framework 源代码的各个类库的作用。SystemSystem 命名空间包含基本类和基类,这些类定义常用的值和引用数据类型、事件和事件处理程序、接口、属性和异常处理。System.ActivitiesSystem.Activities 命名空间包含在 Window Workflow Foundation 中创建和处理活动所需要的所有类。System.Ad...

收录时间: 2018-07-17
分类: .NET
贡献者: Rector
452 热度

温故之.NET进程间通信——内存映射文件

上一篇技术文章中,我们讲解了进程间通信中的管道通信方式,这只是多种进程间通信方式中的一种,这篇文章我们回顾一下另一种进程间通信的方式——内存映射文件 基础概念 Windows 提供了 3 种进行内存管理的方法: 虚拟内存:适合用来管理大型对象或结构数组 内存映射文件:适合用来管理大型数据流(通常来自文件),也适合在单机上多个进程(运行着的进程)之间共享数据 内存堆栈:适合用来管理大量的小对象

收录时间: 2018-07-17
分类: .NET
贡献者: Rector
505 热度

针对 ElasticSearch .Net 客户端的一些封装

针对 ElasticSearch .Net 客户端的一些封装        ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便...

收录时间: 2018-07-17
分类: .NET
贡献者: Rector
416 热度

Creating a Throttle with ActionBlock

We have an application that needs to perform a repetitive task on many external services and record then aggregate the results. As the system has grown the number of external systems has increased which causes some issues as we originally just created a number of tasks and waited on them all completing. This overwhelmed various things as all these tasks were launched near simultaneously. We needed a way to throttle each task, so we used an ActionBlock, part of the Task Parallel Library’s System.Threading.Tasks.Dataflow package.

收录时间: 2018-07-17
分类: .NET
贡献者: Rector
1041 热度

IIS自动申请部署免费SSL证书服务

我用的IIS部署过HTTPS,原本使用的阿里云的SSL证书申请系统,该系统可以申请到一个1年期的Symantec免费版SSL证书,前几天证书到期了,然后去阿里云后台申请新的SSL证书,结果都过去一周时间,证书状态还是“审核中”,现在SSL证书都过期了,系统还没审核完,一怒之下开始研究去其他平台申请SSL证书。   上网研究了一下,发现其实IIS可以实现很简单的部署SSL证书,有一个免费的SSL证...

收录时间: 2018-07-16
分类: .NET
贡献者: Rector
459 热度

EPPlus Excel Template Report Engine

As anyone who as worked in corporate environments knows, is that they love their Excel reports with logos, formatting and formulas, which is in all honesty probably the best way to present data to "higher uppers". Recently I was helping a client upgrade an old .net 2 code base and in it there was an ActiveX component which created Excel reports from templates. Since this component was out of support and forced the app to be x86 (which limits the available memory it can use) and we wanted to become "any cpu" and use more memory, so we needed a replacement. This library is based on the great EPPlus found here : https://github.com/JanKallman/EPPlus

收录时间: 2018-07-16
分类: .NET
贡献者: Rector
AD 友情赞助
396 热度

A Super-Simplified Explanation of .NET Garbage Collection

This article is super-simplified, look at .NET garbage collection, with loads of intentional technical omissions. It aims to provide a baseline level of understanding that a typical C# developer realistically needs for their day-to-day work. Garbage collection is so often at the root (excuse the pun) of many performance problems, very often because of misunderstanding, so please do set aside time to deepen your understanding after reading this. This article is super-simplified, look at .NET garbage collection, with loads of intentional technical omissions. It aims to provide a baseline level of understanding that a typical C# developer realistically needs for their day-to-day work. I certainly won’t add complexity by mentioning the stack, value types, boxing, etc.

收录时间: 2018-07-16
分类: .NET
贡献者: Rector
456 热度

Music Notation in .NET

This article briefly describes the most important basics of the library Manufaktura.Controls which I recently released as Open Source project. The project is a continuation of two other projects which I created eight years ago and which are described in the following articles:

收录时间: 2018-07-16
分类: .NET
贡献者: Rector
411 热度

A Super-Simplified Explanation of .NET Garbage Collection

Garbage collection is so often at the root (excuse the pun) of many performance problems, very often because of misunderstanding, so please do set aside time to deepen your understanding after reading this. This article is a super-simplified, look at .NET garbage collection, with loads of intentional technical omissions. It aims to provide a baseline level of understanding that a typical C# developer realistically needs for their day-to-day work. I certainly won’t add complexity by mentioning the stack, value types, boxing etc.

收录时间: 2018-07-15
分类: .NET
贡献者: Rector
529 热度

LambdaToSql(轻量级ORM) 入门篇 开源项目

为什么开发(背景)最开始使用的是 sqlDbHelper,有微软的,有自己写的。后来开始使用比较成熟的框架开发,使用过一段时间的Hibernate,后期主要使用 Entity FrameWork。发现表越多 业务越复杂后,越不好控制项目,所以慢慢的自己根据业务写了一个小工具,也就是本文说的 LambdaToSql。最开始的功能 主要是准备替代DbHelper的,慢慢的把映射关系加上了,再后来重构了...

收录时间: 2018-07-14
分类: .NET
贡献者: Rector
469 热度

Docker and Azure Kubernetes Service for .NET Developers

Short introductionI planned to write this article some time ago but this topic is so big that I did not how to start and how to collect all valuable details I learned. Finally – Docker and Azure Kub...

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