8 热度

Locked Files When Publishing .NET Core Apps to IIS with WebDeploy

If you still use IIS on a physical box to host Web Applications (as I do) and you're creating .NET Core applications and deploy them via Microsoft's Web Deploy you've likely run into this problem: When you publish the first time everything everything is fine - the app distributes and it properly publishes and starts up fine. However, when you re-publish after the app's been running and you publish again you find that the publish process fails due to locked files. The publish process gets half way through, then fails on one of the dll files as they are sent to the server.

收录时间: 2021-06-22
分类: .NET Core
贡献者: Rector
14 热度

十七、.net core(.NET 6)搭建基于Quartz组件的定时调度任务

.NET Core(.NET 6)搭建基于Quartz组件的定时调度任务

收录时间: 2021-06-21
分类: .NET Core
贡献者: Rector
28 热度

.Net Core with 微服务 - Consul 注册中心

上一次我们介绍了 Ocelot 网关的基本用法。这次我们开始介绍服务注册发现组件 Consul 的简单使用方法。服务注册发现首先先让我们回顾下服务注册发现的概念。在实施微服务之后,我们的调用都变成了服务间的调用。服务间调用需要知道IP、端口等信息。再没有微服务之前,我们的调用信息一般都是写死在调用方的配置文件里(当然这话不绝对,有些公司会把这些信息写到数据库等公共的地方,以方便维护)。又由于业务的复杂,每个服务可能依赖N个其他服务,如果某个服务的IP,端口等信息发生变更,那么所有依赖该服务的服务的配置文件都要去修改,这样显然太麻烦了。有些服务为了负载是有个多个实例的,而且可能是随时会调整实例的...

收录时间: 2021-06-18
分类: .NET Core
贡献者: Rector
28 热度

Quick Noda Time Conversions

Noda time makes working with timezones, well not a snap but better than dental surgery. A TzDB timezone is one that looks like America/Edmonton or, one might presume Mars/OlympusMons...

收录时间: 2021-06-18
分类: .NET Core
贡献者: Rector
52 热度

WinUI 3学习笔记(1)—— First Desktop App

随着Visual Studio 2019 16.10版本的正式发布,创建WinUI 3的APP对我们来说,已不存在任何的难度。本篇我们就试着来一探究竟,看看WinUI 3 APP到底是个啥玩意,能不能重振Windows桌面开发。 首先让我们把Visual Studio更新到16.10版本,16.10版本不仅全面支持热重载、实时可视化树和实时属性资源管理器。同时也不再需要修改Project文件,以修正 .NET SDK 和 winrt.runtime.dll 的版本不匹配的问题。

收录时间: 2021-06-16
分类: .NET Core
贡献者: Rector
49 热度

.NET Core 服务在 ARM64 服务器中的部署

Linux 服务器 CPU 架构主要可分为:X86_64/AMD64、ARM64/AARCH64 两大类,大多情况使用的都是基于 AMD64 CPU 架构的服务器。但随着国产操作系统、CPU 等自主生态打造的应用产品得到越来越多的用户认可和应用,如:华为鲲鹏、统信 UOS 这类服务器不断被采购使用,而它们均有采用 ARM64 CPU 架构,所以 .NET 程序如果需要在更多的国产服务器中运行,适配 ARM64 CPU 架构将是开始的第一步。 本文的介绍并不是一个简单的 Demo 示例,而是基于一个较大项目适配 ARM64 架构改造的经验分享。

收录时间: 2021-06-11
分类: .NET Core
贡献者: Rector
AD 友情赞助
63 热度

.Net RabbitMQ实战指南——客户端开发

开发中关键的Class和Interface有Channel、Connection、ConnectionFactory、Consumer等,与RabbitMQ相关的开发工作,基本上是围绕Connection和Channel这两个类展开的。连接RabbitMQ一个Connection可以创建多个Channel实例,但Channel实例不能在线程间共享,应用程序应该为每一个线程开辟一个Channel。 Channel或者Connection中有个isOpen方法可以用来检测其是否已处于开启状态。但并不推荐使用,这个方法的返回值依赖于shutdownCause的存在,有可能会产生竞争。更多的是捕获Sh...

收录时间: 2021-06-07
分类: .NET Core
贡献者: Rector
62 热度

.NET Core HttpClient请求异常详细情况分析

最近项目上每天间断性捕获到HttpClient请求异常,感觉有点奇怪,于是乎观察了两三天,通过日志以及对接方沟通确认等等,查看对应版本源码,尝试添加部分配置发布后,观察十几小时暂无异常情况出现,貌似问题已得到解决,若有后续继续更新。HttpClient来源:netstandard2.0异常问题场景:将相关厂家地磁设备(停车进出场)推送数据,转发至对接方。最近一个星期经过观察会出现两种异常情况,一种是请求连接操作被取消,另外一种则是请求处理过程中操作被取消,具体异常信息请见如下图 我们知道HttpClient默认超时时间为100s,但项目默认设置请求超时时间为30s,初次分析异常情况来看,请...

收录时间: 2021-06-07
分类: .NET Core
贡献者: Rector
62 热度

.Net Core with 微服务 - Ocelot 网关

上一次我们通过一张架构图(.Net Core with 微服务 - 架构图)来讲述了微服务的结构,分层等内容。从现在开始我们开始慢慢搭建一个最简单的微服务架构。这次我们先用几个简单的 web api 项目以及 ocelot 网关项目来演示下网关是如何配置,如何工作的。

收录时间: 2021-06-04
分类: .NET Core
贡献者: Rector
51 热度

通过Dapr实现一个简单的基于.net的微服务电商系统(十六)——dapr+sentinel中间件实现服务保护

dapr目前更新到了1.2版本,在之前4月份的时候来自阿里的开发工程师发起了一个dapr集成Alibaba Sentinel的提案,很快被社区加入到了1.2的里程碑中并且在1.2 release 相关升级文档里可以看到已经实现了对Alibaba Sentinel的支持。今天我们就讲讲我们如何通过Sentinel实现对我们接口的保护。

收录时间: 2021-06-04
分类: .NET Core
贡献者: Rector
73 热度

.NET平台系列12 .NET未来之开源.NET Core

微软于2014年11月推出了.NET Core 1.0。.NET Core的目标是从我们在过去12年中对.NET Framework的构建、交付和服务的经验中吸取教训,并开发出的更好的产品。这些改进的一些例子包括并行安装(可以安装新版本,而不必担心破坏现有应用程序)、自包含应用程序(应用程序可以嵌入.NET,因此.NET不需要在计算机上安装),而不是Windows操作系统的一个组件(.NET发布独立于操作系统时间表的新版本)等等。在此基础上,我们使.NET Core开源和跨平台。

收录时间: 2021-06-02
分类: .NET Core
贡献者: Rector
65 热度

.NET平台系列8 .NET Core 各版本新功能

.NET Core 自2016年6月27日发布第一个正式版本以来,它主打的跨平台和高性能特效吸引了许多开发者,包括Java、PHP等语言的开发者。.NET Core 1.0功能不是很多,稳定性也不是很优秀。2017年8月14日微软发布.NET Core 2.0正式版,有很多个人开发者与企业尝试着将其应用到生产环境中,反馈非常不错。发展至今(2021年5月18日),微软已发布了几个重大的版本。每个版本都解决了前一版本的bug、优化了性能、增加了许多新的特性与功能。 .NET Core 1.0 .NET Core 1.0 于 2016年6月发布...

收录时间: 2021-05-26
分类: .NET Core
贡献者: Rector
66 热度

通过Dapr实现一个简单的基于.net的微服务电商系统(十三)——istio+dapr构建多运行时服务网格之生产环境部署

之前所有的演示都是在docker for windows上进行部署的,没有真正模拟生产环境,今天我们模拟真实环境在公有云上用linux操作如何实现istio+dapr+电商demo的部署。目录:一、通过Dapr实现一个简单的基于.net的微服务电商系统;二、通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架讲解;三、通过Dapr实现一个简单的基于.net的微服务电商系统(三)——一步一步教你如何撸Dapr;四、通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布;五、通过Dapr实现一个简单的基于.net的微服务电商...

收录时间: 2021-05-26
分类: .NET Core
贡献者: Rector
67 热度

How to use MediatR Pipeline Behaviours

In this post I will introduce one of my favourite features of MediatR that really makes it worthwhile using it to implement the Mediator pattern. This post will also start to tie up one of the loose ends which I started discussing in Implementing logging in .net core applications for logging, telemetry and your own sanity before veering off in what may at first seem like wild tangents in discussing Implementing logging with Serilog and Implement log monitoring with Seq and Serilog in .net Core . These were important aspects to discuss because as you’ll discover in this article it suddenly all comes together, to help build software applications!

收录时间: 2021-05-25
分类: .NET Core
贡献者: Rector
80 热度

通过Dapr实现一个简单的基于.net的微服务电商系统(十二)——istio+dapr构建多运行时服务网格

多运行时是一个非常新的概念。在 2020 年,Bilgin Ibryam 提出了 Multi-Runtime(多运行时)的理念,对基于 Sidecar 模式的各种产品形态进行了实践总结和理论升华。那到底什么是多运行时呢?首先还是得从分布式应用的四大类基本需求讲起。简单来讲任何分布式应用都存在的四大类基本需求:1、生命周期:包括部署,健康检查,水平扩展,配置管理等,目前这些需求的最佳实践,都陆续在 kubernetes 上有了落地。2、网络:网络方面的需求 是 service Mesh 的主战场,比如 istio 可以满足这里绝大部分需求,除了 pub/sub。3、状态:包括数据的读写,状态其实...

收录时间: 2021-05-24
分类: .NET Core
贡献者: Rector
AD 友情赞助
55 热度

EventSource的自定义实现

前面两篇文章都介绍了.NET Core 性能诊断工具,其中诊断工具都用到了EventCounters来实时的收集服务器性能指标。那么收集指标能否自己定义呢?一、What's EventCounters ?EventCounters 是一些 .NET Core API,用于轻量级、跨平台、准实时性能指标收集。 EventCounters 添加为 Windows 上的 .NET 框架的“性能计数器”的跨平台替代。EventCounters 作为 EventSource 的一部分实时自动定期推送到侦听器工具。 与 EventSource 上所有其他事件一样,可以通过 EventListener...

收录时间: 2021-05-24
分类: .NET Core
贡献者: Rector
117 热度

.Net Core with 微服务 - 架构图

上一次我们简单介绍了什么是微服务(.NET Core with 微服务 - 什么是微服务 )。介绍了微服务的来龙去脉,一些基础性的概念。有大佬在评论区指出说这根本不是微服务。由于本人的能力有限,大概也只能理解到这个层次。先不管它到底是不是微服务吧,既然开篇了,那就硬着头皮把这个系列写完。我想不管是对自己对看官多少还是有点帮助的。

收录时间: 2021-05-21
分类: .NET Core
贡献者: Rector
89 热度

通过Dapr实现一个简单的基于.net的微服务电商系统(十一)——一步一步教你如何撸Dapr之自动扩/缩容

上一篇我们讲到了dapr提供的bindings,通过绑定可以让我们的程序轻装上阵,在极端情况下几乎不需要集成任何sdk,仅需要通过httpclient+text.json即可完成对外部组件的调用,这样只需要对外暴露一个轻量级的http服务器提供restapi即可作为一个云函数提供对外服务。上一篇我们同时也提到了在serverless框架下的函数还可以按需进行自动扩容缩容的,在极端情况下甚至可以将实例缩容至0,理想情况下serverless在无人访问时不占用系统除磁盘外的任何资源,当有访问时通过自动化扩容快速启动应用实例提供服务,当请求增多/减少时又相应的进行自动化扩容/缩容,当请求完全没有时再次缩容到0。那今天我们就看看我们如何通过dapr+prometheus+keda来实现一套自动化扩容缩容吧。

收录时间: 2021-05-19
分类: .NET Core
贡献者: Rector
76 热度

.NET Core 服务诊断工具

前一篇文中介绍了.NET Core-全局性能诊断工具 的使用方法,那么接下来自己实现一个简单.NET Core的诊断工具。该工具主要包括:.NET Core 程序进程信息查看、性能计数器结果获取、Dump抓取、Trace 文件生成等一些基本功能。本文主要采用:Microsoft.Diagnostics.NETCore.Client 库来实现相关功能...

收录时间: 2021-05-17
分类: .NET Core
贡献者: Rector
117 热度

NetCore3.1及Vue开发通用RBAC前后端通用框架

该框架是本人学习过程中本着只有自己动手操作一遍才能真正理解,和遇到对应问题并解决问题的思路。和为了能在开发相应系统时能快速搭建出相关框架而做出的基于NetCore3.1+Vue的RBAC通用权限框架。只有在敲的过程中才能遇见细节上的问题,成长无非就是发现问题、思考问题、解决问题、总结沉淀,后面才能去规避和提高代码质量。如有发现什么错误,请联系我,将第一时间改正。互相学习,共同进步。

收录时间: 2021-05-17
分类: .NET Core
贡献者: Rector
AD 友情赞助