由ASP.NET Core根据路径下载文件异常引发的探究

前言     最近在开发新的项目,使用的是ASP.NET Core6.0版本的框架。由于项目中存在文件下载功能,没有使用类似MinIO或OSS之类的分布式文件系统,而是下载本地文件,也就是根据本地文件路径进行下载。这其中遇到了一个问题,是关于如何提供文件路径的,通过本文记录一下相关总结,希望能帮助更多的同学避免这个问题。 使用方式 由于我...

.net core 抛异常对性能影响的求证之路

一、前言 在.net 社区中曾经听到过很多关于大量抛异常会影响性能这样的结论,心中一直就存在各种疑问。项目中使用自定义异常来处理业务很爽,但是又担心大量抛业务异常存在性能问题。 查阅了各种文档,微软官方对性能优化这一块也不建议使用过多的异常,故我心中冒出疑问。 疑问一:项目中大量抛出业务异常对性能是否会受到影响? 二、求证 2.1 使用.net 6 建立了一个简单的web ...

【ASP.NET Core】配置应用程序地址的N多种方法

下面又到了老周误人子弟的时间,今天要误大伙的话题是:找找有多少种方法可以设置 ASP.NET Core 应用的地址,即 URL。 精彩马上开始!   1、UseUrls 方法 这是一个扩展方法,参数是可变个数的字符串数组。所以,每传一个参数就代表一个 URlL。例如 var builder = WebApplication.CreateBuilder(args); ...

深入探究MinimalApi是如何在Swagger中展示的

前言     之前看到技术群里有同学讨论说对于MinimalApi能接入到Swagger中感到很神奇,加上Swagger的数据本身是支持OpenApi2.0和OpenApi3.0使得swagger.json成为了许多接口文档管理工具的标准数据源。ASP.NET Core能够轻松快速的集成Swagger得益于微软对OpenApi的大力支持,...

一款开源的跨平台实时web应用框架——DotNetify

今天给大家介绍一个开源的轻量级跨平台实时HTML+C#.NET Web应用程序开发框架——DotNetify,允许你在C#.NET后端上创建具有React、React Native、Vue或Blazor 前端的实时、响应式、跨平台应用程序。 它的主要特点是: 简单且轻量 响应式后端MVVM 内置实时解决方案 跨平台 强大的基础设施 简单轻量 不再需要编写冗长的RESTAPI...

设计原则之显式依赖关系

前言 我们都知道依赖注入的方式常见的主要有三种 构造函数注入 属性注入 接口注入 在大名鼎鼎的Spring框架中大量使用属性注入的方式,属性注入的方式写起来那是真的爽;而在Asp.NetCore中则不支持属性注入,如果不使用第三方库,我们就只能在构造函数上写上一堆参数,比较麻烦,有些人是非常讨厌这种注入方式,选择使用第三方IOC框架。 思考一个问题 Asp.Net Core...

EFCore常规操作生成的SQL语句一览

前言 EFCore的性能先不说,便捷性绝对是.Net Core平台下的ORM中最好用的,主要血统还百分百纯正。 EFCore说到底还是对数据库进行操作,无论你是写Lamda还是Linq最后总归都是要生成SQL语句。 今天这篇文章就是要列举一下我们开发中的一些常规写法在数据库中生成的SQL语句。 测试数据库:Mysql NuGet包:Pomelo.EntityFrameworkC...

【低码】asp.net core 实体类可生产 CRUD 后台管理界面

前言介绍 喜欢小规模团队的"单打独斗",有的时候即使在大公司,也经常做着3-5个人团队的小项目,相信很多人有类似的经历。 本文介绍如何将项目中已存在的【实体类】,直接生产出 CRUD 后台管理界面。 对于通用后台管理系统的生成,除了单纯的对单表 crud 操作外,我还喜欢利用导航属性的操作,比如: 1、Song、Tag 多对多场景,添加/更新 Song 时可以把 Tag 一起保...

【ASP.NET Core】URL重写

今天老周和大伙伴们聊聊有关 Url Rewrite 的事情,翻译过来就是 URL 重写。 这里不得不提一下,URL重定向与重写的不同。 1、URL重定向是客户端(通常是浏览器)向服务器请求地址A,然后服务器要求重定向到B,返回状态码 301 或 302 给客户端,并且夹带一个 Location 的标头,其值表示要重定向的目标 URL,即B;随后客户端再用B向服务器发起请求,若成...

理解ASP.NET Core - 发送Http请求(HttpClient)

注:本文隶属于《理解ASP.NET Core》系列文章,请查看置顶博客或点击此处查看全文目录 前言 在.NET中,我们有很多发送Http请求的手段,如HttpWebRequest、WebClient以及HttpClient。 在进入正文之前,先简单了解一下前2个: HttpWebRequest namespace System.Net { public class H...