![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
今夜來看雪
工作领域,.NET后端、C#上位机开发
展开
-
C#引用Web Service 类型方法,添加搜索本地服务器Web Service 接口调用方法
在这里插入图片描述](https://img-blog.csdnimg.cn/555ba4fa5e2a418f8f85539a9406bcd6.png)首先保证现在网络能调用web service接口,右键项目添加服务引用。输入搜索的服务器接口,选中你要添加调用的方法即可。原创 2023-08-11 10:20:43 · 1210 阅读 · 0 评论 -
C# 连接mysql数据库报错:Character set ‘utf8mb3‘ is not supported by .Net Framework.
C# 连接mysql数据库报错:Character set 'utf8mb3' is not supported by .Net Framework.原创 2023-07-17 09:23:19 · 2680 阅读 · 1 评论 -
C#把类字段数据转成json数据存到本地txt文件,以及取出来
首先新建一个TxTModel类。原创 2023-05-26 15:05:44 · 928 阅读 · 0 评论 -
.net web api用efcore实体添加数据报错记录:System.Text.Json.JsonException: A possible object cycle was detecte
*问题描述:**这个错误是由于 JSON 序列化时出现了循环引用(也就是对象之间相互引用)导致的。默认情况下,EF Core 的导航属性是延迟加载的,这就意味着当你序列化实体类时,会包含很多导航属性,这些导航属性中可能会有循环引用,从而导致上面的错误。**解决方法:**在 Startup.cs 中的 ConfigureServices 方法中设置 ReferenceLoopHandling 选项为 ReferenceLoopHandling.Ignore。原创 2023-03-14 15:53:03 · 437 阅读 · 1 评论 -
.net 6 web api给Swagger添加api注释
默认情况下我们api是没有注释的在api方法上面添加xml注释在Program.cs文件配置Swagger,添加以下代码AssemblyGetNameName。原创 2023-03-14 14:27:56 · 652 阅读 · 0 评论 -
.net web api在MVC架构下添加过滤器,返回统一类型,异常处理
.net web api在MVC架构下添加过滤器,返回统一类型,异常处理原创 2023-03-10 12:42:58 · 258 阅读 · 0 评论 -
.net 6 web api项目添加日志(Serilog)管理,将日志输出到控制台、文件、数据库
用Serilog日志库配置日志管理,将日志输出到控制台、输出到mysql数据库、输出到文件原创 2023-03-10 10:41:51 · 3606 阅读 · 2 评论 -
.net6 web api使用EF Core,根据model类自动生成表
.net6 web api使用EF Core,根据model类自动生成表,想要创建数据库,表添加model类即可,省去了还要去数据库表手动创建的繁琐原创 2023-03-08 17:28:02 · 1905 阅读 · 0 评论 -
.net 6创建最小api项目手动添加控制器
1.手动创建Controllers文件夹,在文件夹下添加api控制器。3.在Program.cs注册控制器中间件。2.在api控制器里面添加接口。原创 2023-03-08 10:44:12 · 343 阅读 · 0 评论 -
在winform上依赖注入sqlsugar,可全局引用
【代码】在winform上依赖注入sqlsugar,可全局引用。原创 2023-02-24 11:02:22 · 2418 阅读 · 1 评论 -
winform快速自定义布局计算实现
前言:当winform界面放大时,我们布局就会显的很难看,这时候我们就要用到自定义布局,控件跟着界面缩放而自适应。原创 2023-01-14 22:04:11 · 1003 阅读 · 0 评论 -
C# list根据字段生成排名
需求分析,我们要根据一个变量来生成排名,变量数值相同则在同一名,名数则跳过,比如第一有两个,那就不会有第二名,直接到第三名。原创 2022-08-22 23:33:35 · 558 阅读 · 2 评论 -
Sqlsugar语句当查询条件为空时默认查询全部数据,不为空是则按照条件进行查询
需求描识:当我们查询时,要根据前端传的参数字段是否为空来查询,字段为空则返回全部,不为空则只返回匹配的参数原创 2022-08-13 23:19:48 · 2882 阅读 · 0 评论 -
.net 6web api注册sqlsugar全局引用
记得在appsettings.json配置数据库连接字符串。打开Startup.cs配置下面代码。然后我们就可以在页面上使用了。原创 2022-08-13 14:04:37 · 757 阅读 · 0 评论 -
.net 6 web api 简单配置跨域
跨域(CORS)请求:同源策略/SOP(Same originpolicy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。浏览器和服务器实现跨域(CORS)判定的原理...原创 2022-08-09 22:11:04 · 2129 阅读 · 0 评论 -
C# 中 Linq 随机排序
Grid.NewGuid()方法返回的一个随机32位不重复Guid字符串。因为每次生成的Guid字符串大小都不同,且大小与生成先后无关,所以按这个“键”排序后的整数序列的顺序是随机的。原创 2022-07-20 14:10:18 · 768 阅读 · 0 评论 -
visual studio代码解析(注释)英文换成中文包
前文:我们用visual studio看别人代码或者看函数不知道意思的时候,看鼠标下滑看官方提示,又是全英文看不懂,这种情况换成中文就会很大提高代码书写效率,大家也可以去看官方文档是怎么教我们做的:https://docs.microsoft.com/zh-cn/dotnet/core/install/localized-intellisense...原创 2022-07-14 14:30:58 · 4627 阅读 · 5 评论 -
.Net5 框架搭建登录模块:JWT+IHttpContextAccessor实现用户认证以及用户信息获取
前言相信用做过登录功能的小伙伴都知道,用户登录成功后的有用信息,如:姓名、用户ID等等,无非这几种做法来保存这些信息,Session、Cookie、QueryString等等。但如今跨平台,百花齐放的时代,小程序啊、APP端啊、多端时代,最常见的就是单点登录,这明显传统上的传参方式就无法满足我们现有的需求。那么就会引用一个新的传参方式:JWT,根据维基百科的定义,JSON WEB Token(JWT),是一种基于JSON的、用于在网络上声明某种主张的令牌(token),是目前最流行的接口认证方案。对于它的转载 2022-04-20 20:30:57 · 1816 阅读 · 0 评论 -
EF Core根据sql server或MySql数据库表生成实体类命令
前言:首先安装好EF Core和数据库对应包,安装迁移在上一篇文章原创 2022-04-19 18:13:14 · 1633 阅读 · 0 评论 -
从零开始手把手教你,.net 6用EF Core基本创建表,迁移到SQL Server数据库
前言:用到的迁移命令:Add-Migration test 生成迁移文件命令,test是迁移文件名称Update-Database 迁移更新到数据库用到的NuGet包Microsoft.EntityFrameworkCoreMicrosoft.EntityFrameworkCore.ToolsMicrosoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.Design一.创建项目,安装需要依赖包创建完成后安装N原创 2022-04-19 00:16:30 · 3199 阅读 · 2 评论 -
SQL server 2019和 SSMS下载与安装教程
SQL server(2019版本)安装一、SQL server 下载1、下载链接:SQL server官网2. 打开开始安装,如果出现以下问题以管理员身份运行PowerShell,运行以下两个命令:Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type Dword Set-ItemPr原创 2022-04-18 22:36:07 · 13385 阅读 · 1 评论 -
C#简单使用反射
前言:反射提供描述程序集、模块和类型的对象(Type 类型)。 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型,然后调用其方法或访问器字段和属性。 如果代码中使用了特性,可以利用反射来访问它们。解释:上面看不懂可以这里,我用简单举例來解释什么是反射,比如我们写了一个web api接口接收到的不知道是什么类型的数据,不明确数据源数据类型,但是我们要去里面拿到我们想要的属性 数据,当然反射还有别的用法,刚才只是简单举例代码示例首先我们要用.GetType(); //获取类原创 2022-04-17 22:15:07 · 1910 阅读 · 0 评论 -
C# Json序列化笔记
序列化成List类型:List要序列化的对象变量:jsonJsonSerializer.Deserialize<List<object>>(json);原创 2022-04-17 21:38:54 · 299 阅读 · 0 评论 -
Asp.Net Core中简单使用日志组件log4net
Asp.Net Core中简单使用日志组件log4net本文将简单介绍在.NET 6中使用log4net的方法,具体见下文范例。1.首先新建一个ASP.NET Core空项目2.通过Nuget包管理器安装下面两个包log4netMicrosoft.Extensions.Logging.Log4Net.AspNetCore3.在项目根目录下新建log4net的配置文件log4net.config,并将其设置为始终复制。<?xml version="1.0" encoding="utf-转载 2022-04-17 00:11:33 · 1527 阅读 · 0 评论 -
.net 6 简单使用redis
前言:要使用redis,首先电脑要先下载安装redis,下载安装可以看我上一篇文章 https://blog.csdn.net/weixin_44442366/article/details/124205310我们用StackExchange.Redis包在.NET Core中使用Redis实现缓存,如果想可视化查看redis缓存里面的数据可以安装RedisDesktopManager。一、在NuGet搜索安装StackExchange.Redis包二、在appsettings.json文件里面添加原创 2022-04-16 00:16:31 · 5005 阅读 · 0 评论 -
C#扩展方法
扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。实例:下面我们定义了一个string类型的扩展方法tointclass,作用是字符串转int,所以下面输出结果应该为7using System;namespace ConsoleApp2{ internal class Program { static void Main(string[] arg原创 2022-04-10 00:58:28 · 543 阅读 · 0 评论 -
C#空合并运算符
C#空合并运算符 ??=下面的代码意思是判断一个变量,是否为空,如果为空就赋值sstring a=null;if(a==null){ a="s"}上面代码看起来一点都不简洁,我们可以用??=这样写代码效果意思和上面的是一样的,这样看起来是不是更加简洁了呢string a=null;a??="s";...原创 2022-04-09 23:44:44 · 242 阅读 · 0 评论 -
.net6 项目Docke容器化打包部署
1.在项目添加Dockerfile文件,右键项目选择添加,选择Docker支持2. 修改Dockerfile文件,第一步添加成功后,项目自动生成一个Dockerfile文件,就是图下这个文件2.1修改Dockerfile文件内容,我们主要修改文件内容涉及到的路径,因为我们Dockerfile文件已经在项目路径下了,我们需要把一些不必要的路径替换掉下面这几个路径改前COPY ["JWTDemo/JWTDemo.csproj", "JWTDemo/"]RUN dotnet restore "JWT原创 2022-04-09 01:09:39 · 4904 阅读 · 3 评论 -
.net6 基本使用JWT生成Token,模拟用户登录,启动api授权,需要登录携带token才能请求数据,基本给用户添加权限管理
1. 创建好项目,添加一个控制器,新建用户登录api接口和接收用户登录信息类DtoDto就包含两个字段,账号和密码2. 安装NuGet包,搜索JWT,安装图下这个包3. 在appsettings.json添加JWT加密需要的私钥,发布者等相关配置信息,私钥用户可以自定义。私钥:SecretKey发布者:Issuer接收者:Audience"Authentication": { "SecretKey": "nadjhfgkadshgoihfkajhkjdhsfaidkuahfh原创 2022-04-07 16:02:30 · 18280 阅读 · 10 评论 -
.net 6基本封装使用Dapper,Mysql,sql server数据库
安装NuGet包:Dapper和MySql.Data,如果是sql server数据库则安装System.Data.SqlClient新建Dapper文件夹,里面新建BaseDBContext上下文类代码内容:using MySql.Data.MySqlClient;using System.Data;using System.Data.SqlClient;namespace WebApplication1.Dapper{ public class BaseDBContext.原创 2022-04-05 21:16:56 · 7435 阅读 · 1 评论 -
net 6框架下的EF Core操作数据库表操作基本增删改查
前言:接着上篇文章,上篇我们创建了web api项目,用EF Code创建表迁移到了数据库,文章地址https://blog.csdn.net/weixin_44442366/article/details/123887300这篇我们來操作数据库表基本增删改查首先创建两个文件夹用于定义和实现方法,分别是IService和Service在Iservice创建接口IBaseService,用于定义基本的增删改查方法接口然后在类写IBaseService where TEntity : cla原创 2022-04-01 15:47:38 · 5611 阅读 · 4 评论 -
C#错误记录nable to resolve service for type ‘WebApplication1.ISevice.ICityService‘ while attempting to a
今天写web api项目通过依赖注入的方式注入到Controller里面,但是却出现了nable to resolve service for type ‘WebApplication1.ISevice.ICityService’ while attempting to a这样一个错误解决方法是需要在Program里面注册一下。builder.Services.AddScoped<ICityService,CityService>();...原创 2022-04-01 14:54:54 · 566 阅读 · 0 评论 -
.net6.0创建asp.net core webapi项目,添加api接口
创建完项目后结构是这样的,NET6.0跟NET5.0创建的asp.net core webapi项目对比:NET5.0创建的webapi项目有一个Startup.cs文件。在NET6.0下面没有了。右键Controllers控制器文件夹添加控制器选择api添加几个接口测试下运行后...原创 2022-04-01 09:56:36 · 1750 阅读 · 0 评论 -
从零开始手把手教你,.net 6用EF Core基本创建表,迁移到mysql数据库
一 创建web api项目选择asp.net core web api项目下一步框架选择.net 6,配置Https要和不要都可以,其他默认,然后点击创建创建完成后是这样的二 创建准备迁移的表右键添加文件夹,创建一个Context的文件夹,用于存放创建表的类右键依赖项,点击管理NuGet程序包,搜索安装Pomelo.EntityFrameworkCore.MySql在Context文件夹创建City类类定义几个变量,也就是迁移到数据库的字段using System.Compo原创 2022-04-01 00:53:33 · 6212 阅读 · 5 评论 -
.net sqlserver,mysql数据库连接串
mysql连接字符串"DbConnectionString": " Data Source=127.0.0.1;Database=netcoredev1;AllowLoadLocalInfile=true;User ID=root;Password=jxx!@#123..errrewJXXX;allowPublicKeyRetrieval=true;pooling=true;CharSet=utf8;port=3306;sslmode=none;",sqlserver连接字符串 "DbConnec原创 2022-03-31 23:18:14 · 1304 阅读 · 0 评论 -
wpf样式触发器,鼠标进入阴影效果
效果首先书写Style定义属性应用哪个标签,下面我用的是BorderTargetType=“Border”<Border.Style> <Style TargetType="Border"> </Style></Border.Style>选择触发方式按钮鼠标经过 :Property=“IsMouseOver”<Style.Triggers> <Trigger Property="IsMouseOver" Value="原创 2022-03-27 21:22:05 · 829 阅读 · 1 评论 -
wpf 窗口最大化,最小化,关闭,拖动,双击放大缩小窗口基本事件
定义几个按钮,和导航栏,都给个Name <materialDesign:ColorZone Padding="16" x:Name="ColorZone"/> <Button x:Name="BtnMin" Content="—" Style="{StaticResource MaterialDesignFlatMidBgButton}"></Button> <Button原创 2022-03-26 16:02:34 · 9416 阅读 · 1 评论 -
wpf 取消边框,启动居中,允许透明,Panel容器属性笔记
取消边框栏 WindowStyle="None"启动居中WindowStartupLocation="CenterScreen"允许透明,取消四边白色边边 AllowsTransparency="True"DockPanel容器取消最后一个元素填充<DockPanel LastChildFill="False">DockPanel里面的容器靠左<DockPanel LastChildFill="False"> <StackPanel DockPa原创 2022-03-26 15:53:13 · 415 阅读 · 0 评论 -
WPF MvvM框架prism模块笔记
可以用项目引入方式,代码添加模块,先添加项目引用,然后在App.xaml.cs实现ConfigureModuleCatalog方法添加模块 protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog) { //添加模块 moduleCatalog.AddModule<ModuleAProFile>(); modu.原创 2022-03-22 15:56:49 · 462 阅读 · 0 评论 -
WPF 框架prism代码笔记
代码笔记 private readonly IRegionManager regionManager; //事件 public DelegateCommand<string> OpenCommand { get; private set; } //构造函数初始化事件 public MainViewModel(IRegionManager regionManager) {原创 2022-03-22 15:34:58 · 199 阅读 · 0 评论