C#
文章平均质量分 87
编程宝库
关注软件工程实践,百度架构师。
展开
-
如何在 ASP.NET Core 中构建轻量级服务
在 ASP.NET Core 中处理 Web 应用程序时,我们可能经常希望构建轻量级服务,也就是没有模板或控制器类的服务。轻量级服务可以降低资源消耗,而且能够提高性能。我们可以在 Startup 或 Program 类中创建这些轻量级服务或 API。 1. 使用 VS2022 创建 ASP.NET Core 项目我们在 Visual Studio 2022 中创建一个 ASP.NET Core 项目。按照以下步骤在 Visual Studio 2022 中创建一个新的 ASP.NET Co原创 2021-12-08 08:14:10 · 520 阅读 · 0 评论 -
详解 .Net6 Minimal API 的使用方式
随着 .Net6 的发布,微软也改进了对之前 ASP.NET Core 构建方式,使用了新的 Minimal API 模式。以前默认的方式是需要在 Startup 中注册 IOC 和中间件相关,但是在 Minimal API 模式下你只需要简单的写几行代码就可以构建一个 ASP.NET Core的Web 应用,可谓非常的简单,加之配合 c# 的 global using 和 Program 的顶级声明方式,使得 Minimal API 变得更为简洁,不得不说 .NET 团队在 .NET 上近几年下了不少功夫原创 2021-12-02 18:58:50 · 4109 阅读 · 0 评论 -
Visual Studio 远程调试步骤
在工作中有时候需要在服务器的环境下远程调试,例如调试微信相关服务的时候。1. 下载远程调试工具网址:https://visualstudio.microsoft.com/zh-hans/downloads/下载后直接安装至完成。启动Remote Debugger:如果只是短时间测试,可以选择无身份验证,为了安全,工具自动设置了空闲时间,即多久没有操作会自动关闭此功能。2.新建测试项目建了一个简单的HelloWorld项目,简单几句代码,加上断点。发布debug到远程服务器。双击He原创 2021-11-25 10:40:26 · 584 阅读 · 0 评论 -
ASP.NET 使用 Dispose 释放资源的四种方法
Dispose 和 Finalize 是运行的 .NET 和 .NET Core 应用程序释放占用的资源的两种方法。通常,如果应用程序中有非托管资源,应该显式地释放这些资源占用的资源。由于 Finalize 的非确定性,以及在性能方面的成本很高,因此 Dispose 方法的使用频率远高于 Finalize。其实,我们可以在一个实现了 IDisposable 接口的类型上使用 Dispose 方法。本文中提供的代码示例均默认运行在 Visual Studio 2022。 1. 使用 VS20原创 2021-11-24 12:14:12 · 1510 阅读 · 0 评论 -
如何解决 ASP.NET Core 中的依赖问题
依赖性注入是一种技术,它允许我们注入一个特定类的依赖对象,而不是直接创建这些实例。使用依赖注入的好处显而易见,它通过放松模块间的耦合,来增强系统的可维护性和可测试性。依赖注入允许我们修改具体实现,而不必改变依赖于它们的依赖类型。ASP.NET Core 很重视依赖注入技术。ASP.NET Core 中内置的依赖注入提供功能模块,并不像 StructureMap 和 Ninject 等IoC(控制反转)容器那样功能丰富,但它速度快,易于配置,而且易于使用。我们可以使用它在 ASP.NET Core 中注原创 2021-11-23 07:11:12 · 1962 阅读 · 0 评论 -
C# 从 UTF-8 流中读取字符串的正确方法
我们下面的代码是从一个流 stream 中读取 UTF-8 编码的字符串。我们可以先考虑一下其中存在的潜在问题。string ReadString(Stream stream){ var sb = new StringBuilder(); var buffer = new byte[4096]; int readCount; while ((readCount = stream.Read(buffer)) > 0) { var s = Enc原创 2021-11-22 07:53:17 · 2687 阅读 · 2 评论 -
如何提高C# StringBuilder的性能
本文探讨使用C# StringBuilder 的最佳实践,用于减少内存分配,提高字符串操作的性能。在 .NET 中,字符串是不可变的类型。每当你在 .NET 中修改一个字符串对象时,就会在内存中创建一个新的字符串对象来保存新的数据。相比之下,StringBuilder 对象代表了一个可变的字符串,并随着字符串大小的增长动态地扩展其内存分配。String 和 StringBuilder 类是你在 .NET Framework 和 .NET Core 中处理字符串时经常使用的两个流行类。然而,每个类都有其优原创 2021-11-18 10:51:10 · 741 阅读 · 0 评论