刷新
.NET周刊【9月第1期 2024-09-01】

博主头像 国内文章 【音视频通话】使用asp.net core 8+vue3 实现高效音视频通话 https://www.cnblogs.com/1996-Chinese-Chen/p/18384394 该文章描述了使用SRS实现音视频通话和共享桌面的经验。从最初使用nginx的RTMP到研究SRS和ZLMe ...

HttpClient获取图片并保存到本地

1. FileDownLoad.cs 本次测试使用HttpClient从网站下载图片并保存到本地,在FileDownLoad类中提供DownLoadInBackGround接口,供外部调用,封装具体的下载操作。 using System; using System.Diagnostics; usin ...

.NET周刊【8月第4期 2024-08-25】

博主头像 国内文章 从控制台开始 关联 Win2D 和 WinUI 3 应用 https://www.cnblogs.com/lindexi/p/18378612 本文将告诉大家如何从最简单的控制台开始搭建,让 Win2D 和 WinUI 3 关联起来,让 Win2D 可以将内容渲染到 WinUI 3 应用上 ...

Fins TCP协议理解及C Sharp实现思路

博主头像 假设本文中使用到设备的ip地址,用于后续内容的理解: 客户端(本机电脑 windows系统)IP: 192.168.1.101 服务端(PLC omron CJ2M系列)IP 和 端口号 : 192.168.1.10 : 9600 注意: ①本文中的 FINS TCP 报文都是以16进制(Hex)发 ...

记一次 .NET某实验室自动进样系统 崩溃分析

博主头像 一:背景 1. 讲故事 前些天有位朋友在微信上联系到我,说他们的程序在客户那边崩掉了,让我帮忙看下怎么回事,dump也拿到了,那就上手分析吧。 二:WinDbg 分析 1. 哪里的崩溃 既然是程序的崩溃,自然是有原因的,皮裤套棉裤,必定有缘故,不是皮裤太薄就是棉裤没毛,用 !analyze -v 观 ...

.NET周刊【8月第3期 2024-08-18】

博主头像 国内文章 Roslyn 简单实现代码智能提示补全功能 https://www.cnblogs.com/lindexi/p/18365261 相信有很多伙伴热衷于编写 IDE 应用,在 dotnet 系下,通过 Roslyn 友好的 API 和强大的能力,实现一个代码智能提示是非常简单的事情。本文将和 ...

聊一聊 C# 中让人惶恐的 Bitmap

博主头像 一:背景 1. 讲故事 在.NET高级调试的旅程中,我常常会与 Bitmap 短兵相接,它最大的一个危害就是会让程序抛出匪夷所思的 OutOfMemoryException,也常常会让一些.NET开发者们陷入其中不能自拔,痛不欲生,基于此,这一篇我从dump分析的角度给大家深挖一下 Bitmap 背 ...

.NET 音频采集

博主头像 本文介绍Windows下声音数据的采集,用于本地录音、视讯会议、投屏等场景 声音录制有麦克风、扬声器以及混合录制三类方式,麦克风和扬声器单独录制的场景更多点,混合录制更多的是用于本地录音 我们基于NAudio实现,开源组件NAudio已经很稳定的实现了各类播放、录制、转码等功能,WaveIn,Wav ...

C# 面向对象的7大原则之开闭原则(Open-Closed Principle,OCP)

博主头像 定义 开闭原则(OCP):软件实体应对扩展开放,对修改关闭。 通俗来讲就是,当需要进行扩展时,在不更改现有代码的前提之下,进行扩展。 举例 假设有一个动物发出声音的类为Animal,最初只有Dog(狗)和Cat(猫),后续需要新增Cow(牛);按照开闭原则,不应修改Animal类、Dog类或Cat类 ...

关于Protobuf在使用中的一些注意点

Protobuf是谷歌旗下的一款二进制序列化协议 协议的编写 在项目中新建一个xxx.proto文件 文件的格式 第一行写protobuf的版本 syntax = "proto3" ; 第二行写 包的名字 在C#中就说命名空间的名字,避免重复 例如 package Test; 接下来写协议内容 例如 ...

vs2022不安装docker desktop可以打包镜像吗

vs2022开发的项目可以直接打包镜像到 linux主机。 idea 可以使用docker插件直接打包镜像到linux,我想vs2022也可以,于是开始摸索 官网只说支持docker desktop 本机打包,但是安装docker desktop 再加上安装虚拟机特性占用空间太大 ,能不能借助远程l ...

WPF 设备输入事件封装

博主头像 本文主要介绍WPF应用对鼠标输入、触摸屏触笔以及触摸事件的封装 之前有简单说明设备输入类型 WPF 屏幕点击的设备类型 - 唐宋元明清2188 - 博客园 (cnblogs.com) 1、鼠标 - 通过Mouse相关的事件参数MouseButtonEventArgs中的数据,e.StylusDeci ...

GC终结标记 SuspendEE 是怎么回事

博主头像 一:背景 1. 讲故事 写这篇是起源于训练营里有位朋友提到了一个问题,在 !t -special 输出中有一个 SuspendEE 字样,这个字样在 coreclr 中怎么弄的?输出如下: 0:000> !t -special ThreadCount: 3 UnstartedThread: 0 Ba ...

《黑神话:悟空》神话再现,虚幻引擎与Unity/C#谁更强?

博主头像 前言 在国产游戏领域,《黑神话:悟空》无疑是一颗耀眼的明星,以独特的艺术风格、深厚的文化底蕴以及卓越的技术表现,赢得了国内外玩家的广泛关注。然而,在这款游戏光鲜亮丽的背后,是我们开发者对技术选择的深思熟虑与探索。 今天我们就来揭秘《黑神话:悟空》幕后的技术对决—虚幻引擎与Unity/C#,究竟谁更强 ...

C#泛型

博主头像 泛型(Generics)是C#中的一个重要特性,它允许您编写灵活、类型安全且可重用的代码。下面我将详细介绍泛型的概念、使用方法及其在C#中的实现细节。 泛型的基本概念 1. 什么是泛型? 泛型是一种允许您定义类型参数的机制,这些类型参数可以在编译时由具体的类型替换。这样,您可以编写一个通用的类或方法 ...

VS常用拓展以及快捷键

博主头像 VS常用拓展以及快捷键 扩展1:Select Next Occurrence 该拓展可以当前目标、下一个目标、上一个目标,类似于Alt+鼠标拖动,但是可以在没对齐的情况下使用 安装 设置4个常用的快捷键 工具->选项->键盘->c# 2005 选择下一个 快捷键:Ctrl+D 选择上一个 快捷键:C ...

.NET 高效Nuget管理工具(开源)

博主头像 我们.NET开发会引用很多外部Nuget包,多项目、多个解决方案、甚至多个仓库。 简单的Nuget包管理,通过VS就能比较简单处理好。但复杂的场景呢,比如: 1.一个仓库里,有多个解决方案的Nuget包管理 -- 我现在项目就是这样的,针对会议大屏的全家桶软件集代码仓库。这个仓库里,接近30个工具/ ...

C# 使用特性的方式封装报文

博主头像 在编写上位机软件时,需要经常处理命令拼接与其他设备进行通信,通常对不同的命令封装成不同的方法,扩展稍许麻烦。 本次拟以特性方式实现,以兼顾维护性与扩展性。 思想: 一种命令对应一个类,其类中的各个属性对应各个命令段,通过特性的方式,实现其在这包数据命令中的位置、大端或小端及其转换为对应的目标类型; ...

.NET8 Blazor 从入门到精通:(二)组件

博主头像 目录Blazor 组件基础路由导航参数组件参数路由参数生命周期事件状态更改组件事件 Blazor 组件 基础 新建一个项目命名为 MyComponents ,项目模板的交互类型选 Auto ,其它保持默认选项: 客户端组件 (Auto/WebAssembly): 最终解决方案里面会有两个项目:服务器 ...

<1···8910···18>