ASP.NET Core

asp.net core服务中的限流

元气小坏坏 提交于 2021-01-25 17:24:36
使用了AspNetCoreRateLimit三方库,starup.cs配置如下。 using AspNetCoreRateLimit; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.OpenApi.Models; namespace RateLimitDemo01 { public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } public void ConfigureServices(IServiceCollection services) { // needed to load configuration

终于弄明白了 Singleton,Transient,Scoped 的作用域是如何实现的

风格不统一 提交于 2021-01-25 06:59:38
一:背景 1. 讲故事 前几天有位朋友让我有时间分析一下 aspnetcore 中为什么向 ServiceCollection 中注入的 Class 可以做到 Singleton,Transient,Scoped,挺有意思,这篇就来聊一聊这一话题,自从 core 中有了 ServiceCollection, 再加上流行的 DDD 模式,相信很多朋友的项目中很少能看到 new 了,好歹 spring 十几年前就是这么干的。 二:Singleton,Transient,Scoped 基本用法 分析源码之前,我觉得有必要先介绍一下它们的玩法,为方便演示,我这里就新建一个 webapi 项目,定义一个 interface 和 concrete ,代码如下: public class OrderService : IOrderService { private string guid; public OrderService ( ) { guid = $ "时间: {DateTime.Now} , guid= { Guid.NewGuid()} " ; } public override string ToString ( ) { return guid; } } public interface IOrderService { } 1. AddSingleton

上周热点回顾(5.20-5.26)

你。 提交于 2021-01-25 06:47:51
热点随笔: · 一个C#开发者重温C++的心路历程 ( kiba518 ) · 爱奇艺面试Python,竟然挂在第5轮…… ( 上海小胖 ) · Dapper的正确使用姿势 ( 农码一生 ) · 使用vs2019进行Linux远程开发 ( apocelipes ) · 构建自己的简单微服务架构(开源) ( 雪雁 ) · ASP.NET Core模块化前后端分离快速开发框架介绍之1、开篇 ( oldli ) · 记一次ORM的权衡和取舍 ( 张飞洪 ) · SpringCloud 分布式事务解决方案 ( SimpleWu ) · RabbitMQ最佳实践 ( 无知者云 ) · .NET 5 - 下一代.NET ( lex-wu ) · [NewLife.XCode]百亿级性能 ( 大石头 ) · 谷歌断供华为:背水一战,自研芯片系统将上线 ( 我命倾尘 ) 热点新闻: · Apache 基金会与 GitHub 都受美国法律约束!开源当自立 · 任正非回应美国禁令延期90天:没意义 我们准备好了 · 30多年前,日本是如何输掉芯片战争的? · 外媒称谷歌停止与华为开展业务 华为或将只能使用开源Android · 任正非回应美国封杀:不要煽动民族情绪,不能狭隘认为爱华为就用华为手机 · 余承东:华为OS操作系统最早今年秋天面市 · 否认断供华为背后,联想的进退两难 ·

.NET5WTM(ASP.NET Core) PGSql开箱操作

佐手、 提交于 2021-01-24 10:33:54
本人WTM忠实粉丝一枚,1月份WTM终于千呼万唤始出来,本来一个开箱操作没啥好写的,但是由于本人今年工作需求,数据库由过去一直使用的sqlserver向pgsql转变。以后日子里,开发时候pgsql使用会逐渐多起来,当然sqlserver我是不会放弃的。以后wtm+pgsql的踩坑博客多逐渐多起来,大家一起成长。今天就来一个pgsql开箱的博客。 一、到WTM官网生成并下载一个项目并配置使用pgsql 这是使用WTM的.neter都会的。我们不做任何操作,直接生成并下载。解压生成的项目,并打开appsettings.json修改Connections的Value和DBType,指定我们使用的数据库为PgSql。pgsql安装完成之后默认的用户名是postgres,密码时安装时你自己设定的。详细的设置如下: "Connections": [ { "Key": "default", "Value": "User ID=postgres;Password=123456;Host=localhost;Database=PGSqlTest_DB;Pooling=true;", "DbContext": "DataContext", "DBType": "PgSql" //DataBase, you can choose mysql,sqlserver,pgsql,sqlite,oracle

如何在 ASP.NET Core 中实现重定向

删除回忆录丶 提交于 2021-01-22 16:35:33
ASP.NET Core 是一个跨平台,开源的,轻量级的,模块化的,用于构建高性能的 web 开发框架, ASP.NET Core MVC 内置了多种方式将一个 request 请求跳转到指定的url,这篇文章我们就来讨论如何去实现。 理解 RedirectActionResult ASP.NET Core MVC 中内置了几种 Redirect,比如说:RedirectResult, RedirectToActionResult, RedirectToRouteResult 和 LocalRedirectResult,这些类都继承于 ActionResult 并可给前端返回 Http 302,Http 301,Http 307 和 Http 308 这些状态码。 接下来的文章中我们就来看看如何使用这些类。 使用 RedirectResult 可以使用下面任何一个方法来返回 RedirectResult。 Redirect 返回 Http 状态码为 302 RedirectPermanent 返回 Http 状态码为 301 RedirectPermanentPreserveMethod 返回 Http 状态码为 308 RedirectPreserveMethod 返回 Http 状态码为 307 具体状态码代表什么意思,大家可查专业资料,下面的代码展示了如何使用这些方法。

为你的项目启用可空引用类型

那年仲夏 提交于 2021-01-22 13:57:02
为你的项目启用可空引用类型 Intro C# 从 8.0 开始引入了可空引用类型,我们可以为项目启用可空引用类型来借助编译器来帮助我们更好的处理代码中的空引用的处理,可以避免我们写很多不必要 null 检查,提高我们的效率 Why 为什么我们要启用可空引用类型呢,首先我们可以看一下 asp.net core 项目,asp.net core 的项目正在大量的使用可空引用类型,详情可以参考:https://github.com/dotnet/aspnetcore/issues/5680 Updating ASP.NET Core to use C# 8's nullable reference types would: Help ASP.NET Core libraries avoid null reference exceptions internally. It will help us find and prevent our bugs and increase our developer productivity Provide guidance to developers who are using ASP.NET Core about which APIs can accept and return a null reference and which APIs can't

如何 ASP.NET Core 中实现重定向

拥有回忆 提交于 2021-01-22 13:54:06
ASP.NET Core 是一个跨平台,开源的,轻量级的,模块化的,用于构建高性能的 web 开发框架, ASP.NET Core MVC 内置了多种方式将一个 request 请求跳转到指定的url,这篇文章我们就来讨论如何去实现。 理解 RedirectActionResult ASP.NET Core MVC 中内置了几种 Redirect,比如说:RedirectResult, RedirectToActionResult, RedirectToRouteResult 和 LocalRedirectResult,这些类都继承于 ActionResult 并可给前端返回 Http 302,Http 301,Http 307 和 Http 308 这些状态码。 接下来的文章中我们就来看看如何使用这些类。 使用 RedirectResult 可以使用下面任何一个方法来返回 RedirectResult。 Redirect 返回 Http 状态码为 302 RedirectPermanent 返回 Http 状态码为 301 RedirectPermanentPreserveMethod 返回 Http 状态码为 308 RedirectPreserveMethod 返回 Http 状态码为 307 具体状态码代表什么意思,大家可查专业资料,下面的代码展示了如何使用这些方法。

为你的项目启用可空引用类型

*爱你&永不变心* 提交于 2021-01-21 02:01:40
为你的项目启用可空引用类型 Intro C# 从 8.0 开始引入了可空引用类型,我们可以为项目启用可空引用类型来借助编译器来帮助我们更好的处理代码中的空引用的处理,可以避免我们写很多不必要 null 检查,提高我们的效率 Why 为什么我们要启用可空引用类型呢,首先我们可以看一下 asp.net core 项目,asp.net core 的项目正在大量的使用可空引用类型,详情可以参考:https://github.com/dotnet/aspnetcore/issues/5680 Updating ASP.NET Core to use C# 8's nullable reference types would: Help ASP.NET Core libraries avoid null reference exceptions internally. It will help us find and prevent our bugs and increase our developer productivity Provide guidance to developers who are using ASP.NET Core about which APIs can accept and return a null reference and which APIs can't

运行ABP(asp.net core 3.X+Vue)提示'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。

a 夏天 提交于 2021-01-18 09:09:33
创建 ASP.NET Boilerplate ,还原数据库和启动客户端 这里就略过,具体参考 ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一) ASP.NET Boilerplate VueJS Template 选择 Target Version:v3.x Target Framework: .NET Core (Cross Platform) Single Page Web Application:vue.js Choose your project's name: MyCompany.MyProject 用户名:admin 密码:123qwe 点击登录后成功进入系统,点击租户页面,提示错误: 对不起,在处理您的请求期间,产生了一个服务器内部错误! 请求信息: 查看日志信息,路径5.0.0\aspnet-core\src\MyCompany.MyProject.Web.Host\App_Data\Logs: ERROR 2019 - 12 - 13 12 : 47 : 27 , 121 [ 21 ] Mvc.ExceptionHandling.AbpExceptionFilter - ' OFFSET ' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。 Microsoft.Data.SqlClient.SqlException

【One by One系列】IdentityServer4(二)使用Client Credentials保护API资源

混江龙づ霸主 提交于 2021-01-17 16:48:57
书接上回,我们将会正式开始介绍IdentityServer4。 IdentityServer4是实现了OAuth2.0+OpenId Connect两种协议的优秀第三方库,属于.net生态中的优秀成员。可以很容易集成至ASP.NET Core,颁发token。 使用 Id4 基本步骤如下: **1.**在 Startup.Configure 方法中调用 app.UseIdentityServer(); 添加中间件,把Id4添加至http请求处理管道,这使得Id4可以为OpenID Connect和OAuth2协议描述的端点(如 /connect/token )请求提供服务。 **2.**在 Startup.ConfigureServices 中注册IdentityServer4 services.AddIdentityServer(options=> { ... }); **3.**配置Identity Server Identity资源表示提供给客户端进行用户识别的信息(声明)。声明可能包括用户名称、电子邮件地址等。 API资源表示用户可通过访问令牌访问的受保护数据或功能。API 资源的一个示例是要求授权的 Web API(或 API集合)。 用于签名的凭据(credentials) 用户可能会请求访问的Identity资源和API资源 会请求获取token的客户端