.net core
文章平均质量分 55
爱吃奶酪的松鼠丶
QQ:1301001603
展开
-
AspNetCoreRateLimit的使用和EnableEndpointRateLimiting“: true后不生效的解决方案
AspNetCoreRateLimit有IP限流和客户端ID限制,这里只分享IP方式。1.先安装AspNetCoreRateLimit。就行了,如果你只需要限制特定的路径,只需要配置。同时使用,会有冲突。也是导致不起作用的原因。使用一个就行 ,如果全局通用限制,使用。原创 2024-03-15 11:49:13 · 392 阅读 · 0 评论 -
ef core db first EFCore数据库优先
2.点击 工具=》Nuegt管理包=》打开控制台 输入如下命令。为数据库上下文类对象。原创 2023-03-16 15:15:45 · 221 阅读 · 0 评论 -
Docker容器化部署.net core API
1.2 找到项目根目录中的Dockerfile文件,这是VS刚刚帮我们自动生成的。进入和做如图标红地方修改。docker拉去数据库镜像后,会自动给该容器分配一个虚拟IP。3.4 此时容器就在运行了。我们可以在docker客户端进行查看。2.2 安装好后 记得配置国内下载镜像的地址,不然下载会很慢。然后回车,它会自动对相应的镜像拉取。此时可以直接通过sql管理工具去连接数据库镜像了。找打名称为sqlserve的容器。,密码就是刚刚上面设置的密码。到此我们的容器化部署完成。运行刚刚创建好的容器。原创 2023-03-03 20:08:44 · 1963 阅读 · 0 评论 -
.net core自定义数据验证。
在对数据进行输入操作时候,后台有必要做数据校验,并给前端返回正确的提示和状态码。原创 2022-12-23 23:46:24 · 548 阅读 · 0 评论 -
.net core AutoMapper的简单使用。
AutoMapper主要处理对象与对象之间的映射,减少程序员自己编写代码的工作量,提高开发效率。假如你想对原始数据,进行部分字段展示,那么你需要创建一个对应的DTO类,进行手动映射,这样太麻烦。所以可以采用自动映射。原创 2022-12-17 16:46:46 · 1455 阅读 · 0 评论 -
.NET Core之 ABP从入门到精通
ABP是一套基于WEB的快速开发引用框架,和DDD领域驱动开发有很好的结合。主要特性:模块化,多租户,认证授权,虚拟文件系统,主题系统,后台作业,事件总线,对象映射,依赖注入,数据过滤等。接下来用代码的方式介绍ABP框架的使用。一.VS创建一个ABP控制台程序打出Hello word!1.首先引入框架包Nuget中安装volo.abp.core 2.创建模块所谓的ABP模块在代码中体现就是类,我们创建一个HelloABPModule的类,然后引入using Volo.Abp.Modulari原创 2022-07-01 08:07:11 · 11636 阅读 · 0 评论 -
.net core Unable to cast object of type ‘System.DBNull‘ to type ‘System.DateTime‘.解决方案
一,如何出现的该问题使用EF core做模型渲染展示的时候,突然报错Unable to cast object of type 'System.DBNull' to type 'System.DateTime'.重字面上来看,就是类型转换错误。二,解决方案像这类问题理所当然的就去找了模型中对应的DateTime类型的属性。结果去数据库检查发现,该类型的都全部赋值,不应该报错呀。然后又仔细检查了一遍模型,还真发现端倪,因为EF core在加载模型的时候,如果使用的懒加载,他会把模型中关联的外键数据一起加原创 2022-04-27 14:02:59 · 2731 阅读 · 0 评论 -
C#多线去对数据库进行添加操作,ManualResetEvent报The number of WaitHandles must be less than or equal to 64解决方案
今天做项目有个需求,就是添加添加10万条数据到数据库,或者更多,然后为了能提高效率,很当然的想到了多线程操作。问题但是,我们通过foreach去开辟线程的时候,该如何去判断所有线程都执行完了呢?解决:这里网上找了些资料最后决定用ManualResetEvent这个类去实现对线程的控制,大概内容就是通过这个类 给每个独立的线程添加一个信号量,可以添加到线程代码的最后,通过Set()去设置,如果被标记,就代表这个线程执行完毕了。具体ManualResetEvent用法可以参考这篇文章ManualRese原创 2022-04-19 16:32:31 · 830 阅读 · 0 评论 -
blazor树形菜单通过动态渲染后,进行图标的显示和隐藏操作。
最开始想复杂了想着通过获取HTML元素的ID进行图标的显隐操作,最后发现Blazor好像无法获取HTML元素,要么就是通过JS比较麻烦。最后问了下大佬,就用了一下三元运算符 就解决了。应用场景单击树形菜单的某个节点,使选中的节点显示后面的图标。未选中的节点不显示。如下图:直接上代码: foreach (var item in TreeItems) { item.Template = (RenderTreeBuilder __builder原创 2022-04-15 09:31:23 · 781 阅读 · 0 评论 -
C#实现全局通信。
有时候在开发过程中,框架提供的通信机制可能无法满足我们的要求,这时候我们自己可以定义一个全局的事件注册器,类似于观察者模式,下面直接上代码。 public static class EventDispatcher { private static Dictionary<string, Action<object>> _actions; static EventDispatcher() { _actio原创 2022-04-13 16:55:04 · 512 阅读 · 0 评论 -
Blazor(其他项目用法一样)中的IconFont字体图标的生成和使用
我们可以进入阿里的矢量图标库,找到自己想要的图标。阿里矢量图标库图标选择好后,它提供了三种图标转换方式,如果你需要字体图标,我们点转换,然后下载到本地就行呢。下载后的内容如下,有一个dome其他的是你自己转换的字体图标文件。我们把下载完的字体图标拖入当前启动项目中,因为blazor提供的有全局引入点,我们把字体Css样式放入全局引入点,因为我们项目是服务模式,客户端模式下的全局引入点请自行查阅官方文档。点开后引入相关Css文件即可。然后我们去页面使用就可以了。 <span cl原创 2022-04-13 10:06:38 · 740 阅读 · 0 评论 -
HTTP 错误 405.0 - Method Not Allowed
IIS部署后发布程序,报HTTP 错误 405.0 - Method Not Allowed解决方案:因为我发布的是.net core程序。1.打开处理程序映射2.找到如图模块3.点击请求限制4.谓词更改5.访问原创 2022-04-08 10:35:25 · 441 阅读 · 0 评论 -
Win10系统IIS本地部署.net5详细步骤和解决500.30问题
1.先查看你发布项目机器的开发环境。打开cmd输入dotnet --info看下你发布项目的环境。切记发布环境最好和你要部署的环境一样,不然会带来很多不必要的麻烦,主要看.netsdk,host和运行时版本。2.看好环境之后,我们把项目发布到本地。2.1右键启动项目,点击发布。2.2选择文件2.3选择你发不得位置2.4点击发布等待项目发布。3.给你部署的电脑安装IIS3.1打开电脑开始,搜索,启用程序功能3.2勾选方框的东西,一定要全部展开,一个一个勾选3.3勾选完后原创 2022-03-07 10:16:20 · 5315 阅读 · 0 评论 -
.NET开发实用小工具汇总(持续更新...)
一、.net篇1 .netApi查看器,里面包含了C#几乎所有的库函数,遇到不懂的库,直接搜索查看就行了。2 .netC#源函数和库的源码查看器,只需要把元函数或者库在网站中搜索,就可以看到封装的源码了3 .net portability analyzer版本迁移工具,方便版本比对,看是否合适迁移。推荐在VS扩展中下载4 ILSPY反编译工具,推荐直接VS扩展中下载5 dnspy反编译神器6 fiddler微软的抓包工具,可以试用30天,功能强大。二、其他工具1.postman用于http请原创 2022-03-05 21:45:55 · 300 阅读 · 0 评论 -
.net core 通过ProtectedSessionStorage 会话存储进行页面传值。案例前端采用Blazor
应用场景,再跳转后不打开多个Tab的情况下,假如你需要从一个页面传一个固定参数跳转到另一个固定页面,进行数据筛选,就可以使用一下方式进行。一、在要操作的页面进行如下声明:1.先引入对应的命名空间和一些相关的注入。@using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage;@inject ProtectedSessionStorage ProtectedSessionStore2.假如当前页面只有一个按钮。用来进行点击原创 2021-12-31 15:39:48 · 1623 阅读 · 0 评论 -
EntityFrameworkCore的使用教程
一、先安装对应的数据库映射工具。一般对于的数据库映射工具包含EntityFrameworkCore的依赖。1.一般EntityFrameworkCore(ORM映射工具)安装在你的数据项目工程中,这里我通过nuget安装的sqlserver的包。对应的数据和安装对应的包就行。包名如下:Microsoft.EntityFrameworkCore.SqlServer2.然后我们建立好对应的数据Model3.Model建立完成后,我们建立数据库上下文文件如下:该类需要继承DbContext,跟数据库的原创 2021-11-21 21:28:34 · 7909 阅读 · 0 评论 -
.Net core 安装部署文档(只适用于IIS服务器部署)
一、安装相应的环境安装IIS的参考教程:win10如何安装IIS安装开发SDK:.Net Core SDK安装运行时Runtime:(可以直接安装Run server apps 这个是最新的运行时).Net Core Runtime4.安装Run server apps如果不装这个会报500.19这个错误。二、发布项目生成网站(将网站生成到你指定的文件夹)2.创建IIS网站(发布对应的文件夹)遇到的问题如果启动的时候包500错误,先检查IIS是否安装完成,这里建议IIS里的东原创 2021-11-15 14:18:13 · 1164 阅读 · 0 评论 -
asp.net core模型优先,创建数据,更新数据库的步骤。
一。先建立模型在Models中建立对应的模型,比如下面这样namespace Fakexiecheng.API.Models{ public class LineItem { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } [ForeignKey("TouristRouteId")]原创 2021-10-21 19:20:10 · 601 阅读 · 0 评论 -
Asp.net core 身份认证框架 Microsoft Identity的使用以及如何使用Idengtity创建自带的用户模型SignInManager和UserManager的使用等等
要启动身份认证组件,首先要更改数据库上下文中继承的关系,原本我们是继承于Dbcontext这个类,现在我们需要继承IdentityDbContext继承这个类,我们需要安装对应的框架,如图:这里注意,版本一定要和你.net core 框架版本一致,不然不匹配。框架安装完成后,我们进入数据库上下文类引入框架。接着,将DbContext替换为IdentityDbContext其中IdentityDbContext里的泛型IdentityUser就是身份认证的数据库结构,相当于UserMode原创 2021-10-14 20:35:07 · 6094 阅读 · 0 评论 -
Asp.net core [单点登录sso] JWT与用户身份验证的具体实现
什么是 JWT – JSON WEB TOKENJWT官网下面我们来具体实现先为服务创建一个jwt1.先给项目安装相应的包 如图:提醒一下,这玩意要和你.net core框架版本一致。我用的3.1稳定版接下来我们来在服务端使用JWT创建Token代码如下: [AllowAnonymous]//允许所有人访问 [HttpPost("login")] public IActionResult login([FromBody] LoginDto loginDto)原创 2021-09-27 22:21:33 · 4821 阅读 · 4 评论 -
通过自定义ModelBinding将Json格式转换为Guid列表。
参考直接上代码呢,里面写了注释。using Microsoft.AspNetCore.Mvc.ModelBinding;using System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using System.Reflection;using System.Threading.Tasks;namespace Fakexiecheng.API.Helper{ /原创 2021-09-23 10:54:40 · 205 阅读 · 0 评论 -
Asp.Net Core JsonPatch的使用。实现局部更新。
JsonPatch简介可以自己百度一下先看一下前端发送的更新主体前端发送的操作主体是一个数组,其中op代表的是相关操作,path表示的是更新的目标资源字段,value是需要替换的值。JsonPatch也可以对子资源进行操作,比如图中的最后一条操作,更新局部的url,操作后picture下的其他字段是保持不变的。JsonPatch一共有6种操作,不支持自定义操作。下面我们来通过代码具体实现一下,JsonPatch的用法。1.首先添加jsonpatch的包接下来看下实现的代码 /// <原创 2021-09-22 15:28:45 · 789 阅读 · 0 评论 -
.net core CreatedAtRoute函数返回状态码500 所遇到的问题。
//获取单个旅游路线中的单张照片 加{}表示get路由要传入的参数 [HttpGet("{pictureId}",Name = "GetPicture")] public IActionResult GetPicture(Guid touristRouteId ,int pictureId) { //判断路线是否存在 if (!_touristRouteRepository.TouristRouteEx..原创 2021-09-15 22:02:03 · 309 阅读 · 0 评论 -
.net coer IQueryable类型的执行逻辑(延迟执行),认真看,你会有收获的。
先看图IQueryable在使用EF框架时候,我们都会使用Linq表达来创建sql语句式进行数据查询使用Linq表达式创建的变量 就是IQueryable变量在完成IQueryable的创建以后,我们的表达式不会立即执行,所以Linq返回的IQueryable类型并不是查询结果,而是延迟执行的表达式,最后直到我们使用聚合函数操作之后,才会真正执行数据库的操作。延迟执行的目的:1.为后续动态表达提供可能,比如下面代码: public IEnumerable<TouristRoute&g.原创 2021-09-13 19:29:44 · 513 阅读 · 0 评论 -
.net core之向API传参使用Attribute的五种方式
原创 2021-09-13 10:42:07 · 1024 阅读 · 0 评论 -
.net core之使用EF进行数据迁移的二种方式。
第一种 通过命名行的形式(cmd)不推荐(这种方式相对比较麻烦)因为微软在.net core 3.1版本后 就没有dotnet命令了 要你自己安装我们打开打开控制台后 输入一下代命令 进行安装dotnet tool install --global dotnet-ef 按好后在文件夹里进行cmd输入dotnet ef migrations add DataSeeding进行数据迁移DataSeeding是你取的类名称如图然后我们对数据库进行更新执行一下命令dotnet ef原创 2021-09-09 23:29:03 · 1259 阅读 · 0 评论