本章将和大家分享如何通过 Elasticsearch 实现自动补全查询功能。 一、自动补全-安装拼音分词器 1、自动补全需求说明 当用户在搜索框输入字符时,我们应该提示出与该字符有关的搜索项,如图: 2、使用拼音分词 要实现根据字母做补全,就必须对文档按照拼音分词。在 GitHub 上恰好有 Ela ...
您是否曾经访问过一个网站,它需要很长时间加载,最终你敲击 F5 重新加载页面。 即使用户刷新了浏览器取消了原始请求,而对于服务器来说,API也不会知道它正在计算的值将在结束时被丢弃,刷新五次,服务器将触发 5 个请求。 为了解决这个问题,ASP.NET Core 为 Web 服务器提供了一种机制,就 ...
gRPC是一个高性能、通用的开源远程过程调用(RPC)框架,基于底层HTTP/2协议标准和协议层Protobuf序列化协议开发,支持众多的开发语言,由Google开源。 gRPC也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行... ...
概述:在WPF中使用`WpfAnimatedGif`库展示GIF动画,首先确保安装了该库。通过XAML设置Image控件,指定GIF路径,然后在代码中使用库提供的方法实现动画控制。这简化了在WPF应用中处理GIF图的过程,提供了方便的接口来管理动画播放和暂停。 当使用 WpfAnimatedGif ...
概述:这个WPF项目通过XAML绘制汽车动态速度表盘,实现了0-300的速度刻度,包括数字、指针,并通过定时器模拟速度变化,展示了动态效果。详细实现包括界面设计、刻度绘制、指针角度计算等,通过C#代码与XAML文件结合完成。 新建 WPF 项目: 在 Visual Studio 中创建一个新的 WP ...
源生成器是 C# 9 中引入的一项功能,允许在编译过程中动态生成代码。 它们直接与 C# 编译器集成(Roslyn)并在编译时运行,分析源代码并根据分析结果生成附加代码。 源生成器提供了一种简化的自动化代码生成方法,无需外部工具或单独的预编译步骤。 通过无缝集成到编译过程中,源生成器可以提高生产力、 ...
这是一个我个人写的库,主要实现的是基于tcpclient的网站外扩网盘的解决方案,可以使用家用网络外挂个人电脑中的资源到自己的网站上,已经上传nuget,大家可以直接在nuget包管理中搜索到,直接搜索ZmjNetDisk即可,下面介绍具体的使用方式: 另外一提这个库做的比较的个人化,因为他就是为了 ...
1. 渲染系统概述 WPF 采用保留模式渲染系统 (Retained Mode Rendering System),该系统可分为 UI 线程和复合线程两个主要部分,两者协作完成 WPF 应用程序的渲染工作。 1.1 立即模式GUI和保持模式GUI 图形 API 可分为保留模式API 和即时模式API ...
我个人编写的库,在我个人网站,小程序等很多地方都在使用中,大家可以搜索小程序 什邡市宅猫君网络工作室 或者到我的网站 store.zhaimaojun.cn 去体验支付和登录效果。 本库主要实现了native pay(二维码支付)jsapi pay(小程序直接调起支付),需要注意的是这是基于api3 ...
这是我自己个人编写的日志记录,主要使用在只需要记录日志,偶尔到文件中查看一下日志记录的情况。我自己写的一些服务之类的是使用了这个的,代码很少,使用很简单。 第一步 搜索和安装我的Nuget包 搜索和安装zmjtool这个包,我写的,如下图: 第二步 引入namespace和创建logger对象 1 ...
支持.Net/.Net Core/.Net Framework,可以部署在Docker, Windows, Linux, Mac。 RabbitMQ作为一款主流的消息队列工具早已广受欢迎。相比于其它的MQ工具,RabbitMQ支持的语言更多、功能更完善。 1.发送消息、获取消息、使用消息 本文提供一 ...
前言 异常的处理在我们应用程序中是至关重要的,在 dotNet 中有很多异常处理的机制,比如MVC的异常筛选器, 管道中间件定义try catch捕获异常处理亦或者第三方的解决方案Hellang.Middleware.ProblemDetails等。MVC异常筛选器不太灵活,对管道的部分异常捕获不到 ...
.NET 6 引入了 LoggerMessageAttribute 类型。 使用时,它会以source-generators的方式生成高性能的日志记录 API。 source-generators可在编译代码时,可以提供其他源代码作为编译的输入。 LoggerMessageAttribute依赖于 ...
概述:ValueStopwatch是.NET中轻量级计时器,用于高性能时间测量。作为值类型,避免了装箱拆箱开销,内存占用小。通过简单的使用方法,轻松实现代码块执行时间测量,且相比Stopwatch更为高效。 在.NET中,ValueStopwatch是一个轻量级的计时器类,用于测量代码块的执行时间。 ...
概述:`Directory.Packages.props`和`Directory.Build.props`是.NET项目中的配置文件,分别用于统一管理NuGet包引用和自定义MSBuild构建过程。它们提高了解决方案的可维护性,通过集中配置,简化了项目文件,使团队协作更一致,同时避免了在每个项目中重 ...
示例项目:https://gitee.com/easyxaf/recharge-rules-engine-sample 前言 继上一篇文章对规则引擎编辑器进行了初步介绍之后,本文将通过实际应用案例深入探讨规则引擎编辑器的使用方法。编辑器的操作相对简单,我们将重点放在RulesEngine的讲解上。请 ...
这是我本人自己写的一个开源库,现已经发布到nuget,可以直接在vs的nuget包管理中搜索到,或者可以到nuget官网下载:https://www.nuget.org/packages/ZmjConvert/,也可以到我的个人网站上下载源码:https://www.zhaimaojun.cn/P/ ...
.NET Aspire Preview 4 is now available! Here's a summary of what's new in this preview release:.NET Aspire Preview 4 现已推出!以下是此预览版中新增内容的摘要: Podman Supp ...
c#的lamba表达式 之前已经写过一些关于委托还有事件的文章,今天就来介绍一下lambda表达式。 首先定义需要的函数以及委托 { public delegate void DoNothingDelegate(); public delegate void StudyDelegate(int id ...
前言 作为开发人员,我们经常向应用程序添加新功能并修改当前的 Api。版本控制使我们能够安全地添加新功能而不会造成中断性变更。一个良好的 Api 版本控制策略可以清晰地传达所做的更改,并允许使用现有 REST Api 的客户端在准备好时才迁移或更新他们的应用程序到最新版本。 哪些行为可能会造成 Ap ...