C# Thread.Sleep与Task.Delay的区别

Thread.Sleep和Task.Delay都是.NET中用于暂停线程执行的方法。那两者有什么区别呢?从执行结果可以看出,Task.Delay的线程是重复利用的,而Thread.Sleep的线程是新建的。因为Thread.Sleep是同步方法,它会阻塞当前线程(线程一直被占用),直到时间到了才会继续执行。

2024-05-10 1736 0 C# Thread.Sleep Task.Delay

.NET Core MVC读取和修改appsettings.json配置文件

在 ASP.NET Core MVC 中,读取和修改 appsettings.json 配置文件是一个常见的操作。示例代码中,使用IWebHostEnvironment可以获取站点根目录,然后读取appsettings.json的值。修改string内容后再使用StreamWriter保存appsettings.json的内容。

2024-05-10 2678 0 .NET MVC .NET Core 配置文件 appsettings.json

ASP.NET Core 8 MVC在program.cs里设置允许跨域

在 ASP.NET Core 8 中,你可以通过在 Program.cs 文件中配置 app.UseCors 中间件来设置允许跨域(CORS)。在这个示例中,我们定义了一个名为 MyPolicy 的 CORS 策略,该策略允许来自任何来源的请求,使用任何 HTTP 方法和任何头。

2024-05-09 3021 0 .NET MVC 跨域 .NET8 program.cs

报错 Could not load file or assembly 'SlimDX.dll' or one of itsdependencles.

最近在做CrystalMir2传奇2项目,换了一台电脑安装了.NET8。运行客户端后没有反应,查看系统日志发现有报错:Description: The process was terminated due to an unhandled exception. Exception Info: System.IO.FileNotFoundException: Could not load file or assembly 'D:\GitHub\CrystalMir2-CN\Build\Client\Release\publish\SlimDX.dll'. 找不到指定的模块。

2024-05-01 2258 0 SlimDX.dll

.NET8 C#12 使用主构造函数重构代码

C# 12 作为 .NET 8 的一部分引入了一组引人注目的新功能!在这篇文章中,我们将探讨其中一个功能,特别是主要构造函数,解释其用法和相关性。然后,我们将演示一个示例重构,以展示如何将其应用到您的代码中,并讨论其好处和潜在的缺陷。这将帮助您了解更改的影响并帮助影响您对该功能的采用。

2024-04-30 2014 0 C# .NET C#12 主构造函数 重构代码

.NET Core WebAPI 实现文件上传功能

在.NET Core WebAPI中,文件上传是一个常见的需求。本篇文章将指导你如何在.NET Core WebAPI中实现基础的文件上传功能。通过使用IFormFile接口和适当的配置,你可以轻松地接收和处理上传的文件。然而,安全性是非常重要的考虑因素,因此你应该始终验证上传的文件类型、大小以及来源,并确保将文件保存在安全的位置。

2024-04-29 3883 0 文件上传 .NET .NET Core WebAPI

.NET C#如何处理和避免并发冲突?

处理和避免并发冲突在.NET C#开发中至关重要,特别是在多线程和并发环境下。通过结合以上方法和技术,可以有效地处理和避免.NET C#中的并发冲突,确保应用程序在多线程和并发环境下的稳定性和可靠性。

2024-04-24 2027 0 C# .NET 并发 冲突

.NET8使用缓存的几种方法

.NET 8提供了多种方法来使用缓存,从简单的内存缓存到分布式缓存和持久性缓存。下面是.NET 8中使用缓存的几种常见方法:内存缓存 (Memory Cache),分布式缓存 (Distributed Cache),HTTP 缓存。通过使用这些方法,你可以在.NET 8应用程序中有效地利用缓存来提高性能并降低资源消耗。

2024-04-24 2385 0 .NET .NET8 缓存

C#使用DotNetZip库压缩和解压缩文件

DotNetZip是一个用于在.NET应用程序中进行压缩和解压缩操作的开源库。它提供了一种简单且强大的方式来处理ZIP格式的文件,包括创建、打开、修改和提取ZIP文件。在C#中,可以使用DotNetZip库来进行文件的压缩和解压缩操作。以下是一个简单的示例,展示如何使用DotNetZip库进行文件的压缩和解压缩。

2024-04-24 2098 0 C# 压缩 解压缩 DotNetZip

C# List取交集的三种方法及性能对比

在C#中,如果你想从一个List中取另一个List的交集,你可以使用几种不同的方法。以下是三种常见的方法:1 使用LINQ的Intersect方法 2 使用HashSet 3 使用双重循环。双重循环方法在处理大集合时效率较低,因为它需要进行n*m次比较,其中n和m分别是两个集合的大小。而LINQ的Intersect方法和HashSet方法通常会有更好的性能,特别是当处理大型数据集时。

2024-04-22 2545 0 C# List 交集

C# string.Equals方法和==有区别吗?

在 C# 中,string.Equals 方法和 == 操作符确实有一些区别,尤其是在比较字符串时。主要区别在于 string.Equals 方法允许你指定比较的选项,而 == 操作符则更简单直接,但可能会产生不同的行为,特别是在处理字符串时。

2024-04-21 1645 0 C# string.Equals ==

C# options.Cookie.IsEssential有什么用?

options.Cookie.IsEssential 是 ASP.NET Core 中的一个选项,用于配置会话Cookie是否为“必要”(essential)。设置为必要的会话Cookie是一种告诉浏览器即使在用户未经过授权的情况下也应该发送的标志。

2024-04-18 1984 0 C# Cookie IsEssential

.NET Core在program.cs里GetService获取服务实例

在.NET Core MVC中,依赖注入容器负责管理应用程序中的服务。首先在program.cs里注册服务。可以通过以下方式在控制器、视图或其他组件中获取服务,也可以通过 HttpContext 的 RequestServices 属性来获取服务。但是如果想要在program.cs里获取服务呢?以下代码显示如何在应用启动时限时解析范围内服务。

2024-04-17 2251 0 .NET .NET Core program.cs GetService

C#使用AForge.NET调用笔记本摄像头拍照代码示例

AForge.NET是一个基于C#的开源框架,它专为计算机视觉与人工智能等相关领域的开发者和研究人员设计。使用AForge.NET 可以实现在 .NET 应用程序中调用摄像头拍照。下面是一个C#使用AForge.NET的代码示例。

2024-04-17 2482 0 C# AForge.NET 摄像头 拍照 代码示例

理解 C# 中的 AsQueryable的概念和用法示例

在 C# 中,AsQueryable 方法是 LINQ (Language Integrated Query) 的一个重要组成部分,它允许开发者将各种数据源(如数组或列表)转换为支持 LINQ 查询的 IQueryable<T> 接口。这一功能不仅为数据查询提供了极大的灵活性,还优化了对大型数据集的查询性能。本文将深入探讨 AsQueryable 的工作原理,并通过实例演示其在实际开发中的应用。

2024-04-14 2703 0 C# 示例 用法 AsQueryable

全局处理ASP.NET Core异常错误的几种方法

若要为生产环境配置自定义错误处理页,请调用 UseExceptionHandler。 此异常处理中间件:捕获并记录未经处理的异常。使用指示的路径在备用管道中重新执行请求。 如果响应已启动,则不会重新执行请求。 模板生成的代码使用 /Error 路径重新执行请求。

2024-04-13 2324 0 异常 .NET ASP.NET Core 全局

.NET Core MVC全局捕获和处理异常

在 ASP.NET Core MVC 中,全局捕获和处理异常有两种主要方法:1. 使用异常过滤器 2. 使用中间件。异常过滤器是一种 ASP.NET Core MVC 提供的机制,用于在应用程序中的任何位置捕获和处理异常。您可以创建自定义异常过滤器来处理特定类型的异常,或者使用 ASP.NET Core MVC 提供的默认异常过滤器。

2024-04-13 1998 0 异常 .NET MVC .NET Core 全局

C# dynamic推断类型变量的性能和使用方法

dynamic 关键字是C#中的一种类型,它允许在运行时绑定和推断类型,使得变量的类型检查推迟到运行时。本文深入探讨C#中的dynamic关键字,详解其原理、使用方法和性能影响。通过实例源代码、注意事项及建议,帮助开发者在灵活性和性能之间找到平衡。

2024-04-11 2154 0 C# 性能 dynamic 使用方法 推断类型

.NET Core ML.NET 机器学习教程

在 .NET Core 中使用机器学习时,ML.NET 是一个强大的选择。ML.NET 是一个开源的跨平台机器学习框架,由 Microsoft 提供,专门用于在 .NET 平台上进行机器学习任务。它允许开发人员在 .NET 应用程序中集成机器学习功能,而无需专业的机器学习知识。ML.NET 提供了丰富的 API 和工具,以简化数据预处理、模型训练、评估和部署过程。

2024-04-07 2222 0 .NET .NET Core 教程 机器学习 ML

如何在.NET项目中使用 Azure SDK?

在 .NET 项目中使用 Azure,你可以使用 Azure SDK for .NET 来与 Azure 服务进行交互。以下是一些步骤和示例,演示如何在 .NET 项目中使用 Azure:安装 Azure SDK for .NET: 你可以使用 NuGet 包管理器或 .NET CLI 来安装 Azure SDK for .NET。

2024-04-07 1595 0 .NET Azure SDK

顶部