随笔分类 -  C# & CLR

记录 C# 语言特性和 CLR 等相关博文。
摘要:0. 问题 新版本上线之后,发现内存猛涨,入站流量猛增,不清楚具体原因,部分接口提示 OOM 异常,随后 Pod 直接崩溃无限重启。 1. 准备 Pod 已经接入了 NewRelic 和 Graylog,但是仍然没有办法找到真正的罪魁祸手,此时只能进入 Pod 容器当中抓取内存 Dump 信息。我们 阅读全文
posted @ 2024-03-08 15:30 MyZony 阅读(2224) 评论(2) 推荐(27) 编辑
摘要:最近做项目的时候,需要对接厂商提供的 IP 摄像头。但是他们只提供了 C++ 的 SDK,没办法,只能开始撸 C 的 SDK Helper 类。本篇文章主要记录了对接 C++ DLL 需要注意的几个地方,以及常见类型的转换。 要对接 C++ 的 DLL,首先得知道如何引用 DLL 内的方法。在 C 阅读全文
posted @ 2019-11-27 19:27 MyZony 阅读(1004) 评论(4) 推荐(5) 编辑
摘要:一、背景 最近在精读 《CLR Via C 》和 《Effective C 》 的时候,发现的一个问题点。一般来说,我们实现 接口,是为了释放托管资源和非托管资源。不过在 C 类型定义里面有一个功能类似的东西,那就是 终结器 。 最开始我是学 C++ 的,之后学 C 的时候发现这玩意儿不论是写法和作 阅读全文
posted @ 2019-10-21 12:08 MyZony 阅读(2854) 评论(0) 推荐(6) 编辑
摘要:问题 在一个 Timer 时钟的周期方法内,有一个 循环,当执行到某些特定的语句时,会从头开始执行,而不会执行后续的语句。 分析 该问题我在初步分析之后,发现可能是由于程序出现了异常,但是被吞噬掉造成的。在我某一个 item 元素当中,其值为 应该会抛出空异常。但是没有异常抛出,后续我不知道哪个地方 阅读全文
posted @ 2019-06-23 21:19 MyZony 阅读(614) 评论(0) 推荐(0) 编辑
摘要:一、背景 DotNetty 本身是一个优秀的网络通讯框架,不过它是基于异步事件驱动来处理另一端的响应,需要在单独的 Handler 去处理相应的返回结果。而在我们的实际使用当中,尤其是 客户端程序 基本都是 请求 响应 模型,在发送了数据时候需要等待服务器的响应才能进行下一步操作,如果服务器返回的是 阅读全文
posted @ 2019-05-22 09:49 MyZony 阅读(2385) 评论(3) 推荐(2) 编辑
摘要:一、协议的定义 要对某种协议进行编解码操作,就必须知道协议的基本定义,首先我们来看一下 CJ/T188 的数据帧定义(协议定义),了解请求数据与响应数据的基本结构。 1.1 CJ/T188 水表通讯协议 请求帧: | 字节 | 值 | 描述 | | | | | | 0 | 0x68 | 数据帧开始标 阅读全文
posted @ 2019-05-21 09:25 MyZony 阅读(7619) 评论(7) 推荐(6) 编辑
摘要:问题 最近在进行硬件上位机开发的时候,经常会遇到将 16 进制字符串转换为 的情况,除了这种需求以外,还需要判定一个字符串是否是有效的 16 进制数据。 解决 字符串转 的情况可以使用 来解决,16 进制数据的判定则可以结合正则和长度来进行处理。 在这里我是只接受以下两种形式的 16 进制字符串,并 阅读全文
posted @ 2019-05-04 23:37 MyZony 阅读(1154) 评论(0) 推荐(1) 编辑
摘要:仅以本篇博文记录 LINQ 相关操作的基本知识,原型参考自 MSDN 相关知识,中间加以自己的理解与 DEMO。 1. IEnuemrable\.Select() Select 方法比较简单,就是在原有序列的基础上,为每个元素建立一个新的输出形式(类型)。 标准用法如下: 输出结果: 这样 的结果就 阅读全文
posted @ 2019-02-18 16:57 MyZony 阅读(5288) 评论(0) 推荐(3) 编辑
摘要:例如我拥有以下代码。 当我为 属性传入一个非法数据的时候,在使用 进行反序列化时会抛出异常。例如我通过以下代码对一个字符串进行反序列化,如果不出意外的话会提示无效参数值的异常。 通过 Stackoverflow 查询得知,可以通过在反序列化时指定 对象进行忽略。 这样,在进行反序列化的时候就可以忽略 阅读全文
posted @ 2019-02-02 09:50 MyZony 阅读(3573) 评论(0) 推荐(1) 编辑
摘要:一、简介 阅读 Abp 源码的过程中,自己也学习到了一些之前没有接触过的知识。在这里,我在这儿针对研究学习 Abp 框架中,遇到的一些值得分享的知识写几篇文章。如果有什么疑问或者问题,欢迎大家评论指正。 在本篇主要是 Scoped 范围与 using 语句块的使用。using 语句块大家一定都不陌生 阅读全文
posted @ 2019-01-16 09:22 MyZony 阅读(8337) 评论(4) 推荐(3) 编辑
摘要:平时使用 LINQ 进行一些简单的条件拼接查询一般都会这样操作: 这里有三个条件,是前端传入的搜索条件,然后我们来编写一个查询语句: 因为我们前端传入的条件不是固定的,所以有可能会出现有的条件没有传入的情况,如果是 SQL 的动态拼接 SQL 就可以了,而 Linq 你肯定是没法动态拼接的,只有自己 阅读全文
posted @ 2018-06-06 10:14 MyZony 阅读(9161) 评论(13) 推荐(6) 编辑
摘要:文章原文来自: "Code your own blockchain mining algorithm in Go!" ,原始文章通过 Go 语言来实现的,这里仍然是承接上一篇文章,来使用 C + .Net Core 实现我们的挖矿算法。 "强烈建议阅读前先阅读这篇文章" 什么是加密货币挖掘? 一个加 阅读全文
posted @ 2018-05-07 18:55 MyZony 阅读(7676) 评论(11) 推荐(10) 编辑
摘要:目的 因为某些原因需要将存放在 Google Chrome 内的书签导出到本地,所幸 Google Chrome 提供了导出书签的功能。 分析 首先在 Google Chrome 浏览器当中输入 来到书签管理页面,找到最右侧的三个点,选择导出书签,导出的文件是一个 HTML 文件,里面包含了所有书签 阅读全文
posted @ 2018-03-02 17:02 MyZony 阅读(3902) 评论(0) 推荐(0) 编辑
摘要:文章原文来自: "Code your own blockchain in less than 200 lines of Go!" ,原始文章是通过 Go 语言来实现自己的区块链的,这里我们参照该文章来使用 C + Asp.Net Core 实现自己的区块链。在这里我也参考了 "这篇译文" 。 1.项 阅读全文
posted @ 2018-02-26 15:34 MyZony 阅读(11055) 评论(11) 推荐(11) 编辑
摘要:在 DotNetCore 当中不再像 MVC5 那样可以通过 来获取到当前请求的上下文。 不过微软提供了一个 IHttpContextAccessor 来让我们访问当前请求的 Http 上下文,其定义 如下: 需要使用的话需要将其添加到 Ioc 容器当中,在 Startup 类的 Configure 阅读全文
posted @ 2018-01-22 23:41 MyZony 阅读(2140) 评论(3) 推荐(3) 编辑
摘要:SharpZipLib 是一个优秀的开源的第三方压缩库,可以通过这个库将一些导出的文件打包到一个 ZIP 文件当中供用户下载。 GitHub 地址: " https://github.com/icsharpcode/SharpZipLib " NuGet 地址: " https://www.nuge 阅读全文
posted @ 2018-01-03 11:11 MyZony 阅读(561) 评论(0) 推荐(1) 编辑