自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(177)
  • 收藏
  • 关注

原创 ASP.NET Core 项目搭建

ASP.NET Core 是一个开源的、跨平台的 Web 应用程序框架,用于构建高性能、可扩展的 Web 应用程序。本文将详细介绍如何搭建一个基于 ASP.NET Core 的项目,并提供相应的源代码示例。现在,我们已经完成了 ASP.NET Core 项目的搭建和配置。你已成功搭建了一个基于 ASP.NET Core 的项目,并创建了一个简单的控制器和视图。首先,我们需要创建一个新的 ASP.NET Core 项目。现在,你已经成功创建了一个新的 ASP.NET Core 项目。

2023-09-27 07:32:16 191 1

原创 微服务系列之网关 Konga 配置操作

在微服务架构中,网关是一个重要的组件,它负责将所有的请求从客户端传递到后端微服务。Konga 是一个基于 Kong 的开源网关管理工具,它提供了一个用户友好的界面来配置和管理 Kong 网关。本文将介绍如何使用 Konga 配置和操作网关。

2023-09-27 06:54:11 220 1

原创 ASP.NET Core中的服务注册

总结起来,ASP.NET Core中的服务注册是一项重要的任务,它允许我们将应用程序所需的各种服务注册到依赖注入容器中。在上面的示例中,我们先后注册了两个同名服务,即IMyService接口的两个实现:MyService和AnotherService。在ASP.NET Core中,服务注册是一项关键任务,它允许我们将应用程序所需的各种服务和依赖项注册到应用程序的依赖注入容器中。需要注意的是,在服务注册后,我们可以在应用程序的其他地方通过依赖注入来获取和使用这些服务。如果你有任何疑问,请随时提问。

2023-09-27 05:06:09 245 1

原创 使用Entity Framework Core快速创建.NET应用程序

我们通过几个简单的步骤,包括创建项目、安装Entity Framework Core、定义数据模型、配置数据库上下文、执行数据库迁移和使用Entity Framework Core进行数据库操作。在本文中,我们将介绍如何使用Entity Framework Core创建一个.NET应用程序,并演示一些常见的操作。接下来,我们需要安装Entity Framework Core。在这个示例中,我们首先查询了所有的人员记录,然后插入了一个新的人员记录,接着更新了一个人员记录的年龄,最后删除了一个人员记录。

2023-09-27 03:04:39 52 1

原创 开放封闭原则:设计原则中的重要概念 [.NET

在这个基本的订单类中,我们定义了订单的基本属性,如订单号(Id)和订单总金额(TotalAmount),并提供了一个虚拟方法CalculateDiscount()来计算订单的折扣金额。这个原则的核心思想是,通过遵守开放封闭原则,我们可以减少对现有代码的修改,从而减小引入错误的风险,并提高系统的可维护性和可扩展性。在这个例子中,我们通过继承基本订单类来创建了一个新的在线购物订单类,并在该类中覆盖了基类的CalculateDiscount()方法,实现了在线购物订单特定的折扣计算逻辑。

2023-09-27 01:34:27 35

原创 使用Dotnet-Monitor Sidecar模式在Docker中监控运行的.NET应用程序

最后,我们使用ln命令创建一个符号链接,将dotnet-monitor可执行文件添加到/usr/local/bin目录中,以便我们可以在容器中直接使用dotnet-monitor命令。在更新后的Dockerfile中,我们将dotnet-monitor命令添加到ENTRYPOINT指令中,以便在容器启动时启动Dotnet-Monitor Sidecar进程。现在,我们已经在Docker容器中运行了.NET应用程序,接下来我们将启动Dotnet-Monitor的Sidecar进程,用于监控和诊断应用程序。

2023-09-27 00:14:42 112

原创 ASP.NET Core页面刷新导致内存持续增加不释放问题

然而,如果在请求处理过程中存在未释放的资源或对象,这些资源或对象将会被保留在内存中,并随着每次页面刷新而逐渐增加。在ASP.NET Core应用程序中,页面刷新是常见的操作,但是在某些情况下,页面刷新可能会导致内存持续增加而不被释放,这可能会导致应用程序的性能下降和资源浪费。以上是一些常见的解决方案,可以根据具体的应用程序需求选择适合的方法来解决内存泄漏问题。通过及时释放资源、使用Dispose模式和对象池,可以有效地减少内存泄漏问题,并提升应用程序的性能和稳定性。如果您有任何问题,请随时提问!

2023-09-26 18:45:08 253

原创 ASP.NET Core - 入口文件

通过以上的代码,我们可以看到入口文件的作用是创建和配置主机对象,并启动应用程序。在ASP.NET Core中,入口文件是一个重要的组成部分,它定义了应用程序的启动过程和配置。希望这个简单的示例能帮助你理解ASP.NET Core中的入口文件的作用和用法。请注意,以上示例是一个简化的版本,实际的入口文件可能包含更多的配置和自定义逻辑,根据应用程序的需求而定。方法创建了一个默认的主机构建器。类是另一个重要的组件,它包含了应用程序的配置和中间件的注册。类是我们的入口类,它包含了一个静态的。

2023-09-26 18:21:31 42

原创 使用.NET Core构建跨平台应用程序

以上是.NET Core的一些基本特性和示例代码。使用.NET Core,您可以构建出功能强大、高性能且可跨平台运行的应用程序。无论您是在哪个操作系统上开发,都可以利用.NET Core的优势来实现您的项目需求。.NET Core是一个跨平台的开源框架,用于构建高性能、可扩展的应用程序。它是微软公司的一项重要技术,可以在Windows、Linux和macOS等多个操作系统上运行。.NET Core具有许多强大的功能和特性,下面我将介绍其中一些,并提供相应的源代码示例。

2023-09-26 16:26:32 322

原创 .NET电商定向爬虫内存碎片化分析

这种情况下,频繁的内存分配和释放操作可能导致内存中出现大量的小块空闲内存,这些小块内存无法被利用,从而导致内存碎片化。在本文中,我们将探讨使用.NET编写的电商定向爬虫应用程序中的内存碎片化问题,并提供相应的源代码示例。内存碎片化是指在程序执行过程中,内存中的空闲空间变得零散、不连续,导致内存利用率下降和性能下降的现象。总结起来,内存碎片化是定向爬虫应用程序中常见的性能问题之一。通过使用.NET中提供的内存池和对象池等技术,我们可以有效地管理内存,降低内存碎片化的风险,并提高应用程序的性能和稳定性。

2023-09-26 15:37:49 827

原创 使用 FastTunnel 辅助搭建远程调试环境 .NET

打开你的项目,在菜单栏中选择“调试”->“远程调试”,然后点击“添加远程调试目标”。在 Visual Studio 中,选择你要调试的项目,点击“调试”按钮或者按下 F5 键来启动调试。现在,你可以像在本地调试一样调试远程服务器上的应用程序了。使用 FastTunnel 工具可以帮助我们快速搭建远程调试环境,极大地提高了远程调试的效率。通过按照上述步骤安装和配置 FastTunnel,我们可以在本地计算机上使用 Visual Studio 进行远程调试,从而更方便地进行应用程序调试和问题排查。

2023-09-26 14:30:59 221

原创 .NET 开发中常用的 Visual Studio 快捷键

Visual Studio 是一个功能强大的集成开发环境(IDE),提供了许多有用的快捷键,可以帮助开发人员更快速地编写代码。在编写代码时,使用此快捷键可以自动完成代码,显示可能的选项和建议,以便更快地编写代码。使用此快捷键可以启动当前项目的调试模式,以便在调试器中逐步执行代码并进行调试。当代码中包含函数调用时,使用此快捷键可以进入函数并逐步执行函数内部的代码。如果先前注释了一段代码,可以使用此快捷键来取消注释,恢复代码的原始状态。在调试模式下,使用此快捷键可以逐步执行代码,一次一行地运行代码。

2023-09-26 14:05:03 48

原创 使用.NET制作一个气象站

为您的项目选择一个合适的名称,并点击"确定"。在本文中,我将向您介绍如何使用.NET框架来制作一个简单的气象站应用程序。完成代码的编写后,您可以点击Visual Studio的"运行"按钮来运行应用程序。每次读取到数据后,我们将其以逗号为分隔符进行拆分,然后提取温度、湿度和气压数据。请注意,上述代码只是一个简单的示例,假设您的气象数据通过串口以文本形式传输。实际上,您可能需要根据您的硬件设备和数据格式进行相应的修改。您可以根据自己的需求和硬件设备进行进一步的扩展和优化。变量以匹配您的串口设置。

2023-09-26 12:05:45 34

原创 西门子840DSL数据采集与840DSL开通OPC UA方法

西门子公司的840DSL控制系统是一种常用的自动化系统,而OPC UA(Open Platform Communications Unified Architecture)是一种开放标准的通信协议,可用于实现不同设备之间的数据交换和远程监控。本文介绍了如何使用西门子840DSL控制器进行数据采集,并通过OPC UA实现了840DSL的远程监控。我们使用S7NetPlus库实现了与控制器的连接和数据读写操作,并使用Opc.Ua.Client库实现了与OPC UA服务器的连接和数据读取。需要指定控制器的类型(

2023-09-26 11:36:20 1652

原创 C# - XMLHelper: 简化操作XML的.NET类库

XMLHelper是一个简单而强大的.NET类库,可帮助我们轻松地加载、创建、修改和保存XML文件。在上述示例中,我们首先创建一个新的XML文档,然后创建根元素和子元素,并设置其文本内容和属性。最后,我们将子元素添加到根元素,并将根元素设置为文档的根元素,然后保存新的XML文档到文件。一旦我们加载了XML文件,我们就可以使用XMLHelper来访问其中的元素和属性。除了加载和修改现有的XML文件,XMLHelper还可以帮助我们创建新的XML文档。在上述示例中,我们修改了元素的文本内容和属性值,然后使用。

2023-09-26 10:27:23 111

原创 C#使用科大讯飞离线语音合成实现文本转语音

在本文中,我们介绍了如何获取科大讯飞的AppID和API密钥,以及如何使用HttpClient发送HTTP请求并保存返回的语音文件。在这篇文章中,我们将介绍如何使用C#语言调用科大讯飞的离线语音合成API,实现将文本转换为语音的功能。请注意,科大讯飞的API使用需要支付一定的费用,具体费用请参考科大讯飞的官方文档。在上面的示例中,我们将文本"科大讯飞离线语音合成示例"转换为语音,并将结果保存为名为"output.wav"的文件。该函数接受两个参数:要转换的文本和保存语音文件的路径。函数,将文本转换为语音。

2023-09-26 08:40:12 333

原创 .NET 反向代理-YARP:构建灵活强大的反向代理

反向代理是一种网络代理模式,它将客户端的请求转发给后端服务,并将响应返回给客户端。与传统的正向代理不同,反向代理隐藏了后端服务的真实细节,客户端只与反向代理进行通信。反向代理可以实现负载均衡、缓存、安全认证等功能,同时提供了更好的可扩展性和灵活性。YARP 是由微软开发的.NET库,用于构建高性能的反向代理。它提供了丰富的功能和灵活的配置选项,使开发人员能够轻松地构建自定义的反向代理解决方案。

2023-09-26 07:18:24 271

原创 C#中多线程中的几个信号量

当一个线程想要访问被信号量保护的资源时,它必须首先获取一个信号量,如果信号量的计数器大于零,则线程可以获取资源并将信号量计数器减一;当一个线程想要访问被信号量保护的资源时,它必须首先获取一个信号量,如果信号量的计数器大于零,则线程可以获取资源并将信号量计数器减一;在本篇文章中,我们将介绍C#中的几个与信号量相关的重要概念和用法,并提供相应的源代码示例。根据信号量的初始值和最大值,我们可以观察到最多只有2个线程同时访问共享资源,而其他线程将被阻塞,直到有一个线程释放了信号量。

2023-09-26 04:04:54 84

原创 Visual Studio 添加新的 .NET 工作负载

在 “.NET 和相关的跨平台开发” 下,你将看到可用的工作负载组件列表。本文将介绍如何在 Visual Studio 中添加新的 .NET 工作负载,并提供相应的源代码示例。在 Visual Studio Installer 中,选择当前已安装的 Visual Studio 版本,然后点击 “修改” 按钮。要添加新的 .NET 工作负载,点击左侧导航栏中的 “.NET 和相关的跨平台开发”。选择完所需的工作负载组件后,点击右侧的 “修改” 按钮,开始安装选定的组件。添加新的 .NET 工作负载。

2023-09-26 02:12:20 364

原创 简化C#单元测试的便捷扩展库.NET

在C#开发中,单元测试是一种重要的软件开发实践,用于验证代码的正确性和稳定性。在本文中,我将介绍一个方便的C#扩展库,它能够简化编写和执行单元测试的过程,提高开发效率。通过使用这个扩展库,我们可以更加高效地编写和管理单元测试,提高代码质量和开发效率。这个扩展库是基于.NET平台的,它提供了一组易于使用的工具和方法,可以简化单元测试的编写和管理。在测试方法中,我们首先准备测试数据(Arrange),然后调用待测试的方法(Act),最后使用断言(Assert)来验证结果是否符合预期。等,可以满足各种测试需求。

2023-09-26 00:48:51 41

原创 Net6中使用RabbitMQ实现直接路由模式

在Net6中,我们可以使用RabbitMQ.Client库来实现直接路由模式。本文将详细介绍如何在Net6中使用RabbitMQ实现直接路由模式,并提供相应的源代码示例。通过以上步骤,我们可以在Net6中使用RabbitMQ实现直接路由模式。首先,我们创建了一个RabbitMQ连接,并使用该连接创建了直接交换机和队列。在使用RabbitMQ之前,我们需要创建一个RabbitMQ连接。在直接路由模式中,我们需要创建一个直接交换机和一个或多个队列。在上面的示例中,我们创建了一个消息,并将其发布到名为。

2023-09-26 00:01:31 67

原创 使用Refit在.NET中实现JWT自动续期

通过Refit库,我们可以以一种简洁且类型安全的方式定义API的访问方式,并通过拦截器和令牌提供者实现JWT令牌的自动续期。通过拦截器和令牌提供者,我们可以自动处理JWT令牌的续期,确保令牌在过期之前得到更新。在.NET开发中,可以使用Refit库来简化与API的通信,同时结合JWT实现自动续期功能,确保令牌在过期之前得到更新。Refit是一个基于接口的REST库,它可以将REST API转换为C#的接口,使得我们可以以类型安全和直观的方式定义API的访问方式。是一个自定义的接口,用于更新JWT令牌。

2023-09-25 07:14:29 128 1

原创 C#调用海康威视CHCNetSDK出现无法加载类型“WIFI_AUTH_PARAM“的异常错误

总结:当在C#中调用海康威视CHCNetSDK时出现无法加载类型"WIFI_AUTH_PARAM"的异常错误时,可以通过确认CHCNetSDK版本、检查SDK引用、确认命名空间和检查类型和方法调用等步骤来解决该问题。以上提供的示例代码仅供参考,实际的调用方式应根据CHCNetSDK的文档和要求进行适当的调整。在弹出的对话框中,导航到您的CHCNetSDK安装目录,并选择相应的DLL文件进行引用。根据您的具体需求,查阅CHCNetSDK的文档或示例代码,以了解如何正确地使用各种类型和方法。

2023-09-25 06:29:13 281 1

原创 .NET项目中自动压缩打包静态文件

通过配置和使用相关的NuGet包,我们能够轻松地对静态文件进行压缩和打包,并在视图中引用这些压缩和打包后的文件,从而提高应用程序的性能和加载速度。在.NET项目中,静态文件(如JavaScript、CSS和图像文件)通常需要进行压缩和打包,以提高应用程序的性能和加载速度。这样,在运行应用程序时,将加载压缩和打包后的静态文件,从而提高应用程序的性能和加载速度。在完成NuGet包的安装后,我们需要对.NET项目进行一些配置,以启用静态文件的压缩和打包功能。的文件夹,用于存放压缩和打包后的文件。

2023-09-25 05:30:15 129 1

原创 WPF图形控件使用之Line线控件使用.NET

在本文中,我们学习了如何在WPF应用程序中使用Line控件。除了在XAML中定义Line控件和在代码中对其进行操作之外,我们还可以通过事件处理程序来处理与Line控件相关的事件。在上面的示例中,我们在Grid容器中定义了一个Line控件,并为其指定了名称(myLine)、起始点(X1、Y1)和结束点(X2、Y2)的坐标,以及笔划颜色(Stroke)和笔划粗细(StrokeThickness)。在MainWindow.xaml.cs文件中,我们可以通过使用控件的名称来获取对该控件的引用,并进行相应的操作。

2023-09-25 03:13:54 435

原创 C# 设置 RadioButton 控件的圆圈大小 - .NET

如果你需要更多的自定义选项,你可以进一步探索 .NET 控件的绘制和样 SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);在默认情况下,RadioButton 控件的圆圈大小是固定的,但是我们可以通过一些技巧来修改它的大小。希望这篇文章对你有所帮助!要使用这个方法,你只需要在 SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);

2023-09-25 02:39:24 466

原创 WPF开发学生信息管理系统(.NET)

学生信息管理系统是一种用于管理学生信息的应用程序,它可以方便地记录、查询和更新学生的个人和学术信息。例如,我们可以使用TextBox控件来输入学生的姓名、年龄和学号,使用Button控件来添加、删除和更新学生信息,使用DataGrid控件来显示学生列表等等。当然,这只是一个简单的示例,你可以根据自己的需求进一步扩展和完善这个学生信息管理系统,比如添加搜索功能、导入导出学生信息等。通过这个系统,我们可以方便地管理学生的信息,包括添加、删除和更新学生信息,并在界面上显示学生列表。

2023-09-25 00:18:48 146

原创 C# 实现在每页上设置不同图片水印的方法

请确保将 “C:\Path\To\Your\Document.docx” 替换为你要操作的 Word 文档的实际路径,并将 “C:\Path\To\Your\WatermarkImage.jpg” 替换为要用作水印的图片的实际路径。请确保将 “C:\Path\To\Your\Document.docx” 替换为要操作的 Word 文档的实际路径,并将 “C:\Path\To\Your\WatermarkImage.jpg” 替换为要用作水印的图片的实际路径。如果一切正常,你将在控制台窗口中看到成功的消息。

2023-09-24 22:46:25 72 1

原创 使用.NET进行Apache Spark的入门演练

通过连接到Spark集群、加载和处理数据、执行Spark任务以及保存结果,我们可以利用.NET开发框架轻松进行大数据处理和分析。创建项目后,我们需要将.NET for Apache Spark的相关库添加到项目中。Spark提供了各种操作和算子,例如过滤、聚合、排序等,可以根据具体需求进行任务编写。Spark提供了强大的数据操作和转换功能,可以帮助我们对大规模数据进行处理和分析。完成应用程序的编写后,我们可以通过.NET命令行工具来运行Spark应用程序。三、连接到Spark集群。五、执行Spark任务。

2023-09-24 21:28:32 105 1

原创 ASP.NET Core WebAPI JWT 鉴权与接口权限验证

在ASP.NET Core WebAPI中,使用JWT(JSON Web Token)进行身份验证和接口权限验证是一种常见的做法。至此,我们已经完成了ASP.NET Core WebAPI中使用JWT鉴权和接口权限验证的实现。当用户请求受限接口时,系统将验证JWT Token的有效性,并检查用户是否满足所需的授权策略。在本文中,我们将学习如何在ASP.NET Core WebAPI中实现JWT鉴权和接口权限验证。要实现接口级别的权限验证,我们可以使用自定义的授权策略。方法中设置JWT验证的选项和参数。

2023-09-24 19:58:29 278 1

原创 WPF开发技巧分享:使用DrawingVisual实现高性能曲线图绘制

在DrawCurve方法中,我们首先实例化了一个DrawingVisual对象,然后通过调用RenderOpen方法获取DrawingContext对象。总结起来,通过使用DrawingVisual,我们可以实现高性能的曲线图绘制。在本文中,我们介绍了如何创建DrawingVisual对象,获取DrawingContext,设置绘制属性,并使用DrawBezier方法绘制曲线。由于DrawingVisual是在UI线程之外绘制的,它可以减少UI线程的负载,提供更流畅的用户体验。

2023-09-24 18:03:38 435 1

原创 了解一下:MAUI是什么以及它与.NET的关系

MAUI的主要目标是开发一次,随处部署。在最近的.NET开发中,出现了一个备受关注的技术框架,那就是MAUI(Multi-platform App UI,多平台应用程序用户界面)。MAUI是在.NET生态系统中的一项重要技术,它基于.NET 6构建,并且是下一代Xamarin.Forms的演进版本。与Xamarin.Forms相比,MAUI提供了更多的功能和更好的性能,同时保持了跨平台开发的便利性。总之,MAUI是一个令人兴奋的技术框架,它为开发人员提供了构建适用于多个操作系统的应用程序的便利性和灵活性。

2023-09-24 17:52:27 342 1

原创 在不需要安装运行时的情况下运行.NET程序

本文介绍了在不需要安装.NET运行时的情况下运行.NET程序的几种方法。自包含部署和.NET Native是.NET开发中常用的方法,可以帮助简化部署过程并提供更好的性能。根据具体的需求和限制,选择适合的方法来在不安装运行时的情况下运行.NET程序。然而,有时候我们可能希望在不安装运行时的情况下运行.NET程序,以便简化部署过程或满足特定的需求。在本文中,我将介绍一些方法,可以实现在不安装.NET运行时的情况下运行.NET程序。这将生成一个独立的可执行文件,可以在不安装.NET运行时的计算机上运行。

2023-09-24 16:10:13 115 1

原创 使用Database2Sharp工具生成ABP VNext框架项目代码(.NET)

然后,使用该工具生成了实体类代码,并将其添加到ABP VNext框架项目中。在本文中,我们将介绍如何使用Database2Sharp工具来生成ABP VNext框架项目代码。它可以根据数据库中的表和列信息生成对应的实体类代码,从而减少手动编写实体类的工作量。现在,我们已经生成了实体类代码,接下来我们将把它们添加到ABP VNext框架项目中。现在,你可以在ABP VNext框架项目中使用生成的实体类了。这将根据配置文件中指定的数据库连接信息和表信息,生成对应的实体类代码。生成的实体类将保存在指定的目录中。

2023-09-24 15:18:18 144 1

原创 手动刷新 Bootstrap Blazor Table 组件数据 - .NET

在本文中,我们将探讨如何在 .NET 应用程序中手动刷新 Bootstrap Blazor Table 组件的数据。Bootstrap Blazor 是一个基于 .NET 平台的开源组件库,它提供了许多功能强大且易于使用的 UI 组件,其中包括表格组件。首先,我们需要将 Bootstrap Blazor NuGet 包添加到我们的项目中。通过以上步骤,我们就可以手动刷新 Bootstrap Blazor Table 组件的数据了。在这个示例中,我们将创建一个简单的表格,用于显示学生的信息。

2023-09-24 12:23:22 271

原创 WPF 入门指南:深入理解依赖属性与.NET

依赖属性是在 WPF 中实现数据绑定和属性系统的关键机制。与传统的 CLR 属性不同,依赖属性具有更高的灵活性和可扩展性。它们可以用于实现属性值的更改通知、样式应用、动画效果以及属性值的继承和覆盖等功能。在 WPF 中,依赖属性由 DependencyProperty 类表示。每个依赖属性都有一个唯一的标识符,称为属性标识符 (Property Identifier)。依赖属性的值存储在依赖对象 (Dependency Object) 中,并且可以通过属性系统进行访问、设置和绑定。

2023-09-24 11:17:33 40

原创 使用ASP.NET Core实时库SignalR创建简单应用

在上面的代码中,我们定义了一个名为"ChatHub"的类,继承自"Hub"基类。该类包含一个名为"SendMessage"的方法,用于接收客户端发送的消息,并使用"ReceiveMessage"事件将消息发送给所有客户端。在上面的代码中,我们定义了一个名为"ChatHub"的类,继承自"Hub"基类。该类包含一个名为"SendMessage"的方法,用于接收客户端发送的消息,并使用"ReceiveMessage"事件将消息发送给所有客户端。最后,我们需要创建一个客户端页面来测试我们的实时应用程序。

2023-09-24 09:53:01 104

原创 基于SqlSugar的开发框架循序渐进介绍:在数据访问基类中自动处理GUID主键赋值(.NET)

在.NET开发中,SqlSugar是一个强大的ORM(对象关系映射)框架,它简化了与数据库的交互过程,提供了方便的CRUD(创建、读取、更新、删除)操作。通过上述步骤,我们实现了在数据访问基类中自动处理GUID主键赋值的功能。通过使用SqlSugar的ORM框架和反射技术,我们能够轻松地为实体类的GUID主键字段提供自动赋值的能力,从而简化了开发过程。首先,我们需要创建一个数据访问基类,该基类将作为其他数据访问类的基础,并提供通用的数据库操作方法。方法,我们向数据库插入了一个新的用户记录。

2023-09-24 08:59:02 75

原创 C# 提取 Word 文档中插入的多媒体文件 [.NET

在使用 C# 编程时,有时我们需要从 Word 文档中提取插入的多媒体文件,例如图片或音频文件。本文将介绍如何使用 .NET 平台提取 Word 文档中的多媒体文件,并提供相应的源代码示例。首先,我们需要安装并引用 DocumentFormat.OpenXml 包,该包提供了处理 Office 文档的功能。通过使用上述代码,你可以方便地从 Word 文档中提取插入的多媒体文件,以供后续处理或展示。希望本文对你有所帮助!表示提取的多媒体文件将被保存的目标文件夹。表示要提取的 Word 文档的文件路径,

2023-09-24 06:47:57 56

原创 C# 可空引用类型 (.NET): 改进代码质量和安全性的利器

C# 可空引用类型是一项有益的功能,它提供了一种在编译时捕获潜在空引用错误的方法,从而提高了代码的质量和安全性。通过显式声明引用类型是否可以为 null,可空引用类型帮助开发人员更好地处理可能为空的引用,避免 NullReferenceException 异常的发生。在实际开发中,我们可以将可空引用类型用于避免异常、API 设计、数据库操作以及代码迁移和升级等场景。通过合理使用可空引用类型,我们可以编写更可靠、更健壮的代码。

2023-09-24 05:36:25 49

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除