14 天前 / 高飞
AutoMapper 是一个基于约定的面向对象的映射器,它的功能常用于将一个 input 对象 转成一个不同类型的 output 对象,input 和 output 对象之间的属性可能相同也可能不相同,这一篇我们来一起研究一下 AutoMapper 的一些高级玩法。 安装 AutoMapper 要想在项目中使用 AutoMapper ,需要通过 nuget 引用 AutoMapper 和 AutoMapper.Extensions.Microsoft.DependencyInjection 包,可以通过 Visual Studio 2019 的 NuGet package manager 可视化界面安装 或者 通过 NuGet package manager 命令行工具输入以下命令: Install-PackageAutoMapper Install-Package...
71 天前 / u497927
GitHub is where the world builds softwareMillions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world. Sign up for free
74 天前 / 原装Zigzag
【导读】无论是在我个人博客还是著作中,对于上下文实例池都只是通过大量文字描述来讲解其基本原理,而且也是浅尝辄止,导致我们对其认识仍是一知半解,本文我们摆源码,从源头开始分析 希望通过本文从源码的分析,我们大家都能了解到上注入下文和上下文实例池的区别在哪里,什么时候用上下文,什么时候用上下文实例池 友情提醒:此文略长,若心情烦躁、郁闷,无法静心,可以直接滑至文末总结或另安排时间再详细阅读本文 上下文实例池原理准备工作 上下文实例池和线程池原理从概念来上讲一样,都是可重用,但在原理实现上却有本质区别。
85 天前 / 林选臣
适用于。NET/.NET Core 开发人员的 WinForms 组件 NanUI 发布最新版本了。本文将大概介绍 NanUI 0.8 版的新特性和新功能。发布前感悟 NanUI 自从上一次更新 NanUI 0.7 已经过去大半年,B 站和头条的教学视频也只制作到了第二集。 有朋友悄悄问我是不是发生什么事故我删库跑路了所以那么长时间不更新项目不发布教程,当然,这只是玩笑而已。 实际情况是 NanUI 0.7 基于 ChormiumFX 项目进行开发,刚刚发布 0.7 之后我就发现了框架自生存在有重大 BUG 而且是我没有能力处理的那种。
116 天前 / 高飞
今天,我们深度研究一下 IHttpClientFactory。 一、前言最早,我们是在 Dotnet Framework 中接触到 HttpClient。 HttpClient 给我们提供了与 HTTP 交互的基本方式。但这个 HttpClient 在大量频繁使用时,也会给我们抛出两个大坑:一方面,如果我们频繁创建和释放 HttpClient 实例,会导致 Socket 套接字资源耗尽,原因是因为 Socket 关闭后的 TIME_WAIT 时间。这个问题不展开说,如果需要可以去查 TCP 的生命周期。
124 天前 / BeckJin~
在 Kubernetes 中,Pod 资源的控制器 Deployment、Replicaset、Daemonset 等常用于管理无状态应用,它们所管理的 Pod 对应的 IP、名字,启停顺序等都是随机的,Pod 之间也并不存在任何关联关系。而实际情况下,在应用集群部署时,实例彼此之间可能是需要存在关联关系的(启动顺序、角色),如 MySQL、MongoDB,所以 StatefulSet 就是为了运行有状态服务引入的一种资源类型,StatefulSet 为每个 Pod 维持一个唯一且固定的标识符,必要时还会为其创建专用的存储卷,当 Pod 被重建时,也依然能保持原来的标识符和存储卷。
183 天前 / 高飞
点击上方蓝字"小黑在哪里"关注我吧 Docker-Compose 代码修改 yml file up & down 镜像仓库 前言上一篇【.Net Core in Docker 极简入门(上篇)】讲解了 docker 的一些基本命令和操作,并成功构建了自己的 asp.net core web 应用的镜像,启动容器。本篇继续。 开始上一篇的项目例子非常简单,通常我们的实际项目要复杂的多。项目中会依赖各种组件服务,比如数据库,MQ,缓存等等。这就会涉及到多个容器,如果手动用 docker 命令去一个一个的启动就很麻烦了,那么这时候就可以使用 Docker-Compose 来完成多个容器的管理。
191 天前 / HueiFeng
写在前面微软在更新。Net Core 版本的时候,动作往往很大,使得每次更新版本的时候都得小心翼翼,坑实在是太多。往往是悄咪咪的移除了某项功能或者组件,或者不在支持 XX 方法,这就很花时间去找回需要的东西了,下面是个人在迁移。Net Core WebApi 项目过程中遇到的问题汇总: 开始迁移 1 修改*.csproj 项目文件 netcoreapp2.2 修改为 netcoreapp3.12 修改 Programpublic static void Main(string[] args) { CreateWebHostBuilder(args).Build().Run();}public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebH...
195 天前 / 高飞
Docker 可以说是现在微服务,DevOps 的基础,咱们。Net Core 自然也得上 Docker。.Net Core 发布到 Docker 容器的教程网上也有不少,但是今天还是想来写一写。 你搜。Net core 程序发布到 Docker 网上一般常见的有两种方案: 1、在本地编译成 Dll 文件后通过 SCP 命令或者 WinSCP 等工具上传到服务器上,然后构建 Docker 镜像再运行容器。该方案跟传统的发布很像,麻烦的地方是每次都要打开相关工具往服务器上复制文件。 2、在服务端直接通过 Git 获取最新源代码后编译成 Dll 然后构建 Docker 镜像再运行容器。
211 天前 / BeckJin~
和 Docker 类似,Kubernetes 中也提供了 Volume 来实现数据卷挂载,但 Kubernetes 中 Volume 是基于 Pod,而不是容器,它可被 Pod 中多个容器共享,另外 Kubernetes 中提供比较丰富的 Volume 类型,如:emptyDir、hostPath、nfs、persistentVolumeClaim、downwardAPI、secret、configMap 等,每种类型都有其特点及使用场景。 下面将介绍几种常用 Volume 类型的使用方式,在这之前先在 k8sdemo .NET Core 服务中添加以下两个接口(镜像版本升级为 1.2.0),以方便后面效果演示。
222 天前 / HueiFeng
源宝导读:微软跨平台技术框架—.NET Core 已经日趋成熟,已经具备了支撑大型系统稳定运行的条件。本文将介绍明源云 ERP 平台从。NET Framework 向。NET Core 迁移过程中的实践经验。 一、背景 随着 ERP 的产品线越来越多,业务关联也日益复杂,应用间依赖关系也变得错综复杂,单体架构的弱点日趋明显。19 年初,由于平台底层支持了分应用部署模式,将 ERP 从应用子系统层面进行了切割分离,迈出了从单体架构向微服务架构转型的坚实一步。
239 天前 / 高飞
区块链这么火,咱也跟个风。 一、前言最近,银行总行关于数字货币即将推出的消息频传,把 BTC 也带得来了一波反弹。 借着这个风,我们也研究一下区块链。 通常大家说到区块链,实际包括两部分概念: 第一个概念,就是狭义上的区块链。听起来很高大上又很复杂,但追根到底,它就是一种加密应用。 提起加密,我们脑袋里会显现出:DES、3DES、AES、RSA、DSA、SHA-1、MD5……很多很多。 狭义的区块链,其实就是使用这些加密技术而形成的一种应用。 这个应用又分为两个部分: 区块 区块就是存放数据的一个独立空间。
277 天前 / 高飞
在上一篇《走进 C#并发队列 ConcurrentQueue 的内部世界》中解析了 Framework 下的 ConcurrentQueue 实现原理,经过抛砖引玉,得到了一众大佬的指点,找到了。NET Core 版本下的 ConcurrentQueue 源码,位于以下地址: https://github.com/dotnet/runtime/blob/master/src/libraries/System.Private.CoreLib/src/System/Collections/Concurrent/ConcurrentQueue.cshttps://github.com/dotnet/runtime/blob/master/src/libraries/System.Private.CoreLib/src/System/Collections/Concurrent/ConcurrentQueueSegment.cs 我大致看了一下...
391 天前 / HueiFeng
源宝导读:明源云ERP的底层架构正在向.Net Core跨平台迁移,我们在过程中遇到了部分不兼容的问题。本文将介绍技术团队如何解决.Net Core与已有MVC框架不兼容问题的解决方案。 一、背景 云ERP的建模平台是基于.NET Framework构建的,在向.NET Core迁移的过程中会遇到各种问题,向下兼容是一定要考虑的,框架本身的特性兼容交给微软,但是还有很多的特性可能是旧版建模平台需要支持的特性,比如多参数绑定、服务工厂Controller激活。今天就聊聊在向.NET Core迁移时如何兼容以上两个特性。
437 天前 / 高飞
随着最近.NET Core 3的正式发布,我认为我会尝试一个有趣的小实验。我喜欢使用Electron来创建基于Web的桌面应用程序。我想了解有关Blazor(ASP.NET系列的最新成员)的更多信息。在这篇文章中,我将向您确切演示如何在15分钟内开始使用Blazor和Electron! 先决条件 .NET Core 3.0 SDKNode.js with npm 确保同时安装 .NET Core SDK 和 Node.js(您可以使用 dotnet--version和 node--version检查版本)。我们需要.NET Core 3.0,因为我们将使用dotnet new搭建Blazor应用程序。我们还需要Electron.NET的.NET Core 3.0,该库允许Electron和.NET集成。