• 2024-09-29从0到1搭建权限管理系统系列四 .net8 中Autofac的使用(附源码)
    说明  该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。   该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。   说明:OverallAuth2.0是一个简单、易懂、功能强大的权限+可视化流程管理系统。友情提醒:本篇文章是属于系
  • 2024-09-28.Net8使用Cli命令创建基础项目
    第一步:创建项目结构#创建解决方案dotnetnewsln-nFxcdFx#创建WebAPI层dotnetnewwebapi-nFx.WebApi#创建Application层dotnetnewclasslib-nFx.Application#创建Domain层dotnetnewclasslib-nFx.Domain#创建Infrastructure层dotnetne
  • 2024-09-23从0到1搭建权限管理系统系列三 .net8 JWT创建Token并使用
    说明  该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。   该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。   说明:OverallAuth2.0是一个简单、易懂、功能强大的权限+可视化流程管理系统。结合上一篇文章使用,味道更
  • 2024-09-04解决在.net8 WebAPI中 AOP 使用AbstractInterceptorAttribute
    在网上找了许多例子但是放在.net8就不好使了比如在Program中配置IInterceptor或者 services.ConfigureDynamicProxy,网上说的对但是也不全对//通过单元测试(MSTest)//创建IServiceCollectionIServiceCollectionservices=newServiceCollection(); 是能调用Abstr
  • 2024-09-02MediatR实现高效信息传递,以.net8做demo演示
    MediatR是.NET下的一个实现消息传递的库,轻量级、简洁高效,用于实现进程内的消息传递机制。它基于中介者设计模式,支持请求/响应、命令、查询、通知和事件等多种消息传递模式。通过泛型支持,MediatR可以智能地调度不同类型的消息,非常适合用于领域事件处理。我们将定义一个命令、
  • 2024-08-30.net8 aot 发布
    AOT是AheadOfTime的缩写,指运行前编译,是两种程序的编译方式之一,与JIT(Just-in-time)相对.net 对操作系统的支持情况操作系统.NET8(体系结构).NET6(体系结构)Windows11✔️x64、x86、Arm64✔️x64、Arm64WindowsServer2022✔️x64、x86✔️x64、x86Windows10版本
  • 2024-08-28.NET8 接入qwen2大语言模型
    前言dotnet8项目接入qwen大模型,这个主要用到了大模型管理工具叫做ollama有了它,接入大模型soeasy。使用ollama可以接入很多大模型,详见:https://ollama.com/library环境vs2022previewdotent8Windows10企业版1、下载ollamahttps://github.com/ollama/ollama安装完成
  • 2024-08-27ASP.NET8 中使用 AutoMapper 配置
    ASP.NET8中使用AutoMapper配置菜鸟新人学习.NET记录,找到了个类似Springboot框架中的Mapstruct的工具,就是配置资料不是很多,踩了蛮多坑的。假设现在有一个USER类,我想将它转换成USERVO把其中的pwd字段給隐藏掉,通过AutoMapper可以不用每个字段赋值创建对象这样子,直接上
  • 2024-08-27ASP.Net8 中使用 JWT 鉴权的异常处理
    .Net8中使用JWT鉴权的异常处理自己搭了个学习Demo想用JWT給后端做鉴权,结果一直报一些奇奇怪怪的异常,最主要是和写业务代码不一样,因为用了官方提供的包很难排查出问题所在,这次有点像以前学Spring的时候,也是一点一点摸着石头过河,最后还是同事帮忙看出来问题在哪的。问题1:I
  • 2024-08-22.net8 的webapi部署到华为云的操作
    首先还是打包到文件夹:我的服务器是X64的centos8系统,所以我的配置如图: 发布后,我没有用它的dockerfile,而是用的docker-compose去编写的docker脚本,如下:services:ticket_manager_Api:#服务名称container_name:ticket_manager_Api#容器名称hostname:ticke
  • 2024-08-22.Net8 部署到IIS 10 上需要注意的点
    现在大部分项目都上云了,而且是linux的系统,这部分我下一篇再讲,这次讲一下如何部署到iis10,首先项目点击发布-》目标框架.net8部署模式是独立,目标运行时是win-x64,你也可以选择部署模式为依赖框架,目标运行时选择可移植,但是这样的话要注意IIS的应用程序池选择启用32位应用程序,如果是
  • 2024-08-19.NET8 Blazor 从入门到精通:(三)类库和表单
    目录Razor类库创建使用使可路由组件可从RCL获取静态资源表单EditForm标准输入组件验证HTML表单Razor类库这里只对RCL创建和使用的做一些简单的概述,详细内容参考官方文档使用Razor类库(RCL)中的ASP.NETCoreRazor组件。创建创建Razor类库跟创建普通类库步骤一
  • 2024-08-16.NET8 Blazor 从入门到精通:(二)组件
    目录Blazor组件基础路由导航参数组件参数路由参数生命周期事件状态更改组件事件Blazor组件基础新建一个项目命名为MyComponents,项目模板的交互类型选Auto,其它保持默认选项:客户端组件(Auto/WebAssembly):最终解决方案里面会有两个项目:服务器端项目、客户端项目,组件按
  • 2024-08-12.NET8 缓存的使用
    .NET8下面的几种缓存的使用。(1)ICache.cs   usingSystem;usingSystem.Threading.Tasks;publicinterfaceICache{#region设置缓存///<summary>///设置缓存///</summary>///<paramname="key"&
  • 2024-08-10.NET8 中空引用处理以及DDD相关概念
    作为一名.NET开发者,小白很开心看到.NET版本更新后,.NET语法越来越有意思,写起来也越来越有趣。很多新的语法,虽然变化不小,但是对小白这位从.NETFramework就开始写.NET的程序员来说,那也是信手拈来。但是小白发现string都开始变为可空的时候,那还是认真的翻阅了一下相关的资料,以免不
  • 2024-07-31Net8将Serilog日志推送ES,附视频
    这是一个Serilog的实践Demo,包括了区别记录存放,AOP日志记录,EF执行记录,并且将日志推送到ElasticSearch。说在前面的话自从AI出来之后,学习的曲线瞬间变缓了,学习的路径也有了很大的变化。与本人来说以前大多数都先知晓理论再找相关的框架官网或博客,然后去实践Demo,再加入到代码
  • 2024-07-26IIS同一站点下发布两个或多个net8、net core应用程序池
    IIS同一站点下布两个net8、netcore报“ASP.NETCoredoesnotsupportmultipleappsinthesameapppool”,意思是多个.netcore程序不支持同一个程序池。那我们手动在创建一个程序池,分给另一个应用程序就可以了。步骤如下:1、点击IIS“应用程序池”-》添加应用程序池 2、
  • 2024-07-24.NET8的AOT技术
    AOT技术的好处:提升启动速度;降低发布包的大小;内存占用小;编译为字节码反编译难度加大;  项目配置<PropertyGroup><RuntimeIdentifier>win-x86;win-x64;osx-x64;linux-x64</RuntimeIdentifier><!--根据需要设置--><PublishSingleFile>true</PublishSingleFile><P
  • 2024-06-21升级.Net8后Jwt密钥长度要求大于32的问题
    原因前段时间将项目升级到.net8后,提示jwt密钥长度太短了,这咋办,我解决1. 最简单的办法,把密钥长度加长2. 如果你的项目只需要验证token,而不需要生成,就:SymmetricSecurityKeyExtendKeyLengthIfNeeded(SymmetricSecurityKeykey,intminLenInBytes){
  • 2024-06-11NET8中增加的简单适用的DI扩展库Microsoft.Extensions.DependencyInjection.AutoActivation
    这个库提供了在启动期间实例化已注册的单例,而不是在首次使用它时实例化。单例通常在首次使用时创建,这可能会导致响应传入请求的延迟高于平时。在注册时创建实例有助于防止第一次Request请求的SLA以往我们要在注册的时候启动单例可能会这样写://注册:services.AddSingleton<Fil
  • 2024-06-01在 .NET8 应用程序中将HTML页面转换为 PDF
    在.NET8应用程序中将HTML页面转换为PDF2024年5月31日ExpertPDFHtmlToPdfConverter19.0.0解锁了性能提升和下一代功能,实现了无缝的HTML到PDF转换。ExpertPDFHtmlToPdfConverter是由OutsideSoftware开发的.NET库,它使程序员
  • 2024-05-27.NET8序列化与反序列化
    序列化与反序列化JSON简介JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,采用类的形式来描述数据之间的关联关系。JSON是一个序列化的对象或数组。JSON中仅有六个构造字符([、]、{、}、:、,),以及无意义的空白符(换行、空间等)JSON中的数据类型:对象(使用{})、数组(使用[])、
  • 2024-05-27.NET8极致性能优化AOT
    前言.NET8对于性能的优化是方方面面的,所以AOT预编译机器码也是不例外的。本篇来看下对于AOT的优化。原文:.NET8极致性能优化AOT详述首先明确一个概念,.NET里面的AOT它是原生的。什么意思呢?也就是说通过ILC编译器(AOT编译器,参考:.Net7新编译器ILC简析)编译出来的代码是各个平
  • 2024-05-22.NET8 Identity Register
    分享给需要帮助的人:记一次IdentityAPI中注册的源码解读:设置用户账户为未验证状态,以及除此之外更安全的做法:延迟用户创建。包含了对优缺点的说明,以及适用场景。在ASP.NET8Identity中注册API的源码如下:routeGroup.MapPost("/register",asyncTask<Results<Ok,ValidationP
  • 2024-05-21.net8 winform程序使用EntityFrameworkCore连接数据库
    在.NET8WinForms应用程序中使用EntityFramework(EF)Core,你需要按照以下步骤操作:1.添加EntityFrameworkCoreNuGet包。2.定义你的数据模型。3.创建数据库上下文(DbContext)。4.在数据库上下文中配置EntityFramework。5.使用EntityFrameworkCore的API来执行数据库操作。