您的当前位置:TAGS -> ASP.NET
  • ASP.NET Core - 选项系统之选项验证

    后端开发2026年02月21日

    就像 Web Api 接口可以对入参进行验证,避免用户传入非法的或者不符合我们预期的参数一样,选项也可以对配置源的内容进行验证,避免配置中的值与选项类中的属性不对应或者不满足预期,毕竟大部分配置都是通过字符串的方式,验证是很有必要的。 1. 注解验证 像入参验证一样,选项验证也可以通过特性注解方便地对选项类中的某个属性进行验证,这种是最简单便捷的方式。使用...

  • ASP.NET Core - 选项系统之源码介绍

    后端开发2026年02月21日

    .NET Core 选项系统的主要实现在 Microsoft.Extensions.Options 和 Microsoft.Extensions.Options.ConfigurationExtensions 两个 Nuget 包。对于一个框架的源码进行解读,我们可以从我们常用的框架中的类或方法入手,这些类或方法就是我们解读的入口。 从上面对选项系统的介绍中...

  • 在 ASP.NET Core Web API 中处理 Patch 请求

    后端开发2026年02月20日

    一、概述 PUT 和 PATCH 方法用于更新现有资源。 它们之间的区别是,PUT 会替换整个资源,而 PATCH 仅指定更改。 在 ASP.NET Core Web API 中,由于 C# 是一种静态语言(dynamic 在此不表),当我们定义了一个类型用于接收 HTTP Patch 请求参数的时候,在 Action 中无法直接从实例中得知客户端提供了哪些...

  • 如何在 ASP.NET Core Web API 中处理 Patch 请求

    后端开发2026年02月20日

    目录 一、概述 二、将 Keys 保存在 Input Model 中 三、定义 ModelBinderFactory 和 ModelBinder 四、在 ASP.NET Core 项目中替换 ModelBinderFactory 五、定义 AutoMapper 的 TypeConverter 六、模型映射 七、测试 源码 参考资料 一、概述 PUT 和 P...

  • 【C#/.NET】使用ASP.NET Core对象池

    后端开发2026年02月20日

    Nuget Microsoft.Extensions.ObjectPool 使用对象池的好处 减少初始化/资源分配,提高性能。这一条与线程池同理,有些对象的初始化或资源分配耗时长,复用这些对象减少初始化和资源分配。比如:我有一个执行耗时约500毫秒,内存空间 2KB的任务为此创建一个新线程异步执行,而创建线程耗时1秒,内存空间占用1MB则得不偿失。 使用步...

  • ASP.NET Core 依赖注入生命周期示例详解

    后端开发2026年02月19日

    目录 正文 一、瞬时生命周期(Transient) 二、作用域生命周期(Scoped) 三、单例生命周期(Singleton) 四、如何选择合适的生命周期 五、实现自定义的生命周期 六、总结 正文 ASP.NET Core 的依赖注入(DI)容器提供了三种生命周期:瞬时(Transient)、作用域(Scoped)和单例(Singleton)。这些生命周期...

  • ASP.NET Core依赖注入DI容器的方法实现

    后端开发2026年02月19日

    目录 一、注册服务 二、解析依赖 三、实现自定义的服务提供程序 四、总结 ASP.NET Core 是一个跨平台、高性能的框架,它提供了一种依赖注入(DI)容器,用于管理应用程序中的对象和服务。DI 是一种设计模式,它通过将对象的创建和管理分离出来,实现了应用程序的松耦合,提高了代码的可维护性、可测试性和可扩展性。 一、注册服务 在 ASP.NET Cor...

  • asp.net 应用程序中同步方法调用异步方法无响应解决方法

    后端开发2026年02月18日

    微软发布 C# async/await 异步语法功能已经好久了,但是目前来看使用并不广泛。本人经过实践在开发过程中使用 async/await 一路到底确实很爽,而且也没有啥问题。但是在面对旧项目变更要使用些功能的时候可能会遇到同步方法调用异步方法的情况,本人在这种情况就发生调用没有响应的问题,并作些总结。 发生些问题的具体条件 asp.net 应用程序(控...

  • ASP.NET Core - 配置系统之配置读取

    后端开发2026年02月18日

    ...

  • asp.net 文件上传,Input(File)控件

    后端开发2026年02月17日

    用到HTML中的Input(File)控件,命名空间 using System.IO;//Path,获得文件名时用到的命名空间 属性&方法:PostedFile要上传的文件对象,Path.GetFileName得到文件名,Server.MapPath转化路径,PostedFile.SaveAs文件保存 protected void Butt...