博客园 - MyZony
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=188726
2024-03-08T07:30:27Z
MyZony
https://www.cnblogs.com/myzony/
feed.cnblogs.com
https://www.cnblogs.com/myzony/p/18061108/troubleshooting-memory-surge-issues-in-dotnet-core-applications
排查 dotNET Core 程序内存暴涨的问题 - MyZony
0. 问题 新版本上线之后,发现内存猛涨,入站流量猛增,不清楚具体原因,部分接口提示 OOM 异常,随后 Pod 直接崩溃无限重启。 1. 准备 Pod 已经接入了 NewRelic 和 Graylog,但是仍然没有办法找到真正的罪魁祸手,此时只能进入 Pod 容器当中抓取内存 Dump 信息。我们
2024-03-08T07:30:00Z
2024-03-08T07:30:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】0. 问题 新版本上线之后,发现内存猛涨,入站流量猛增,不清楚具体原因,部分接口提示 OOM 异常,随后 Pod 直接崩溃无限重启。 1. 准备 Pod 已经接入了 NewRelic 和 Graylog,但是仍然没有办法找到真正的罪魁祸手,此时只能进入 Pod 容器当中抓取内存 Dump 信息。我们 <a href="https://www.cnblogs.com/myzony/p/18061108/troubleshooting-memory-surge-issues-in-dotnet-core-applications" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/net-5-and-later-httpclient-timeout-issues.html
.NET 5 以后的 HttpClient 超时问题 - MyZony
## 背景 起因是朋友在使用深信服的 Easy Connect 连接到内网之后,使用 `HttpClient` 访问对应内网的 API 站点均返回 **System.Net.Sockets.SocketException (10060)** 异常。但使用其他语言的原生 HTTP 库,比如 Golan
2023-06-12T13:50:00Z
2023-06-12T13:50:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】## 背景 起因是朋友在使用深信服的 Easy Connect 连接到内网之后,使用 `HttpClient` 访问对应内网的 API 站点均返回 **System.Net.Sockets.SocketException (10060)** 异常。但使用其他语言的原生 HTTP 库,比如 Golan <a href="https://www.cnblogs.com/myzony/p/net-5-and-later-httpclient-timeout-issues.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/problems-with-containerizing-a-wcf-service.html
WCF 服务容器化的一些问题 - MyZony
目前项目当中存有 .NET Framework 和 .NET Core 两种类型的项目,但是都需要进行容器化将其分别部署在 Windows 集群和 Linux 集群当中。在 WCF 进行容器化的时候,遇到了以下几个问题:
1. 某些服务使用到了 WSHttpBinding 保护服务安全,要在容器里面加载 SSL 证书。
2. WCF 服务的日志,如何重定向到标准输出流?
2023-01-01T12:55:00Z
2023-01-01T12:55:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】目前项目当中存有 .NET Framework 和 .NET Core 两种类型的项目,但是都需要进行容器化将其分别部署在 Windows 集群和 Linux 集群当中。在 WCF 进行容器化的时候,遇到了以下几个问题:
1. 某些服务使用到了 WSHttpBinding 保护服务安全,要在容器里面加载 SSL 证书。
2. WCF 服务的日志,如何重定向到标准输出流? <a href="https://www.cnblogs.com/myzony/p/problems-with-containerizing-a-wcf-service.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/coverage-analysis-based-on-altcover.html
[C#]使用 AltCover 获得代码覆盖率 - E2E Test 和 Unit Test - MyZony
背景 在 CI/CD 流程当中,测试是 CI 中很重要的部分。跟开发人员关系最大的就是单元测试,单元测试编写完成之后,我们可以使用 IDE 或者 dot cover 等工具获得单元测试对于业务代码的覆盖率。不过我们需要一个独立的 CLI 工具,这样我们才能够在 Jenkins 的 CI 流程集成。
2022-08-12T11:00:00Z
2022-08-12T11:00:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】背景 在 CI/CD 流程当中,测试是 CI 中很重要的部分。跟开发人员关系最大的就是单元测试,单元测试编写完成之后,我们可以使用 IDE 或者 dot cover 等工具获得单元测试对于业务代码的覆盖率。不过我们需要一个独立的 CLI 工具,这样我们才能够在 Jenkins 的 CI 流程集成。 <a href="https://www.cnblogs.com/myzony/p/coverage-analysis-based-on-altcover.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/bitbucket-fails-to-pull-repositories-using-ssh.html
Bitbucket 使用 SSH 拉取仓库失败的问题 - MyZony
问题 在 Bitbucket 使用 Linux 机器上 ssh-keygen 工具生成的公钥作为 API KEY,然后在 Jenkins 里面存储对应的 SSH 私钥,最后执行 Job 的时候,Windows Agent 提示 SSH 密钥不正确。 > git fetch --tags --forc
2022-06-28T12:19:00Z
2022-06-28T12:19:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】问题 在 Bitbucket 使用 Linux 机器上 ssh-keygen 工具生成的公钥作为 API KEY,然后在 Jenkins 里面存储对应的 SSH 私钥,最后执行 Job 的时候,Windows Agent 提示 SSH 密钥不正确。 > git fetch --tags --forc <a href="https://www.cnblogs.com/myzony/p/bitbucket-fails-to-pull-repositories-using-ssh.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/the_full_dev-ops_record_based_on_jenkins-kubernetes-argo-cd_1.html
基于 Jenkins + Kubernetes(混合集群) + Argo CD 的完整 DevOps 流程记录(1) - 环境部署 - MyZony
一、环境准备 1.1 镜像仓库 整套 DevOps 流程使用 Harbor 作为内部镜像仓库,所有构建产物(镜像)都会推送到 Harbor,以备后续进行项目部署。Harbor 从 2.x 版本开始支持 OCI 标准镜像,如果是安装的 1.x 版本,在使用 Podman 构建镜像的时候,需要加上 --
2022-05-18T03:51:00Z
2022-05-18T03:51:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】一、环境准备 1.1 镜像仓库 整套 DevOps 流程使用 Harbor 作为内部镜像仓库,所有构建产物(镜像)都会推送到 Harbor,以备后续进行项目部署。Harbor 从 2.x 版本开始支持 OCI 标准镜像,如果是安装的 1.x 版本,在使用 Podman 构建镜像的时候,需要加上 -- <a href="https://www.cnblogs.com/myzony/p/the_full_dev-ops_record_based_on_jenkins-kubernetes-argo-cd_1.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/abp-vnext-email-and-sms-source-analyzsis.html
[Abp vNext 源码分析] - 20. 电子邮件与短信支持 - MyZony
一、简介 ABP vNext 使用 Volo.Abp.Sms 包和 Volo.Abp.Emailing 包将短信和电子邮件作为基础设施进行了抽象,开发人员仅需要在使用的时候注入 ISmsSender 或 IEmailSender 即可实现短信发送和邮件发送。 二、源码分析 2.1 启动模块 短信发送
2021-06-28T01:18:00Z
2021-06-28T01:18:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】一、简介 ABP vNext 使用 Volo.Abp.Sms 包和 Volo.Abp.Emailing 包将短信和电子邮件作为基础设施进行了抽象,开发人员仅需要在使用的时候注入 ISmsSender 或 IEmailSender 即可实现短信发送和邮件发送。 二、源码分析 2.1 启动模块 短信发送 <a href="https://www.cnblogs.com/myzony/p/abp-vnext-email-and-sms-source-analyzsis.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/14708392.html
[Abp vNext 源码分析] - 18. 单元测试 - MyZony
简介 ABP vNext 框架使用 xUnit 作为单元测试组件,官方的所有模块都编写了大量的 单元/集成测试 确保功能正常。由于 ABP vNext 模块化系统的原因,开发人员在建立单元测试项目的时候需要集成 Volo.Abp.UnitTest 项目,这样在执行单元测试的时候才不会缺少必要组件。
2021-04-27T06:11:00Z
2021-04-27T06:11:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】简介 ABP vNext 框架使用 xUnit 作为单元测试组件,官方的所有模块都编写了大量的 单元/集成测试 确保功能正常。由于 ABP vNext 模块化系统的原因,开发人员在建立单元测试项目的时候需要集成 Volo.Abp.UnitTest 项目,这样在执行单元测试的时候才不会缺少必要组件。 <a href="https://www.cnblogs.com/myzony/p/14708392.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/14543675.html
acme.sh 免费泛解析证书生成 - MyZony
环境准备 本篇文章使用的 ACME 客户端是基于 Docker 容器使用的,所以需要准备 Docker 运行环境。本文使用的是 CentOS 7.x 与 Docker CE - 19.03.13,且已经安装了 Docker Compose 工具。 我已经参考官方的 GitHub 文章编写了 acme
2021-03-16T07:15:00Z
2021-03-16T07:15:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】环境准备 本篇文章使用的 ACME 客户端是基于 Docker 容器使用的,所以需要准备 Docker 运行环境。本文使用的是 CentOS 7.x 与 Docker CE - 19.03.13,且已经安装了 Docker Compose 工具。 我已经参考官方的 GitHub 文章编写了 acme <a href="https://www.cnblogs.com/myzony/p/14543675.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/14229597.html
Harbor 2.1.2 安装部署 - MyZony
环境 首先需要准备好 Docker + Docker-Compose 环境,Docker 在 CentOS 7.x 的安装教程请参考 这篇文章,后续文章假设你已经安装好了上述环境。 安装 标准安装 首先从 Harbor 的官方 GitHub Relase 下载最新的安装包,Harbor 本身的运行也
2021-01-04T06:20:00Z
2021-01-04T06:20:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】环境 首先需要准备好 Docker + Docker-Compose 环境,Docker 在 CentOS 7.x 的安装教程请参考 这篇文章,后续文章假设你已经安装好了上述环境。 安装 标准安装 首先从 Harbor 的官方 GitHub Relase 下载最新的安装包,Harbor 本身的运行也 <a href="https://www.cnblogs.com/myzony/p/14229597.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/14021517.html
ASP.NET Core 移除已注册的过滤器 - MyZony
背景 ABP vNext 默认对异常响应进行了处理,现在某个项目需要自定义异常响应结果。 问题 在 ABP vNext 的 MVC 模块当中,可以看到是通过 AddService(typeof(AbpExceptionFilter)) 添加的过滤器。最初我的想法是在 ConfigureService
2020-11-22T13:22:00Z
2020-11-22T13:22:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】背景 ABP vNext 默认对异常响应进行了处理,现在某个项目需要自定义异常响应结果。 问题 在 ABP vNext 的 MVC 模块当中,可以看到是通过 AddService(typeof(AbpExceptionFilter)) 添加的过滤器。最初我的想法是在 ConfigureService <a href="https://www.cnblogs.com/myzony/p/14021517.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/13730984.html
[Abp vNext 源码分析] - 21. 界面与文字的本地化 - MyZony
一、简介 ABP vNext 提供了全套的本地化字符串支持,具体用法可以参考官方使用文档。vNext 本身是对 Microsoft 提供的本地化组件进行了实现,通过 JSON 文件提供本地化源,这一点与老 ABP 不太一样,老 ABP 框架是全套自己手撸。vNext 针对服务端和客户端都提供了文字本
2020-09-25T08:28:00Z
2020-09-25T08:28:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】一、简介 ABP vNext 提供了全套的本地化字符串支持,具体用法可以参考官方使用文档。vNext 本身是对 Microsoft 提供的本地化组件进行了实现,通过 JSON 文件提供本地化源,这一点与老 ABP 不太一样,老 ABP 框架是全套自己手撸。vNext 针对服务端和客户端都提供了文字本 <a href="https://www.cnblogs.com/myzony/p/13730984.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/13552902.html
CefSharp 开发触屏终端遇到的问题记录 - MyZony
一、背景 最开始准备使用的 Chromely 做一个终端机项目,本来以为挺顺利的一个事情折腾了两天半。由于无法直接控制窗体的属性,最后还是切换到 .NET Framework 4.8 + CefSharp,记录一下遇到的坑和问题。 二、问题 2.1 输入法无法弹出 终端机系统最开始是 Windows
2020-08-24T03:34:00Z
2020-08-24T03:34:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】一、背景 最开始准备使用的 Chromely 做一个终端机项目,本来以为挺顺利的一个事情折腾了两天半。由于无法直接控制窗体的属性,最后还是切换到 .NET Framework 4.8 + CefSharp,记录一下遇到的坑和问题。 二、问题 2.1 输入法无法弹出 终端机系统最开始是 Windows <a href="https://www.cnblogs.com/myzony/p/13552902.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/13404104.html
.NET Core 的 Docker 容器目录乱码问题 - MyZony
现象 使用 docker exec -ti <容器名> bash 进入容器,使用 ls 命令列出的数据里面,中文没有正常显示。 原因 就是对应的 Shell 字符集不正确的问题,调整对应的字符集为 UTF-8 即可。 解决 首先执行 locale -a,查看输出的内容里面是否有 C.UTF-8 字符
2020-07-30T07:37:00Z
2020-07-30T07:37:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】现象 使用 docker exec -ti <容器名> bash 进入容器,使用 ls 命令列出的数据里面,中文没有正常显示。 原因 就是对应的 Shell 字符集不正确的问题,调整对应的字符集为 UTF-8 即可。 解决 首先执行 locale -a,查看输出的内容里面是否有 C.UTF-8 字符 <a href="https://www.cnblogs.com/myzony/p/13404104.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/13387382.html
[Abp vNext 源码分析] - 23. 二进制大对象系统(BLOB) - MyZony
一、简介 ABP vNext 在 v 2.9.x 版本当中添加了 BLOB 系统,主要用于存储大型二进制文件。ABP 抽象了一套通用的 BLOB 体系,开发人员在存储或读取二进制文件时,可以忽略具体实现,直接使用 IBlobContainer 或 IBlobContainer<T> 进行操作。官方的
2020-07-27T12:09:00Z
2020-07-27T12:09:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】一、简介 ABP vNext 在 v 2.9.x 版本当中添加了 BLOB 系统,主要用于存储大型二进制文件。ABP 抽象了一套通用的 BLOB 体系,开发人员在存储或读取二进制文件时,可以忽略具体实现,直接使用 IBlobContainer 或 IBlobContainer<T> 进行操作。官方的 <a href="https://www.cnblogs.com/myzony/p/13387382.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/12401352.html
[Abp vNext 源码分析] - 19. 多租户 - MyZony
一、简介 ABP vNext 原生支持多租户体系,可以让开发人员快速地基于框架开发 SaaS 系统。ABP vNext 实现多租户的思路也非常简单,通过一个 来分割各个租户的数据,并且在查询的时候使用统一的全局过滤器( 类似于软删除 )来筛选数据。 关于多租户体系的东西,基本定义与核心逻辑存放在 V
2020-03-03T03:39:00Z
2020-03-03T03:39:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】一、简介 ABP vNext 原生支持多租户体系,可以让开发人员快速地基于框架开发 SaaS 系统。ABP vNext 实现多租户的思路也非常简单,通过一个 来分割各个租户的数据,并且在查询的时候使用统一的全局过滤器( 类似于软删除 )来筛选数据。 关于多租户体系的东西,基本定义与核心逻辑存放在 V <a href="https://www.cnblogs.com/myzony/p/12401352.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/12206073.html
Docker 安装 ELK - MyZony
安装 首先安装 "Docker" 与 "Docker Compose" 相关的组件,我们这里直接使用准备好的 "ELK 镜像" ,执行以下命令从 Dockerhub 上拉取指定版本的镜像,在本例当中我使用的是 7.40 版本。 配置 为其编写 文件,内容如下: 上面的 Yaml 文件内容大概意思就是
2020-01-17T07:35:00Z
2020-01-17T07:35:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】安装 首先安装 "Docker" 与 "Docker Compose" 相关的组件,我们这里直接使用准备好的 "ELK 镜像" ,执行以下命令从 Dockerhub 上拉取指定版本的镜像,在本例当中我使用的是 7.40 版本。 配置 为其编写 文件,内容如下: 上面的 Yaml 文件内容大概意思就是 <a href="https://www.cnblogs.com/myzony/p/12206073.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/12165354.html
[Abp vNext 源码分析] - 14. EntityFramework Core 的集成 - MyZony
一、简要介绍 在以前的文章里面,我们介绍了 ABP vNext 在 DDD 模块定义了仓储的接口定义和基本实现。本章将会介绍,ABP vNext 是如何将 EntityFramework Core 框架跟仓储进行深度集成。 ABP vNext 在集成 EF Core 的时候,不只是简单地实现了仓储模
2020-01-08T02:44:00Z
2020-01-08T02:44:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】一、简要介绍 在以前的文章里面,我们介绍了 ABP vNext 在 DDD 模块定义了仓储的接口定义和基本实现。本章将会介绍,ABP vNext 是如何将 EntityFramework Core 框架跟仓储进行深度集成。 ABP vNext 在集成 EF Core 的时候,不只是简单地实现了仓储模 <a href="https://www.cnblogs.com/myzony/p/12165354.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/12114507.html
使用 HttpClient 进行表单提交时,遇到的问题 - MyZony
问题 在开发微信支付的小微商户进件接口时,需要通过表单来上传身份证图片等数据。在微信支付接口文档也说明了,需要使用 multipart/form data 的方式发送请求。.NET 提供了 类型,帮助我们构建表单请求,故有以下代码: 按照微信支付官方文档提交之后,一直提示参数错误,百思不得其解。 原
2019-12-29T03:35:00Z
2019-12-29T03:35:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】问题 在开发微信支付的小微商户进件接口时,需要通过表单来上传身份证图片等数据。在微信支付接口文档也说明了,需要使用 multipart/form data 的方式发送请求。.NET 提供了 类型,帮助我们构建表单请求,故有以下代码: 按照微信支付官方文档提交之后,一直提示参数错误,百思不得其解。 原 <a href="https://www.cnblogs.com/myzony/p/12114507.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/myzony/p/12017999.html
[Abp vNext 源码分析] - 13. 本地事件总线与分布式事件总线 (Rabbit MQ) - MyZony
一、简要介绍 ABP vNext 封装了两种事件总线结构,第一种是 ABP vNext 自己实现的本地事件总线,这种事件总线无法跨项目发布和订阅。第二种则是分布式事件总线,ABP vNext 自己封装了一个抽象层进行定义,并使用 RabbitMQ 编写了一个基本实现。 在使用方式上,两种事件总线的作
2019-12-10T09:26:00Z
2019-12-10T09:26:00Z
MyZony
https://www.cnblogs.com/myzony/
【摘要】一、简要介绍 ABP vNext 封装了两种事件总线结构,第一种是 ABP vNext 自己实现的本地事件总线,这种事件总线无法跨项目发布和订阅。第二种则是分布式事件总线,ABP vNext 自己封装了一个抽象层进行定义,并使用 RabbitMQ 编写了一个基本实现。 在使用方式上,两种事件总线的作 <a href="https://www.cnblogs.com/myzony/p/12017999.html" target="_blank">阅读全文</a>