在docker上部署自己的.net8 webapi,以腾迅linux云服务为例: docker的学习和具体安装可以访问官网地址: Docker官方安装教程文档网址:https://docs.docker.com/engine/install/centos/ 1.安装docker 1.1 查看dock ...
一:背景 1. 讲故事 上一篇我们聊过AOT编程中可能会遇到的三大件问题,而这三大件问题又是考验你对AOT中节点图的理解,它是一切的原点,接下来我就画几张图以个人的角度来解读下吧,不一定对。 二:理解节点依赖图 1. 对节点的理解 按照官方的说法,构建依赖节点和GC的标记算法一样,都是采用深度优先, ...
一:背景 1. 讲故事 在 .NET AOT 编程中,难免会在 泛型,序列化,以及反射的问题上纠结和反复纠错尝试,这篇我们就来好好聊一聊相关的处理方案。 二:常见问题解决 1. 泛型问题 研究过泛型的朋友应该都知道,从开放类型上产下来的封闭类型往往会有单独的 MethodTable,并共用 EECl ...
grpc的确是现在最流行的跨平台间的通信技术。远不止.net上使用。grpc是谷歌公司推出的跨语言平台之间的通信技术。和webapi不同的是,可以使用自己的语言和另一种语言进行通信。 简单来讲就是首先使用一种Proto的协议文件,可以生成客户端和服务端两种文件。客户端和服务端可以使用任意的语言。gr ...
本文介绍如何操作windows系统光标。正常我们设置/隐藏光标,只能改变当前窗体或者控件范围,无法全局操作windows光标。接到一个需求,想隐藏windows全局的鼠标光标显示,下面讲下如何操作 先了解下系统鼠标光标,在鼠标属性-自定义列表中可以看到一共有13种类型,对应13种工作状态: 操作系统 ...
要想自己的dll或程序禁止被反编译成功,可以使用ConfuserEx混淆代码 1.正常反编译 1.1 创建一个demo控制台 新建Test类,写个fun 1.2 正常编译看的效果 目前有很多.NET的反编译工具,例如ILSpy,JustDecompile,dnSpy.下面使用dnSpy对Consol ...
MERGE同步两个表, 根据与源表的JOIN 条件,来通过插入、更新和删除目标表行,达到2张表数据一致。 MERGE 语法: MERGE TOP (value) <target_table> USING <table_source> ON <merge_search_condition> [ WHE ...
Task.Delay 和 Thread.Sleep 都可以用来在代码中引入延迟,但它们之间有几个关键的区别: 异步 vs. 同步: Thread.Sleep 是一个同步方法,它会阻塞当前线程,直到指定的时间过去。这意味着在 Thread.Sleep 执行期间,当前线程不能做任何其他事情,这可能会导致 ...
.net提供了内置的接口调试方式 1.新建.net core web api控制台应用程序 2.封装好jwt验证机制 token令牌验证机制 /// <summary> /// 登录 /// </summary> /// <param name="request"></param> /// <ret ...
场景 1:大量业务数据缓存导致堆内存溢出 场景描述: 一个企业级 Web 应用使用了大量内存缓存来存储业务数据,比如用户信息、订单数据等。由于缓存策略不当,大量无效数据长期存储在堆内存中,导致 OutOfMemoryError(堆内存溢出)。 解决思路: 1.优化缓存策略: 使用 LRU(Least ...
framework开发的应用程序,一般是不会在linux服务器上运行的,但是我们可以通过mono进行应用部署 1.查看linux服务上是否已经安装mono-core 方式1: rpm命令查看 rpm -qa | grep mono-core 有结果返回,说明已经安装 方式2:使用yum list i ...
要想保护自己的文件夹内的信息不被别人看到,可以给文件加个锁【注意:加锁用的密码一定要记住】 用C#语言实现一个文件夹锁的程序,程序的基本原理是:用C#语言重命名文件夹,通过重命名使之成为windows安全文件的类标识符。具体的方法是为文件夹添加拓展名“.{2559a1f2-21d7-11d4-bda ...
国内文章 C#/.NET/.NET Core优秀项目和框架2024年9月简报 https://www.cnblogs.com/Can-daydayup/p/18457705 文章介绍了多个与C#.NET和ASP.NET相关的优秀开源项目和框架,包括Avalonia UI、WaterCloud、Cod ...
需要在局域网内远程电脑 1.方式一: 通过第三方工具,比如向日葵,AnyViewer等工具 2.方式二:远程桌面方式 步骤1. 首先,需在目标电脑上启用远程桌面连接功能。您可以点击“开始”图标,选择“设置” > “系统” > “远程桌面”,将“启用远程桌面”打开即可。 步骤2. 在搜索框中输入“远程 ...
一:背景 1. 讲故事 上篇聊到了 C#程序编译成Native代码 的宏观过程,有粉丝朋友提了一个问题,能不能在 dotnet publish 发布的过程中对AOT编译器拦截进行源码级调试,这是一个好问题,也是深度研究的必经之路,这篇我们就来分享下吧。 二:托管和非托管调试器 1. 调试器介绍 相信 ...
目录天天基金API添加项目依赖项请求 API 数据获取所有基金代码获取基金净值信息功能测试扩展:实现一个基金净值数据库参考链接 天天基金API 常见的 API 如下: 所有基金代码:http://fund.eastmoney.com/js/fundcode_search.js 基金详细信息:http ...
今天不讨论技术问题,而是简单聊一下不同系统的路径问题 正斜杠,又称左斜杠,符号是"/";反斜杠,也称右斜杠,符号是""。 在Unix/Linux中,路径的分隔采用正斜杠"/",比如"/home/hutaow";而在Windows中,路径分隔采用反斜杠"",比如"C:\Windows\System" ...
一:背景 1. 讲故事 大家都知道所谓的.NET Native AOT即通过AOT编译器直接将C#代码编译成机器码,大家也习惯用C/C++的编译过程来类比,都是静态编译本质上都差不多,这篇我们借助工具从宏观层面去看一看AOT的编译过程。 二:C/C++ 的编译过程 用gcc编译过c代码的朋友都知道, ...
目录获取QQ邮箱授权码安装 MailKit配置邮件服务器信息实现邮件收发方法测试邮件收发参考文章 获取QQ邮箱授权码 打开QQ邮箱,进入 设置->账号 页面: 在 POP3/IMAP/SMTP 中开启 SMTP服务,然后点击 授权码复制授权码: QQ邮箱服务器的参数如下,详细内容参考SMTP/IMA ...
今天给大家讲讲.net中特性的高级使用 1.什么是特性 特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。 用[]来标识,在.Net 框架提供了两种类型的特性:预定义特性和自定义特性。 可以用这个图来直观看看Attribute属性的 ...