
.net
文章平均质量分 92
csdn_aspnet
这个作者很懒,什么都没留下…
展开
-
如何在 C# 和 .NET 中打印 DataGrid
最初即兴的建议是使用我的屏幕截图文章来截取表单,但这当然无法解决打印 DataGrid 中虚拟显示的无数行数据的问题。因此,最终确定的方法是从 DataGrid 中捕获颜色和字体属性用于打印输出,并从 DataSet 中捕获行中的信息。为了将 DataGridPrinter 的绘制功能封装到 Printer 中,我创建了 DataGridPrinter 类,如下图 2 所示。该方法使用 DataGrid 的属性,用适当的颜色绘制每一行,并使用 DataGrid 的字体绘制每个字符串。原创 2025-05-08 09:09:35 · 8051 阅读 · 0 评论 -
使用 .NET Core 的本地 DeepSeek-R1
使用 .NET 在我的 MacBook Pro 上与当地 LLM 聊天的历程。如今,只需使用浏览器即可轻松使用 ChatGPT 或其他 genAI。作为开发人员,我们可以通过直接集成 OpenAI API 等来做更复杂的事情。如果我们想在自己的机器上运行 LLM,只是为了找人聊天或开发一些有趣的东西,该怎么办?最近发布的模型在软件和技术行业引起了轰动。得益于技术,更小、资源更便宜的模型现在可以在特定任务上发挥同样强大的作用。无论是在 genAI 还是 ML 世界中,Python 都是占主导地位的堆栈。原创 2025-03-20 09:02:06 · 10301 阅读 · 0 评论 -
在 ASP.NET Core 中启用 Brotli 和 Gzip 响应压缩
响应压缩通过使用Brotli 或 Gzip等算法来最小化 HTTP 响应的大小。这些算法在传输文本资产(例如 HTML、CSS 和 JavaScript)之前将其压缩为较小的格式。现代浏览器会自动解压缩响应,确保为用户提供无缝的体验。在带宽有限或高延迟的情况下,压缩尤其重要。如果没有压缩,Web 服务器将传输更大的负载,从而导致加载时间变慢。原创 2025-03-06 09:10:16 · 11288 阅读 · 0 评论 -
C# .NETCore ZipArchive 处理大容量文件导致内存占用高的问题
我们有一个文件 API,它定期安排特定路径(驱动器)的存档文件作业以备份数据。从 12 月 11 日起,该应用程序在监控仪表板下占用的内存使用量超过 3GB。我知道人工智能不会总是给我们 100% 正确的答案,但我们可以根据自己的经验判断上下文并做出自己的解决方案😉。正如AI的答复,存档模式:update会将整个文件内容加载到内存中,这就是我们在压缩大量文件时面临高内存使用率的主要原因。因此,我们咨询了最热门的 AI 平台:ChatGPT。下面的屏幕截图显示我们不再需要在相同场景中消耗大量内存。原创 2025-03-01 10:57:37 · 11948 阅读 · 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 · 12139 阅读 · 0 评论 -
使用 ASP.NET Core 创建和下载 zip 文件
如果您要处理大型 zip 文件,将 zip 文件写入服务器上的临时文件,然后将文件流式传输到客户端可能会更有效。对于最近的一个功能,我必须从用 ASP.NET Core 编写的内部网站下载一批文件。在下载文件之前对其进行压缩,结果证明这是一种轻松实现多文件下载的好方法。.NET 提供了所有需要的功能,在本文中,我将向您展示如何实现它。在本例中,我将创建一个能够压缩和下载一些文件的端点。在现实生活中,后端通常需要输入参数才能知道要压缩什么,但为了简单起见,我将省略这部分。首先构建要压缩的文件列表。原创 2025-02-28 09:57:51 · 11848 阅读 · 0 评论 -
在 ASP.NET Core 中压缩并减少图像的文件大小
通过遵循这些步骤,您可以有效地减少 ASP.NET Core 应用程序中上传图像的文件大小,而无需使用 zip 文件。首先,创建一个新的 ASP.NET Core Web API 应用程序或使用现有的应用程序。现在创建一个名为“ImageController”的控制器,用于处理文件上传,使用 ImageService 类压缩并保存上传的图像,同时保持原始文件完好无损。上述方法负责压缩以表示的图像IFormFile并异步将压缩后的图像保存到指定的输出路径。在您的项目中,创建一个服务类来处理图像压缩。原创 2025-02-28 09:08:12 · 11611 阅读 · 0 评论 -
ASP.NET MVC AJAX 文件上传
最后,确保服务器将接受大型上传并给予上传足够的时间来完成(超时)。注意:ASP.NET Core 要求您创建一个web.config文件。使用AJAX和ASP.NET MVC 上传文件 再简单不过了。注意:以下代码示例支持 ASP.NET MVC 5。如果使用 .NET Core,请转到ASP.NET Core 示例。首先,在 Visual Studio 中创建一个名为“Website”的 Web 应用程序 (MVC)。如何使用 MVC 5 和 AJAX(.NET Framework)上传文件。原创 2025-02-22 14:38:27 · 12197 阅读 · 0 评论 -
ASP.NET Core 简单文件上传
使用AJAX和ASP.NET Core MVC上传文件再简单不过了。此代码允许上传多个文件,并与 .NET Core 3.1、.NET 6和.NET 8兼容。如果使用 ASP.NET MVC 5,请转到.NET Framework 示例。首先,在 Visual Studio 中创建一个名为“Website”的 ASP.NET Core Web 应用程序 (MVC)。如果想要实现拖放版本,请参阅本文:ASP.NET Core MVC AJAX Drap-n-Drop 文件上传。用 C# 编写的服务器端代码。原创 2025-02-21 09:03:08 · 12973 阅读 · 0 评论 -
ASP.NET MVC 下载文件
使用 从 ASP.NET MVC 中的控制器下载任何文件类型FileStreamResult。注意:如果使用ASP.NET Core,请参阅此页面,如果想要将文件上传到服务器,请参阅此页面。从使用字节数组的 ASP.NET MVC 控制器下载任何数据类型。如何从 MVC 控制器(.NET Framework)下载文件。原创 2025-02-20 09:43:34 · 14037 阅读 · 0 评论 -
ASP.NET Core SixLabors.ImageSharp v1.0 的图像实用程序类 web示例
这个小型实用程序库需要将 NuGet SixLabors.ImageSharp包(版本 1.0.4)添加到.NET Core 3.1/ .NET 6 / .NET 8项目中。它与Windows、Linux和 MacOS兼容。它可以根据百万像素数或长度乘以宽度来调整图像大小,并根据需要保留纵横比。它根据EXIF数据旋转/翻转图像。这是为了适应移动设备。另请参阅:MVC 应用程序的位图图像创建和下载。这是MVC Web 应用程序中的视图。另请参阅:控制台应用程序示例。它还创建散点图和直方图。原创 2025-02-15 18:37:45 · 12655 阅读 · 0 评论 -
.NET SixLabors.ImageSharp v1.0 图像实用程序控制台示例
这个小型实用程序库需要将 NuGet SixLabors.ImageSharp包(版本 1.0.4)添加到.NET Core 3.1/ .NET 6 / .NET 8项目中。它与Windows、Linux和 MacOS兼容。使用 C# 控制台应用程序示例在 Windows、Linux 和 MacOS 机器上处理图像,包括创建散点图和直方图,以及根据需要旋转图像以便正确显示。它可以根据百万像素数或长度乘以宽度来调整图像大小,并根据需要保留纵横比。它根据EXIF数据旋转/翻转图像。它还创建散点图和直方图。原创 2025-02-15 18:09:24 · 12677 阅读 · 0 评论 -
ASP.NET Core SixLabors.ImageSharp v3.x 的图像实用程序类
这个小型实用程序库需要将 NuGet SixLabors.ImageSharp包(版本 3.1.x)添加到.NET 6 / .NET 8项目。使用用 C# 编写的 asp.net core web 应用程序示例在 Windows 和 Linux web 服务器上处理图像,包括创建散点图和直方图,以及根据需要旋转图像以便正确显示。它可以根据百万像素数或长度乘以宽度来调整图像大小,并根据需要保留纵横比。这是为了适应移动设备。另请参阅:MVC 应用程序的位图图像创建和下载。这是MVC Web 应用程序中的视图。原创 2025-02-14 09:51:15 · 92081 阅读 · 0 评论 -
ASP.NET Core SixLabors.ImageSharp 位图图像创建和下载
从 MVC 控制器内部创建位图图像并将其发送到浏览器;用 C# 编写并与 Linux 和 Windows 服务器兼容。此示例创建一个位图 (jpeg) 并将其发送到浏览器。它需要 NuGet 包SixLabors.ImageSharp v1.0.4。使用从 ASP.NET MVC 中的控制器下载任何文件类型File。另请参阅:SixLabors.ImageSharp 图像实用程序类。原创 2025-02-14 09:08:26 · 13723 阅读 · 0 评论 -
.NET 创建、读取和写入进程类
在.NET中创建一个新进程,Process.Start("notepad.exe")通过创建对象可以实现简单但更多的控制Process。可能,Process.Start()正在使用WinAPI ShellExecute()函数,而Process对象正在使用该CreateProcess()函数(至少对于 Windows 平台而言)。这是因为Console.ReadLine()、proc.StandardOutput.Read()和proc.StandardOutput.ReadLine()是阻塞的。原创 2025-02-07 09:28:12 · 95180 阅读 · 0 评论 -
ASP.NET 与 WebClient 连接
这里没有介绍另一种方法:OpenWrite(),该方法允许 HTTP PUT 操作。最简单的方法是DownloadFile()采用 URI,然后采用保存数据的路径。要将数据(如 POST)发送到 URI 并检索响应,请使用更复杂但更全面的 WebRequest&WebResponse对象。要在应用程序内处理数据,请使用方法OpenRead()获取System.IO.Stream对象。要将文件等数据发送到服务器,请使用该UploadFile()方法。该UploadData()方法允许上传二进制数据。原创 2025-01-16 09:05:01 · 3918 阅读 · 0 评论 -
.NET 终止或结束进程
为了扩展上述代码片段,我们准备了以下代码。它使用强力算法来解决π,这对 CPU 来说非常耗电。因此,它会终止(杀死)自身的所有其他实例,以防止机器负担过重。编译此代码并尝试运行多个实例!使用简单的方法终止.NET中的现有进程Process.Kill()。有一个可选参数 true 或 false,用于结束与要结束的进程相关的所有子进程。如何使用 C# 终止进程。原创 2025-01-08 13:38:06 · 4934 阅读 · 0 评论 -
Windows、Linux 系列 操作系统对.NET支持情况
win7 能够安装 net7,但是占用内存很大,空白应用启动起码占 500M 内存,官方直接说 net7 不支持 win7。win2003r2 需要先安装 net3.5sp1,才能支持安装 net2sp2,也不能提前安装 net4.0。win7 打上 sp1 以后,可以安装 vc++2019,然后就能跑 AOT 应用了。原创 2024-12-05 09:09:39 · 90216 阅读 · 0 评论 -
各版本 操作系统 对 .NET Framework 与 .NET Core 支持
有两种类型的受支持版本:长期支持 (LTS) 版本和标准期限支持 (STS) 版本。所有版本的质量都是一样的。唯一的区别是支持的时间长短。LTS 版本可获得为期三年的免费支持和补丁。STS 版本可获得 18 个月的免费支持和修补程序。有关详细信息,请参阅。从上图中我们可以看出,.Net5及以下版本已经不再受到官方支持;而.Net7看起来也是过渡版本,支持时间较短,本文从 .Net Core 3.1 开始介绍支持的系统,可能不是很全面,仅供参考。原创 2024-01-08 09:43:20 · 124536 阅读 · 0 评论 -
.Net7.0 或更高版本 System.Drawing.Common 上传图片跨平台方案
项目升级.Net7.0+以后,System.Drawing.Common开关已经被删除,于是想办法将原来上传图片验证文件名和获取图片扩展名方法替换一下,便开始搜索相关解决方案。原创 2023-12-26 11:04:27 · 96347 阅读 · 2 评论 -
.Net6 .Net7 支持的 Windows 版本
如果要在以下 Windows 版本上安装 .NET SDK 或运行时,则需要其他依赖项:如果收到与以下 dll 之一相关的错误,也需要满足上述要求: 备注:+ 表示最低版本。原创 2023-07-12 13:31:01 · 3149 阅读 · 0 评论