摘要:using Hangfire; using LG.WorkerService.Data; using LG.WorkerService.Entities; using LG.WorkerService.Services; using Microsoft.AspNetCore.Mvc; using M
阅读全文
摘要:HangfireIO/Hangfire:一种在 .NET 和 .NET Core 应用程序中执行后台作业处理的简单方法。无需 Windows 服务或单独的进程 (github.com) 在后台调用方法 — Hangfire 文档
阅读全文
摘要:IMiddlewareFactory/IMiddleware 是中间件激活的扩展点,具有以下优势: 按客户端请求(作用域服务的注入)激活 让中间件强类型化 UseMiddleware 扩展方法检查中间件的已注册类型是否实现 IMiddleware。 如果是,则使用在容器中注册的 IMiddlewar
阅读全文
摘要:基本运行状况探测 对于许多应用,报告应用在处理请求方面的可用性(运行情况)的基本运行状况探测配置足以发现应用的状态。 基本配置会注册运行状况检查服务,并调用运行状况检查中间件以通过运行状况响应在 URL 终结点处进行响应。 默认情况下,不会注册任何特定运行状况检查来测试任何特定依赖项或子系统。 如果
阅读全文
摘要:中间件是一种装配到应用管道以处理请求和响应的软件。 ASP.NET Core 提供了一组丰富的内置中间件组件,但在某些情况下,你可能需要写入自定义中间件。 自定义中间件类 通常,中间件封装在类中,并且通过扩展方法公开。 一、内联中间件(不推荐) 请考虑以下内联中间件,该中间件通过查询字符串设置当前请
阅读全文
摘要:向 Program.cs 文件中添加中间件组件的顺序定义了针对请求调用这些组件的顺序,以及响应的相反顺序。 此顺序对于安全性、性能和功能至关重要。 中间件是一种装配到应用管道以处理请求和响应的软件。 每个组件: 选择是否将请求传递到管道中的下一个组件。 可在管道中的下一个组件前后执行工作。 ASP.
阅读全文
摘要:3 参考:https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/best-practices?view=aspnetcore-8.0
阅读全文
摘要:中间件是一种装配到应用管道以处理请求和响应的软件。 每个组件: 选择是否将请求传递到管道中的下一个组件。 可在管道中的下一个组件前后执行工作。 使用 WebApplication 创建中间件管道 ASP.NET Core 请求管道包含一系列请求委托,依次调用。 下图演示了这一概念。 沿黑色箭头执行。
阅读全文
摘要:启用 CORS 有三种方法可以启用 CORS: 在使用命名策略或默认策略的中间件中。 使用终结点路由。 使用 [EnableCors] 属性。 使用默认策略和中间件的 CORS builder.Services.AddCors(options => { options.AddDefaultPolic
阅读全文
摘要:ASP.NET Core 支持使用缓冲的模型绑定(针对较小文件)和无缓冲的流式传输(针对较大文件)上传一个或多个文件。 文件上传方案 缓冲和流式传输是上传文件的两种常见方法。 缓冲 如果文件上传的大小或频率会消耗应用资源,请使用流式传输。 流式处理 流式传输无法显著提高性能。 流式传输可降低上传文件
阅读全文
摘要:中间件是一种装配到应用管道以处理请求和响应的软件。 每个中间件添加或修改 http 请求,并可选择将控制权传递给下一个中间件组件。 下图说明了中间件组件的执行: 中间件构建请求管道。下图说明了 ASP.NET Core 请求处理。 中间件类 通常,中间件封装在类中,并且通过扩展方法公开。 using
阅读全文
摘要:WebApi 项目Program.cs 配置 //允许跨域访问 builder.Services.AddCors(options => { options.AddPolicy("AllowAllOrigins", builder => { builder.AllowAnyHeader(); buil
阅读全文
摘要:ASP.NET Core 中提供了托管服务 (hosted service) 来供我们编写运行在后台的代码。 只要继承抽象类 BackgroundService ,并实现方法 ExecuteAsync() ,如果有需要释放的资源,可以写在Dispose()方法中 一、除了日志外不需要注入其它服务的后
阅读全文
摘要:FluentValidation 可在 ASP.NET Core Web 应用程序中用于验证传入模型。有两种主要方法可以做到这一点: 手动验证 自动验证 通过手动验证,您将验证器注入您的控制器(或 api 端点),调用验证器并对结果采取行动。这是最直接和最可靠的方法。 通过自动验证,FluentVa
阅读全文
摘要:https://github.com/orgs/dotnetcore/repositories?page=1&type=all .Net Core 中文社区 https://github.com/dotnetcore/BootstrapBlazor BootstrapBlazor
阅读全文
摘要:我们在操作筛选器中不仅可以在操作方法之前或者之后添加代码,还可以在满足条件的时候终止操作方法的执行。 为了避免恶意客户端频繁发送大量请求而消耗服务器资源,我们要实现 1 秒内只允许同一个IP访问一次请求。 /// <summary> /// 请求限流器,1秒内同一个IP只允许访问一次 /// </s
阅读全文
摘要:每次 ASP.NET Core 中控件器的操作方法执行的时候,操作筛选器都会被执行,我们可以在操作方法执行之前和执行之后执行一些代码,完成特定的功能。 public class MyActionFilter1 : IAsyncActionFilter { public async Task OnAc
阅读全文
摘要:筛选器 filter 又称过滤器,是 APS.NET Core 中提供的一种切面编程机制,它允许开发者创建自定义筛选器来处理横切关注点,也就是在APS.NET Core 特定的位置执行自定义的代码,比如在控制器的操作方法之前执行数据检查的代码,或者在ActionResult执行时向响应报文头中写入自
阅读全文
摘要:当在前端项目的页面向后端的Web API 发送AJAX请求时,涉及“跨域通信”的问题。基于安全考虑、浏览器默认是禁止 AJAX跨域通信的。 CORS是浏览器中标准的跨域通信的方式,推荐使用。 CORS原理:在服务器的响应报文头中通过 access-control-allow-origin 告诉浏览器
阅读全文
摘要:错误: 当两个类中的属性互相引用时,导致对象实例序列化成Json时死循环,错误如下: System.Text.Json.JsonException: A possible object cycle was detected. This can either be due to a cycle or
阅读全文