<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[rjcql的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/rjcql</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; rjcql]]></copyright><item><title><![CDATA[C#使用 AutoUpdater.NET 实现程序自动更新]]></title><link>https://blog.csdn.net/rjcql/article/details/136180220</link><guid>https://blog.csdn.net/rjcql/article/details/136180220</guid><author>rjcql</author><pubDate>Mon, 19 Feb 2024 23:32:10 +0800</pubDate><description><![CDATA[开发桌面应用程序的时候，经常会因为新增功能需求或修复已知问题，要求客户更新应用程序，为了更好的服务客户，通常会在程序启动时判断版本变更情况，如发现新版本则自动弹出更新对话框，提醒客户更新成最新版本。在.Net体系中采用 AutoUpdater.NET 组件可以非常便捷的实现这一功能。]]></description><category></category></item><item><title><![CDATA[.NET Core 实现 JWT 认证]]></title><link>https://blog.csdn.net/rjcql/article/details/136074945</link><guid>https://blog.csdn.net/rjcql/article/details/136074945</guid><author>rjcql</author><pubDate>Wed, 07 Feb 2024 23:05:38 +0800</pubDate><description><![CDATA[JWT（JSON Web Token）是一种开放标准, 由三部分组成，分别是Header、Payload和Signature，它以 JSON 对象的方式在各方之间安全地传输信息。通俗的说，就是通过数字签名算法生产一个字符串，然后在网络请求的中被携带到服务端进行身份认证，功能上来说和 SessionId 认证方式很像。在.Net Core 中使用JWT 可以通过 NuGet 获取 Microsoft.AspNetCore.Authentication.JwtBearer 包。]]></description><category></category></item><item><title><![CDATA[用keytool 生成JWT的RSA非对称密钥]]></title><link>https://blog.csdn.net/rjcql/article/details/136064859</link><guid>https://blog.csdn.net/rjcql/article/details/136064859</guid><author>rjcql</author><pubDate>Wed, 07 Feb 2024 21:14:21 +0800</pubDate><description><![CDATA[JWT 令牌可以由X.509 证书或 256 位非对称密钥签名来充当，为了获得合法的JWT 令牌，我们可以使用JDK中的keytool.exe工具来生成]]></description><category></category></item><item><title><![CDATA[ASP.NET Core 预防开放式重定向攻击]]></title><link>https://blog.csdn.net/rjcql/article/details/136034345</link><guid>https://blog.csdn.net/rjcql/article/details/136034345</guid><author>rjcql</author><pubDate>Sun, 04 Feb 2024 23:50:35 +0800</pubDate><description><![CDATA[为预防钓鱼网站的常用套路，在进行 Web 应用程序的开发时，原则上应该将所有由用户提交的数据视为不可信。如果应用程序中包含了基于 URL 内容重定向的功能，需要确保这种类型的重定向操作只能在应用本地完成，或者明确判断其重定向到的是已知 URL，绝不能是 querystring 中可能包含的任何 URL。在 ASP.NET Core 的 MVC基类中就提供了两种判断是否为本地URL的方法，这边做个记录；两个方法分别为：LocalRedirect 和 IsLocalUrl。]]></description><category></category></item><item><title><![CDATA[ASP.NET Core 自定义解压缩提供程序]]></title><link>https://blog.csdn.net/rjcql/article/details/136018148</link><guid>https://blog.csdn.net/rjcql/article/details/136018148</guid><author>rjcql</author><pubDate>Sat, 03 Feb 2024 23:41:31 +0800</pubDate><description><![CDATA[在了解ASP.NET Core 自定义请求解压缩中间件的应用时，依据官方文档操作下来碰到了几个问题，这边做个记录。]]></description><category></category></item><item><title><![CDATA[如何使用本地私有NuGet服务器]]></title><link>https://blog.csdn.net/rjcql/article/details/136002256</link><guid>https://blog.csdn.net/rjcql/article/details/136002256</guid><author>rjcql</author><pubDate>Fri, 02 Feb 2024 23:28:51 +0800</pubDate><description><![CDATA[上一篇介绍了， 本文将介绍如何使用本地私有NuGet服务器。]]></description><category></category></item><item><title><![CDATA[在本机搭建私有NuGet服务器]]></title><link>https://blog.csdn.net/rjcql/article/details/135983570</link><guid>https://blog.csdn.net/rjcql/article/details/135983570</guid><author>rjcql</author><pubDate>Thu, 01 Feb 2024 23:11:26 +0800</pubDate><description><![CDATA[有时我们不想对外公开源码，同时又想在VisualStudio中通过Nuget包管理器来统一管理这些内部动态库，这时就可以在本地搭建一个NuGet服务器。]]></description><category></category></item><item><title><![CDATA[配置支持 OpenAPI 的 ASP.NET Core 应用]]></title><link>https://blog.csdn.net/rjcql/article/details/135964257</link><guid>https://blog.csdn.net/rjcql/article/details/135964257</guid><author>rjcql</author><pubDate>Wed, 31 Jan 2024 23:41:56 +0800</pubDate><description><![CDATA[Swagger是一个规范和完整的框架，用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。本文记录如何配置基于Swagger的 ASP.NET Core 应用程序的 OpenAPI 规范。需要从NuGet 安装 Swashbuckle.AspNetCore 包。]]></description><category></category></item><item><title><![CDATA[ASP.NET Core 使用 SignalR 的简单示例]]></title><link>https://blog.csdn.net/rjcql/article/details/135942870</link><guid>https://blog.csdn.net/rjcql/article/details/135942870</guid><author>rjcql</author><pubDate>Tue, 30 Jan 2024 22:52:09 +0800</pubDate><description><![CDATA[ASP.NET SignalR 是一个开源代码库，简化了Web实时通讯方案，可以实时地通过服务端将信息同步推送到各个客户端，可应用于需要从服务器进行高频更新的应用：包括游戏、社交网络、投票、拍卖、地图和GPS应用；仪表盘和监视应用：包括公司仪表板、即时销售更新或旅行报警；协同类应用：包括白板应用和团队会议软件；通知应用：社交网络、电子邮件、聊天、游戏、旅行报警和其他应用都需要使用的通知。]]></description><category></category></item><item><title><![CDATA[C# 使用WMI监听进程的启动和关闭]]></title><link>https://blog.csdn.net/rjcql/article/details/135922949</link><guid>https://blog.csdn.net/rjcql/article/details/135922949</guid><author>rjcql</author><pubDate>Mon, 29 Jan 2024 23:13:27 +0800</pubDate><description><![CDATA[Windows Management Instrumentation（WMI）是用于管理基于 Windows 操作系统的数据和操作的基础结构。具体的API可以查看。WMIC 是WMI的命令行管理工具，使用 WMIC，不但可以管理本地计算机，还可以管理同一Windows域内的所有远程计算机（需要必要的权限），而被管理的远程计算机可以不预先安装WMIC，只需要支持WMI即可。]]></description><category></category></item><item><title><![CDATA[ASP.NET Core gRPC 应用配置 gRPC-Web 协议]]></title><link>https://blog.csdn.net/rjcql/article/details/135895292</link><guid>https://blog.csdn.net/rjcql/article/details/135895292</guid><author>rjcql</author><pubDate>Sun, 28 Jan 2024 14:53:39 +0800</pubDate><description><![CDATA[本文介绍如何配置现有 ASP.NET Core gRPC 服务，以便使用 gRPC-Web 协议的浏览器应用也可调用。配置 gRPC-Web 后将允许浏览器中的JavaScript 和 Blazor 应用调用 gRPC 服务。在上一篇的基础上，给服务端和客户端分别安装拓展包，Grpc.AspNetCore.Web。]]></description><category></category></item><item><title><![CDATA[C# 实现 gRPC 服务和调用]]></title><link>https://blog.csdn.net/rjcql/article/details/135890720</link><guid>https://blog.csdn.net/rjcql/article/details/135890720</guid><author>rjcql</author><pubDate>Sun, 28 Jan 2024 00:36:29 +0800</pubDate><description><![CDATA[gRPC 是一种与语言无关的高性能远程过程调用 (RPC) 框架。主要优点如下：1.高性能轻量化。2.协议优先的 API 定义模式，默认使用协议缓冲区，允许与语言无关的实现。3.可用于多种语言的工具，以生成强类型服务器和客户端。4.支持客户端、服务器和双向流式处理调用。5.使用 Protobuf 二进制序列化减少对网络的使用。gRPC 服务可以托管在 ASP.NET Core 上。这些服务与日志记录、依赖关系注入 (DI)、身份验证和授权等 ASP.NET Core 功能完全集成。]]></description><category></category></item><item><title><![CDATA[SuperSocket 一个轻量级可扩展 Socket 开发框架]]></title><link>https://blog.csdn.net/rjcql/article/details/135877188</link><guid>https://blog.csdn.net/rjcql/article/details/135877188</guid><author>rjcql</author><pubDate>Sat, 27 Jan 2024 00:22:26 +0800</pubDate><description><![CDATA[不用多说这是迄今为止用过最好用的.Net领域Socket开发框架，从Photon 脱坑之后，一直用它来搭建游戏服务器，相伴多年经历了多个游戏和工控项目的检验，简单易上手，功能应有尽有，强烈推荐。可以通过NuGet进行安装。]]></description><category></category></item><item><title><![CDATA[C# 使用AutoMapper实现类映射]]></title><link>https://blog.csdn.net/rjcql/article/details/135856062</link><guid>https://blog.csdn.net/rjcql/article/details/135856062</guid><author>rjcql</author><pubDate>Thu, 25 Jan 2024 23:29:07 +0800</pubDate><description><![CDATA[AutoMapper是一个用于.NET中简化类之间的映射的扩展库；可以在执行对象映射的过程，省去的繁琐转换代码，实现了对DTO的快速装配，有效的减少了代码量。通过NuGet安装，AutoMapper， 由于本例用到了DI,所以需要顺便安装一下 AutoMapper.Extensions.Microsoft.DependencyInjection。]]></description><category></category></item><item><title><![CDATA[.NET 跨平台图形库 SkiaSharp 基础应用]]></title><link>https://blog.csdn.net/rjcql/article/details/135832547</link><guid>https://blog.csdn.net/rjcql/article/details/135832547</guid><author>rjcql</author><pubDate>Wed, 24 Jan 2024 22:18:37 +0800</pubDate><description><![CDATA[SkiaSharp 是适用于 .NET 和 C# 的 2D 图形系统，由开源 Skia 图形引擎提供支持，在 Google 产品中广泛使用。可以在应用程序中使用 SkiaSharp Xamarin.Forms 绘制 2D 矢量图形、位图和文本。支持跨平台，Windows、Linux、Anroid、IOS、WebAssembly下都可以使用，底层源码是用C++实现的。SkiaSharp 最初由 Mono 开发，目前由 Microsoft 维护，遵循 MIT License。]]></description><category></category></item><item><title><![CDATA[C# 使用屏障来使多线程并发操作保持同步]]></title><link>https://blog.csdn.net/rjcql/article/details/135797471</link><guid>https://blog.csdn.net/rjcql/article/details/135797471</guid><author>rjcql</author><pubDate>Tue, 23 Jan 2024 23:35:04 +0800</pubDate><description><![CDATA[以下是微软官方对屏障类的介绍，System.Threading.Barrier 可用来作为实现并发同步操作的基本单元，让多个线程(参与者)分阶段并行处理目标算法。在达到代码中的屏障点之前，每个参与者将继续执行，屏障表示工作阶段的末尾；单个参与者到达屏障后将被阻止，直至所有参与者都已达到同一障碍。所有参与者都已达到屏障后，你可以选择调用阶段后操作。此阶段后操作可由单线程用于执行操作，而所有其他线程仍被阻止。执行此操作后，所有参与者将不受阻止，继续执行直到满足退出条件。]]></description><category></category></item><item><title><![CDATA[C# 使用System.Threading.Timer 实现计时器]]></title><link>https://blog.csdn.net/rjcql/article/details/135759809</link><guid>https://blog.csdn.net/rjcql/article/details/135759809</guid><author>rjcql</author><pubDate>Mon, 22 Jan 2024 22:27:51 +0800</pubDate><description><![CDATA[以往一般都是用 System.Timers.Timer 来做计时器，而 System.Threading.Timer 也可以实现计时器功能，并且还可以配置首次执行间隔，在功能上比System.Timers.Timer更加丰富；根据这个特性就可以实现按指定时间间隔对委托进行单次调用。执行的回调委托也是在 ThreadPool 线程上执行，支持多线程运行环境。]]></description><category></category></item><item><title><![CDATA[.NET 资源监视]]></title><link>https://blog.csdn.net/rjcql/article/details/135733791</link><guid>https://blog.csdn.net/rjcql/article/details/135733791</guid><author>rjcql</author><pubDate>Sun, 21 Jan 2024 20:12:58 +0800</pubDate><description><![CDATA[在 Microsoft.Extensions.Diagnostics.ResourceMonitoring 包提供了一系列定制 API，专用于监视 .NET 应用程序的资源利用率。为了让控制台输出的样式更美观，可以安装一下Spectre.Console这个包本例主要通过 IResourceMonitor 来获取资源状态信息，该接口支持检索与 CPU 和内存使用情况相关的数据，并且当前与 Windows 和 Linux 平台兼容。]]></description><category></category></item><item><title><![CDATA[使用.NET API 中的 EventCounters进行指标监控]]></title><link>https://blog.csdn.net/rjcql/article/details/135716587</link><guid>https://blog.csdn.net/rjcql/article/details/135716587</guid><author>rjcql</author><pubDate>Sat, 20 Jan 2024 15:56:01 +0800</pubDate><description><![CDATA[为了实现轻量级、跨平台、准确实时的性能指标收集，从 .NET Core 3.0 版本开始引入 EventCounters API。除了 .NET 运行时提供的 EventCounters 外，还可以实现自定义的 EventCounters。以便跟踪各种指标，EventCounters 作为 EventSource 的一部分，可以实时自动定期推送到侦听器工具。]]></description><category></category></item><item><title><![CDATA[ASP.NET Core 对象池化技术]]></title><link>https://blog.csdn.net/rjcql/article/details/135708933</link><guid>https://blog.csdn.net/rjcql/article/details/135708933</guid><author>rjcql</author><pubDate>Fri, 19 Jan 2024 23:37:33 +0800</pubDate><description><![CDATA[Microsoft.Extensions.ObjectPool 是 ASP.NET Core 基础结构的一部分，当对象的初始化成本较高，并且可能被频繁使用时，才适合采用对象池技术；被ObjectPool管理的对象不会进入垃圾回收，使用时通过由实例对象实现的Get()方法，从对象池中借出对象，用完之后调用Return(T obj)方法，将对象还回去。也可以在Return(T obj)方法中设置判断条件，仅允许特定的对象进入对象池。]]></description><category></category></item></channel></rss>