02 2024 档案
摘要:DotNetCore.CAP框架提供了一个简单易用的API和多种消息传输协议支持(包括Redis、RabbitMQ等),可以让用户轻松地实现消息队列、事件发布/订阅、分布式事务等功能。它还具备自动重试、异常处理、数据序列化等高级特性,可以保证消息的可靠性和一致性。 使用DotNetCore.CAP框
阅读全文
摘要:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。 ——发布订阅模式 发布订阅模式主要有两个角色: 1.发布方(Publisher):也称为被观察者,当状态改变时负责通知所有订阅者。 2.订阅方(Subscriber):也称为观察者,订阅事件并对
阅读全文
摘要:创建三个项目Summerboot.Feign,Summerboot.Client(http://192.168.10.13:5197),NacosService(http://192.168.10.13:5199) 注意Summerboot.Client依赖Summerboot.Feign。 安装包
阅读全文
摘要:安装包:SummerBoot Feign 是一种声明式服务调用组件 , 我们只需要声明一个接口并通过注解进行简单的配置(类似于Dao 接口上面的 Mapper 注解一样)即可实现对 HTTP 接口的绑定。 通过 Feign,我们可以像调用本地方法一样来调用远程服务,而完全感觉不到这是在进行远程调用。
阅读全文
摘要:Polly 是一个 .NET 弹性和瞬态故障处理库,允许开发人员以 Fluent 和线程安全的方式来实现重试、断路、超时、隔离、限流和降级策略。 文档: https://gitee.com/hubo/Polly 重试(Retry) 出现故障自动重试,这个是很常见的场景,如:当发生请求异常、网络错误、
阅读全文
摘要:服务端 新建一个项目GrpcToken 安装包: Grpc.AspNetCore Microsoft.AspNetCore.Authentication.JwtBearer Microsoft.AspNetCore.Grpc.JsonTranscoding Microsoft.AspNetCore.
阅读全文
摘要:1.添加两个类,一个类型可空,一个不可空 public class Person1 { public int Id { get; set; } public double Money { get; set; } public float Weight { get; set; } public boo
阅读全文
摘要:看一段.proto文件里的Message,它们在C#里面对应的是什么类型? message Person { int32 id = 1; string first_name = 2 // FirstName string last_name = 3; } Protobuf 类型 C# 类型 doub
阅读全文
摘要:gRPC是一个现代的开源高性能远程过程调用(RPC)框架,可以在任何环境中运行。它可以有效地连接数据中心内和跨数据中心的服务,支持负载均衡、跟踪、健康检查和身份验证。它也适用于分布式计算,将设备、移动应用程序和浏览器连接到后端服务 1.创建一个空项目GrpcServer 安装包:Grpc.AspNe
阅读全文
摘要:nuget 安装:1. nacos-sdk-csharp2. nacos-sdk-csharp.AspNetCore3. nacos-sdk-csharp.Extensions.Configuration 创建WebAPI项目,ConfigCenter.NacosService1 { "Loggin
阅读全文
摘要:nuget 安装:1. nacos-sdk-csharp 1.3.42. nacos-sdk-csharp.AspNetCore 1.3.43. nacos-sdk-csharp.Extensions.Configuration 1.3.4 1.新建项目NacosService1,NacosServ
阅读全文
摘要:Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动
阅读全文
摘要:Consul 是HashiCorp公司推出的开源工具,Consul由Go语言开发,部署起来非常容易,只需要极少的可执行程序和配置文件,具有绿色、轻量级的特点。 Consul 是 分布式 的、 高可用 的、 可横向扩展 的用于实现分布式系统的服务发现与配置。 中文网:Consul 中文文档 - Con
阅读全文
摘要:1.请求类 public class BaseRequest { /// <summary> /// 请求法式 /// </summary> public RestSharp.Method Method { get; set; } /// <summary> /// 路由 /// </summary
阅读全文
摘要:1.添加ComboBox控件的枚举绑定扩展类 /// <summary> /// 绑定源的元素实体 /// </summary> /// <typeparam name="T"></typeparam> public class BindableSourceItem<T> { /// <summar
阅读全文
摘要:IEventAggregator 是一个事件聚合器,用于在不同模块之间进行通信。它允许模块之间进行解耦,通过发布和订阅事件来实现通信。 在使用 WPF prism IEventAggregator 时,你可以创建自定义事件,订阅事件并在需要时发布事件。这样可以实现模块之间的松耦合,提高代码的可维护性
阅读全文
摘要:感觉没什么好总结的,直接上代码吧: 配置文件: 1添加一个枚举 /// <summary> /// 配置键名 /// </summary> public enum ConfigKey { /// <summary> /// 系统配置 /// </summary> SystemConfig, ///
阅读全文
摘要:1.添加Nlog引用 2.添加NLog.config配置文件 <?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://ww
阅读全文
摘要:案例: 项目添加Prism框架引用。 1.添加对话框项目,添加一个用户控件ConfigView.xaml <UserControl x:Class="ConfigModule.Views.ConfigView" xmlns="http://schemas.microsoft.com/winfx/20
阅读全文
摘要:在Web开发的时候,编写css样式的时候通常是统一写在.css样式文件中。在WPF中也可以使用这样的思想。 样式引用: 1.新建一个项目用于统一存放样式WPF.UI 添加一个资源字典Button.xaml或者CheckBox.xaml等等.... <ResourceDictionary xmlns=
阅读全文
摘要:Popup 是一个用于显示临时性内容的控件,它可以在应用程序的其他内容之上显示一个弹出窗口。它通常用于实现下拉菜单、工具提示、通知消息等功能。 主要属性为: Child:获取或设置 Popup控件的内容。IsOpen:获取或设置一个值,该值指示Popup 是否可见Placement:获取或设置 Po
阅读全文
摘要:ModuleAttribute(按需延迟加载) ModuleAttribute 是 Prism 框架中用于标识模块的属性。通过使用 ModuleAttribute,可以将模块与特定的模块目录进行关联,从而使 Prism 应用程序能够动态加载和初始化模块。 在使用 WPF ModuleAttribut
阅读全文
摘要:什么是Prism: 1.WPF Prism是一个用于构建模块化、可扩展和可重用的WPF应用程序的框架。它基于MVVM模式,提供了一种简单且灵活的方式来管理复杂的WPF应用程序。 2.Prism框架提供了一些核心概念,包括模块化开发、依赖注入、命令模式、导航和事件聚合等。它还提供了一些实用工具和类来简
阅读全文
摘要:在进行WPF界面设计时,我们需要在很多地方设置颜色属性,比如元素的背景色、前景色以及边框的颜色,还有形状的内部填充和笔画,这些颜色的设置在WPF中都以画刷(Brush)的形式实现。比如最常用的画刷就是SolidColorBrush,它表示一种纯色。 public abstract class Bru
阅读全文
摘要:RotateTransform旋转 RotateTransform表示旋转一个对象的角度。首先我们来看一下它的定义 public sealed class RotateTransform : Transform { public static readonly DependencyProperty
阅读全文