.Net Core
文章平均质量分 78
hefeng_aspnet
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C# .NETCore json字符串压缩为一行
本文介绍了在C#中压缩JSON字符串为单行格式的三种方法:1.使用string.Replace()方法移除换行符和空格;2.通过正则表达式Regex.Replace()删除所有空白字符;3.利用JsonSerializer序列化时设置WriteIndented=false选项直接生成单行JSON。前两种适用于现有JSON字符串处理,第三种适合对象序列化场景。文章提供了代码示例说明各种实现方式。原创 2025-12-06 09:54:35 · 6134 阅读 · 0 评论 -
在 C# .NETCore 中使用 RabbitMQ 实现发布、订阅示例
本文介绍了在.NET中使用RabbitMQ实现发布/订阅模式的方法。RabbitMQ作为一个开源消息代理,通过交换器向队列发送消息,支持应用程序间的异步通信。文章详细说明了发布/订阅模式的三个核心组件(发布者、交换器、订阅者),并提供了.NET环境下设置RabbitMQ的步骤。通过示例代码展示了发布者和订阅者的具体实现,包括消息的发送与接收过程。最后强调了关键考虑因素,如正确选择交换器类型、消息持久性设置、错误处理机制等,以帮助构建高效可靠的消息系统。原创 2025-10-25 09:23:21 · 1660 阅读 · 0 评论 -
使用 Entity Framework Code First 方法创建 ASP.NET Core 5.0 Web API
本文介绍了如何使用Entity Framework Core的"代码优先"方法在ASP.NET Core中创建Web API,实现员工CRUD操作。内容包括:创建项目、添加EF Core并创建表、实现服务层、控制器开发以及使用Swagger测试API。文章详细讲解了从项目搭建到数据库迁移的完整流程,重点演示了增删改查功能的实现方法,并提供了完整的代码示例和测试截图。该教程适合初学者学习ASP.NET Core Web API开发,后续可扩展添加身份验证功能。原创 2025-09-27 13:16:17 · 1280 阅读 · 0 评论 -
在 C# .NETCore 中使用 MongoDB(第 3 部分):跳过、排序、限制和投影
本文介绍了MongoDB查询操作中的几个关键功能:限制查询结果数量(Limit)、跳过指定数量文档(Skip)、排序(Sort)和投影(Projection)。通过示例代码演示了如何使用这些功能实现分页查询、结果排序和字段筛选。其中,Limit和Skip可用于分页控制,Sort支持多种排序方式(字符串、BsonDocument或强类型表达式),Projection则提供了灵活的结果字段筛选机制。文章还对比了不同投影方式的区别,包括如何处理_id字段和类型转换问题。这些功能为MongoDB数据查询提供了强大的原创 2025-09-26 09:14:44 · 1184 阅读 · 0 评论 -
在 C# .NETCore 中使用 MongoDB(第 2 部分):使用过滤子句检索文档
本文介绍了如何使用MongoDB驱动程序从集合中检索文档,重点讲解了Find、FindSync和FindAsync方法的使用。文章详细说明了IAsyncCursor的工作原理、批处理机制以及如何设置查询选项如BatchSize。通过示例代码演示了不同查询方式(BsonDocument过滤、字符串过滤、FilterDefinitionBuilder和LINQ表达式),并展示了如何将结果映射到强类型对象。最后指出将在后续教程中介绍投影、排序等进阶操作。原创 2025-09-25 09:39:03 · 1160 阅读 · 0 评论 -
在 C# .NETCore 中使用 MongoDB(第 1 部分):驱动程序基础知识和插入文档
本文介绍了如何在.NET应用中使用MongoDB.Driver进行CRUD操作。主要内容包括:1) 安装MongoDB.Driver所需的三个NuGet包;2) 通过MongoClient连接数据库的四种方式;3) 使用IMongoDatabase和IMongoCollection获取数据库和集合;4) 插入文档的两种方法(InsertOne/InsertMany)及BsonDocument与自定义类的使用对比。文章通过具体代码示例展示了文档插入操作,并预告后续将介绍文档检索功能。原创 2025-09-25 09:03:39 · 906 阅读 · 0 评论 -
.NET Core 中 RabbitMQ 和 MassTransit 的使用
本文介绍了如何使用RabbitMQ和MassTransit构建高可用性、可扩展的分布式系统。RabbitMQ作为开源消息代理实现了AMQP协议,而MassTransit是.NET的开源消息库,提供了发布-订阅等通信模式。文章通过一个模拟传感器数据的示例项目展示了如何设置环境、配置MassTransit与RabbitMQ的连接、实现消息发布与消费。重点讲解了消息队列在微服务架构中的重要性,以及如何通过消费者、生产者、异常处理等组件构建弹性系统。最后提供了SSL配置、主机选项、过滤器等高级用法,并总结了隔离消息原创 2025-09-19 09:31:14 · 1380 阅读 · 0 评论 -
将 RabbitMQ 与 .NET Core Web API 和 Worker Services 结合使用
本文通过制药厂ERP系统中的物料管理为例,对比了单体架构与微服务架构的实现方式。在单体架构中,Angular前端直接通过.NET Core API控制器将物料数据插入SQL Server数据库;而在微服务方案中,系统使用RabbitMQ消息队列作为中介,由工作服务异步处理数据插入。文章详细演示了两种架构的具体实现过程,包括消息队列的配置、消息生产/消费机制,以及前后端的协同工作方式。作者强调两种架构各有优缺点,选择需根据组织需求、团队技能等因素决定,为读者提供了架构选择的实践参考。原创 2025-09-19 09:09:37 · 901 阅读 · 0 评论 -
C# .NetCore RabbitMQ的七种模式与多种交换机类型介绍及代码实践
RabbitMQ提供了七种消息队列模式,每种适用于不同业务场景:1)简单队列(单生产者-单消费者);2)工作队列(多消费者负载均衡);3)发布/订阅(广播消息);4)路由(基于键匹配);5)主题(支持通配符);6)延迟队列(TTL+死信队列);7)RPC(请求/响应)。文章详细介绍了.NET6.0下各模式的实现代码,包括生产者消费者示例,并分析了五种交换机类型(Direct/Fanout/Topic/Headers/Default)的特点及适用场景,帮助开发者根据需求选择合适方案构建高效消息系统。原创 2025-09-18 09:07:14 · 954 阅读 · 0 评论 -
C#.NetCore NPOI 导出excel 单元格内容换行
本文介绍了使用NPOI库在Excel中实现单元格内容换行的方法。关键步骤包括:设置ICellStyle.WrapText属性为true开启自动换行;处理换行符(\n或HTML的<br>);通过调整row.HeightInPoints属性设置合适的行高。文中提供了完整的C#示例代码,演示了创建工作簿、设置换行样式、添加多行文本内容及保存文件的全过程。实现要点是必须同时设置WrapText属性和适当调整行高才能正确显示多行内容。该方法适用于程序生成的换行符或用户输入的ALT+ENTER换行符。原创 2025-09-17 09:28:15 · 1708 阅读 · 0 评论 -
MongoDB C# .NetCore 驱动程序 序列化忽略属性
摘要:本文介绍了在MongoDB C#驱动中忽略属性的两种方法。对于需要忽略插入的属性,可使用[BsonIgnore]特性标记;对于需要忽略数据库中存在但对象中不存在的字段,可使用[BsonIgnoreExtraElements]特性或通过类映射设置。文中提供了GroceryList和Merchant类的具体实现示例,并说明了在.NET Core项目中使用BsonIgnoreExtraElements处理实体类与数据库字段不匹配的情况。最后展示了一个完整的Ypjl类实现示例,演示了如何在实际项目中应用这些特原创 2025-09-13 13:56:32 · 571 阅读 · 0 评论 -
使用 MongoDB.Driver 在 C# .NETCore 中实现 Mongo DB 过滤器
本文介绍了如何在.NET 8 WebAPI项目中使用MongoDB.Driver包进行数据查询操作。文章重点讲解了15种常用MongoDB过滤器的实现方法,包括相等(Eq)、不等(Ne)、比较(Gt/Gte/Lt/Lte)、集合(In/Nin)、逻辑(And/Or)、存在性(Exists)、类型(Type)、正则(Regex)、数组(All/ElemMatch/Size)等查询方式。通过Employee集合的CRUD操作示例,展示了如何在控制器中直接实现这些过滤器,而无需复杂架构。文中提供了完整的代码示例链原创 2025-09-06 13:29:33 · 1301 阅读 · 0 评论 -
使用 C# .NETCore 实现MongoDB
本文介绍了如何在.NET 8 WebAPI项目中通过MongoDB.Driver包实现MongoDB基本操作。首先讲解了MongoDB的特点和配置方法,包括安装驱动包、设置连接信息和注册MongoDB客户端。然后详细演示了数据库操作(创建/删除/重命名集合)和集合操作(CRUD文档、计数等),使用Employee类作为示例。所有操作直接实现在控制器中,未采用分层架构,便于快速理解核心功能。文章提供了完整的代码示例,帮助开发者快速掌握.NET与MongoDB的集成开发。原创 2025-09-06 13:14:29 · 929 阅读 · 0 评论 -
在 .NET Core 中实现基于策略和基于角色的授权
本文详细介绍了在.NET Core中实现基于策略的授权机制。主要包括:1)设置Azure AD身份验证;2)定义默认授权策略和自定义策略;3)创建权限要求和授权处理程序;4)实现中间件结果处理;5)在控制器中应用授权属性。文章还补充了如何结合基于角色的授权,提供了完整的代码示例,包括Program.cs配置、自定义处理器实现和控制器应用方式。这种授权方案支持细粒度的权限控制,可根据业务需求灵活扩展。原创 2025-08-30 10:19:58 · 1116 阅读 · 0 评论 -
.NET Core MongoDB 查询数据异常及解决
摘要:本文解决了.NET Core查询MongoDB时出现的"_class字段不匹配"异常问题。该异常是由于MongoDB文档包含的_class字段与C#实体类属性不匹配导致的。文章提供了三种解决方案:1)使用[BsonIgnoreExtraElements]特性忽略未映射字段;2)在实体类中添加对应属性;3)全局配置忽略额外元素。作者最终采用第一种方案,通过在实体类上添加忽略特性成功解决问题。该问题常见于MongoDB文档结构与实体类不完全匹配的情况,建议开发时注意检查文档字段与实体类原创 2025-08-21 09:33:45 · 376 阅读 · 0 评论 -
.NET Core 中采用独立数据库的SAAS(多租户)方法
本文介绍了多租户架构及其在.NET Core中的实现方案。多租户架构允许单个软件实例服务多个客户,提供数据隔离和资源共享。文章重点讨论了三种实现方式:共享数据库、共享数据库单独模式、独立数据库。作者详细演示了在.NET Core中实现独立数据库方案的技术细节,包括创建租户表、通过请求头获取连接字符串、动态配置DbContext等关键步骤。最后指出可通过缓存优化性能,并预告将探讨内存缓存和Redis缓存的实现。该方案为构建可扩展的多租户系统提供了实用参考。原创 2025-08-20 09:23:10 · 1212 阅读 · 0 评论 -
ASP.NET Core 中的多租户 SaaS 应用程序
本文介绍了使用ASP.NET Core构建多租户SaaS应用的关键技术。多租户架构通过单一应用实例服务多个租户,支持三种数据隔离模式:共享数据库、独立模式或独立数据库。核心实现包括租户识别中间件、租户环境服务、EF Core数据隔离和租户配置管理。文章详细讲解了如何通过中间件识别租户、使用范围服务存储租户信息、利用EF Core全局查询过滤器实现数据隔离,以及基于租户的依赖注入和权限控制。最佳实践建议包括全链路数据隔离、租户级缓存键设计和严格监控。ASP.NET Core的模块化架构使其成为构建可扩展多租户原创 2025-08-16 09:30:21 · 1332 阅读 · 0 评论 -
在单个应用程序中使用多个 EF Core DbContext
摘要:本文探讨了在.NET应用中使用多个Entity Framework Core(EFCore) DbContext的场景与方法。适用于需要连接多个SQL数据库、分离关注点或构建模块化系统的情况。通过示例代码展示了如何配置多个DbContext实例,包括设置不同数据库架构和处理迁移历史表。使用多个DbContext能带来关注点分离、性能提升和安全控制等优势,特别适合复杂域模型和模块化整体架构的应用。文章还指出了跨DbContext连接限制和事务处理等注意事项。原创 2025-08-09 11:13:29 · 938 阅读 · 0 评论 -
在 .NET Core 中创建 Web Socket API
本文介绍了在ASP.NET Core中创建WebSocket API的完整步骤。首先需要创建API项目并在Startup中启用WebSocket支持;然后实现WebSocketHandler类处理连接和消息收发;接着创建WebSocket控制器接受连接请求;最后配置依赖注入并测试API。文章提供了详细的代码示例,包括消息处理逻辑和JavaScript测试客户端代码,帮助开发者快速构建实时通信功能。原创 2025-07-19 13:13:50 · 911 阅读 · 0 评论 -
在 ASP.NET Core 和 JavaScript 中配置 WebSocket
本文介绍了WebSocket协议及其在客户端与服务器通信中的应用。WebSocket通过持久连接实现双向数据交换,适用于实时交互场景。文章详细说明了WebSocket的握手过程、四个核心事件(onopen、onmessage、onerror、onclose)和两个主要方法(send、close)。同时提供了基于Asp.Net MVC Core的WebSocket实现步骤,包括创建Web应用程序、添加JavaScript代码、配置Startup.cs和HomeController等关键环节。通过示例演示了We原创 2025-07-18 10:12:39 · 916 阅读 · 0 评论 -
如何 ASP.NET Core 中使用 WebSocket
摘要:本文详细介绍了在ASP.NET Core中实现WebSocket通讯的完整流程。文章首先阐述了WebSocket在实时应用中的优势,如聊天室、金融交易等场景。然后分三个阶段演示实现过程:1)服务器端配置WebSocket中间件和路由;2)客户端创建WebSocket连接;3)测试多个客户端连接。最后通过构建聊天室应用演示了多用户消息广播功能,包括用户加入/离开通知等特性。教程提供了完整的代码示例,帮助开发者快速掌握ASP.NET Core中WebSocket的实现方法。原创 2025-07-18 09:04:14 · 1530 阅读 · 0 评论 -
使用 .NET Core 的原始 WebSocket
本文介绍了WebSocket协议在.NET Core WebAPI中的实现方法。WebSocket通过持久连接实现全双工通信,比传统HTTP更适合实时应用。文章详细说明了六个实现步骤:1)在Program.cs启用WebSocket;2)创建WebSocket服务管理连接;3)建立WebSocket控制器处理请求;4)注入服务;5)在API操作中添加通知;6)前端JavaScript连接示例。这种实现方式允许服务器主动推送数据变更通知,适用于需要实时更新的应用场景。原创 2025-07-17 09:00:43 · 1520 阅读 · 0 评论 -
在 .NET Core 和 React 中使用 WebSockets 和 SignalR 进行实时数据传输
在本文中,我们探讨了如何在 .NET Core 与 React 应用程序中使用 WebSocket 和 SignalR 实现实时数据传输。利用 SignalR,您可以轻松实现客户端和服务器之间的实时通信,使其成为构建交互式协作 Web 应用程序的理想选择。无论您是构建聊天应用程序、实时仪表板还是多人游戏,SignalR 都能提供向用户提供实时更新所需的工具。原创 2025-07-03 09:23:57 · 1548 阅读 · 0 评论 -
.Net Core 获取文件路径
本文介绍了在.NET6中获取文件路径的5种方法:(1)使用Directory.GetCurrentDirectory()获取当前工作目录;(2)在ASP.NET Core中通过IWebHostEnvironment获取根目录;(3)直接组合特定文件路径;(4)利用Path类处理路径并检查文件是否存在;(5)在Windows应用中使用OpenFileDialog让用户选择文件。文章强调应根据不同应用场景(命令行、Web或GUI)选择合适的方法,并推荐使用Path类来规范路径处理。每种方法都配有示例代码,方便开原创 2025-06-27 09:32:28 · 1282 阅读 · 0 评论 -
如何在 .Net 7 中使用 MQTT 客户端
本文介绍了如何在.NET7中使用MQTTnet库实现MQTT消费者。MQTT是一种轻量级消息协议,适用于物联网和机器通信。文章详细说明了环境搭建步骤,包括安装.NET7和添加MQTTnet包,并提供了完整的代码示例:创建控制台应用,连接MQTT代理,订阅主题并处理消息接收。代码展示了连接/断开事件处理和消息接收回调的实现。该方法简洁高效,适合在资源受限环境中实现消息通信,为物联网开发提供了实用解决方案。原创 2025-06-26 08:36:38 · 1212 阅读 · 0 评论 -
.Net Core 获取与bin目录相同文件路径的文件
摘要:本文介绍了在.NET Core中获取bin目录路径的几种方法。主要内容包括:1)使用AppContext.BaseDirectory获取应用程序基目录路径;2)通过Path.Combine结合文件名获取完整文件路径;3)在ASP.NET Core中获取bin目录的示例。这些方法适用于.NET 6环境,可以帮助开发者方便地定位bin目录下的文件。文中提供了详细的代码示例,包括文件存在性检查等实用功能。原创 2025-06-21 14:39:30 · 942 阅读 · 0 评论 -
使用 .NET Core 7 SignalR 构建实时聊天应用程序
实时通信已成为现代 Web 应用程序不可或缺的一部分。无论您构建的是聊天应用程序、协作工作区还是实时仪表板,都需要一种可靠且高效的方式来实时发送和接收消息。SignalR 正是为此而生。SignalR 是 ASP.NET Core 的实时通信库。它允许您构建实时 Web 应用程序,这些应用程序可以在消息可用时立即将消息推送到客户端。SignalR 使用 WebSocket 作为默认传输协议,但它也可以使用其他传输协议,例如服务器发送事件 (SSE) 和长轮询。原创 2025-06-20 10:06:07 · 945 阅读 · 0 评论 -
使用 C# 源生成器(Source Generators)进行高效开发:增强 Blazor 及其他功能
摘要:.NET源生成器通过编译时静态代码生成显著提升开发效率和性能。本文探讨了其在Blazor中的四大优势:自动化重复代码、性能优化、生产力提升和代码一致性保障,并展示如何自动生成表单组件。源生成器同样适用于API客户端生成、数据库集成等场景。虽然存在学习曲线和调试挑战,但它仍是.NET生态中提高开发效率的关键技术,特别推荐在Blazor和复杂项目中使用。原创 2025-06-14 09:04:14 · 1378 阅读 · 0 评论 -
C# .NET Core 源代码生成器(dotnet source generators)
本文介绍了.NET中的增量源生成器(IncrementalGenerator)及其应用。源生成器允许开发者在编译时分析用户代码并动态生成附加代码,从而减少样板代码并优化性能。文章详细阐述了如何创建包含三个项目的解决方案(源生成器库、共享库和Web API项目),配置项目文件,以及实现一个简单的计算器类方法生成器。通过实例展示了如何处理错误日志记录、命名空间解析等问题,并最终验证生成的代码能正确执行。源生成器适用于代码生成但不适合修改现有代码或添加语言功能,是提升开发效率的有力工具。原创 2025-06-13 09:00:49 · 3706 阅读 · 0 评论 -
C# .NET Core Source Generator(C# .NET Core 源生成器)
本文介绍了C#源生成器的工作原理和应用场景。源生成器作为编译时插件,能够自动生成代码以减少重复工作、提升性能并实现新的编程模式。文章详细讲解了源生成器的两个核心组件:ISyntaxReceiver负责收集过滤语法节点,ISourceGenerator负责生成代码。通过具体示例演示了如何创建自定义源生成器项目,包括实现语法接收器、源生成器逻辑以及将生成器作为分析器引用。源生成器特别适用于减少样板代码、性能优化、实现特定编程模式等场景,可显著提高开发效率和代码质量。原创 2025-06-12 09:55:58 · 3939 阅读 · 0 评论 -
Windows .NET Core 应用程序部署到 IIS 解决首次访问加载慢的问题 设置IIS站点启动时自动访问网页
在集合编辑器中,要添加要初始化的应用程序,请单击“添加”,单击“主机名”,然后将主机名设置为主机名。单击initializationPage并将其设置为应用程序的URL。要指定每当应用程序重新启动时自动启动初始化过程,请将doAppInitAfterRestart设置为true。若要指定初始化期间要返回的静态文件的名称,请将remapManagedRequestsTo设置为该文件的名称。如果上面两篇文章还是不能预加载服务,请参考下面设置IIS站点启动时自动访问网页的操作。原创 2025-04-19 11:06:43 · 11205 阅读 · 0 评论 -
Windows Server .NET Core 应用程序部署到 IIS 解决首次访问加载慢的问题
项目发布到IIS以后第一次请求特别慢大概7、8秒甚至超时等现象,然后每隔5分钟请求一次大概2、3秒,下面讲解下解决Windows【本文使用Windows Server 2019】下 IIS 10 的过程。一步一步展开选择Web 服务器 - 应用程序开发 - 应用程序初始化(点击安装,等待安装完成,重新启动服务器即可。本文已安装,所有后面括号显示已安装。如果没有弹出添加角色和功能向导。至此,相关配置基本完成。原创 2025-04-19 10:41:24 · 10417 阅读 · 0 评论 -
Windows .NET Core 应用程序部署到 IIS 解决首次访问加载慢的问题
项目发布到IIS以后第一次请求特别慢大概7、8秒甚至超时等现象,然后每隔5分钟请求一次大概2、3秒,下面讲解下解决Windows【本文使用Windows11】下 IIS 10 的过程。第三步设置启动模式为AlwaysRunning即可。点击确定安装完成即可,重新启动服务器。原创 2025-04-18 10:13:32 · 13000 阅读 · 0 评论 -
项目 ORM 基于 SqlSugar 使用 System.Text.Json 序列化 PostGIS geometry 类型异常 或 Swagger一直加载中打不开
System.Text.Json 序列化 PostGIS geometry 类型异常 在 System.Text.Json.JsonSerializer.WriteCore[TValue](Utf8JsonWriter writer, TValue& value, JsonTypeInfo。(参数‘在空点上调用的 X’)在 System.Text.Json.Serialization.Converters.ObjectDefaultConverter原创 2025-04-02 09:32:46 · 10213 阅读 · 0 评论 -
使用 .NET Core 的本地 DeepSeek-R1
使用 .NET 在我的 MacBook Pro 上与当地 LLM 聊天的历程。如今,只需使用浏览器即可轻松使用 ChatGPT 或其他 genAI。作为开发人员,我们可以通过直接集成 OpenAI API 等来做更复杂的事情。如果我们想在自己的机器上运行 LLM,只是为了找人聊天或开发一些有趣的东西,该怎么办?最近发布的模型在软件和技术行业引起了轰动。得益于技术,更小、资源更便宜的模型现在可以在特定任务上发挥同样强大的作用。无论是在 genAI 还是 ML 世界中,Python 都是占主导地位的堆栈。原创 2025-03-20 09:02:06 · 10463 阅读 · 0 评论 -
ASP.NET Core 6 MVC 文件上传
Web 应用程序将处理该文件,然后根据需要对文件进行一些验证,最后根据要求将该文件存储在系统中配置的用于保存文件的存储中,即本地存储、共享远程存储或数据库等。4、此外,当您将文件存储在数据库中时,您可以将记录与文件数据一起插入作为同一数据库事务的一部分,否则,如果文件位于物理存储中而记录位于数据库中,则如果设计不正确,可能会在记录和文件数据之间产生一些不一致。在上面的屏幕上,您可以选择要上传的文件,然后单击“上传文件”按钮以在 ASP.NET Core 中执行文件上传。原创 2025-03-06 09:40:03 · 11285 阅读 · 0 评论 -
在 ASP.NET Core 中启用 Brotli 和 Gzip 响应压缩
响应压缩通过使用Brotli 或 Gzip等算法来最小化 HTTP 响应的大小。这些算法在传输文本资产(例如 HTML、CSS 和 JavaScript)之前将其压缩为较小的格式。现代浏览器会自动解压缩响应,确保为用户提供无缝的体验。在带宽有限或高延迟的情况下,压缩尤其重要。如果没有压缩,Web 服务器将传输更大的负载,从而导致加载时间变慢。原创 2025-03-06 09:10:16 · 11493 阅读 · 0 评论 -
C# .NETCore ZipArchive 处理大容量文件导致内存占用高的问题
我们有一个文件 API,它定期安排特定路径(驱动器)的存档文件作业以备份数据。从 12 月 11 日起,该应用程序在监控仪表板下占用的内存使用量超过 3GB。我知道人工智能不会总是给我们 100% 正确的答案,但我们可以根据自己的经验判断上下文并做出自己的解决方案😉。正如AI的答复,存档模式:update会将整个文件内容加载到内存中,这就是我们在压缩大量文件时面临高内存使用率的主要原因。因此,我们咨询了最热门的 AI 平台:ChatGPT。下面的屏幕截图显示我们不再需要在相同场景中消耗大量内存。原创 2025-03-01 10:57:37 · 12114 阅读 · 0 评论 -
C# .NET Core HttpClient 和 HttpWebRequest 使用
HttpWebRequest是老版本.net下常用的,较为底层且复杂,访问速度及并发也不甚理想,但是使用HttpWebRequest可以让开发者控制请求/响应流程的各个方面,如 timeouts, cookies, headers, protocols。一、可以参考微软官方提供的方法:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/http-requests?///得到返回的stream,如果请求的是一个文件或图片,可以直接使用或保存。原创 2025-03-01 10:20:03 · 12650 阅读 · 0 评论 -
使用 ASP.NET Core 创建和下载 zip 文件
如果您要处理大型 zip 文件,将 zip 文件写入服务器上的临时文件,然后将文件流式传输到客户端可能会更有效。对于最近的一个功能,我必须从用 ASP.NET Core 编写的内部网站下载一批文件。在下载文件之前对其进行压缩,结果证明这是一种轻松实现多文件下载的好方法。.NET 提供了所有需要的功能,在本文中,我将向您展示如何实现它。在本例中,我将创建一个能够压缩和下载一些文件的端点。在现实生活中,后端通常需要输入参数才能知道要压缩什么,但为了简单起见,我将省略这部分。首先构建要压缩的文件列表。原创 2025-02-28 09:57:51 · 11955 阅读 · 0 评论
分享