记一次HttpClient使用问题分析
2024/10/14 16:01:38

问题 问题是这样的:第三方的webapi,需要先调用登陆接口获取Cookie,访问其它接口时携带Cookie信息。 但使用HttpClient类调用登陆接口,返回的Headers中没有找到Cookie信息。 分析 首先,使用Postman测试该登陆接口,正常返回Cookie信息,说明是HttpClient访问接口出了问题。 通过调试发现,明明使用的Post请求,返回的HttpResponseMessage却显示为GET请求。 下载WireShark网络分析工具,抓包发现,Post请求返回了302,且返回中

🌈AbpHelper CLI积累与实战分享
2024/10/14 16:01:38

🌈ABP CLI常用的代码分享 一、确保环境配置正确 安装. CLI: ABP CLI是基于. Ce或. 567等更高版本构建的,因此首先需要在你的开发环境中安装. CLI。这可以通过访问Microsoft官网下载并安装相应版本的. SDK来实现。 安装ABP CLI: 在命令行中,使用dot tool命令全局安装ABP CLI。通常,ABP CLI的工具包名为EasyAbp.AbpHelper。你可以通过运行以下命令来安装: bash dot tool install EasyAbp.AbpHelpe

在 ASP.NET Core Web API 中使用异常筛选器捕获和统一处理异常
2024/10/14 16:01:36

前言 在 ASP. Ce Web API 中,异常筛选器(Exception Filter)是一种用于处理发生在 Web API 控制器或管道中的异常的机制。 异常筛选器可以捕获和处理应用程序中发生的异常,当系统中出现未经处理的异常的时候,异常筛选器就会执行,我们可以在异常筛选器中对异常进行处理,例如记录日志、返回自定义错误信息等。 需要注意的是,只有 ASP. Ce 线程中的未处理异常才会被异常筛选器处理。 本文主要通过一个实例来讲述在 ASP. Ce Web API 中如何使用异常筛选器。 Step

Advanced .Net Debugging 11:完结篇
2024/10/14 16:01:29

一、介绍    这是我的《Advanced . Debugging》这个系列的第十一篇文章,也是这个系列的最后一篇了。我已经把原书的前八章内容全部写完了,本来打算继续写第九章和第十章的内容,后来我放弃逐章逐节的编写,选择了将两章的内容进行过滤后,合为一篇,只把重要的内容包含进来的做法。原因是,我看了原书的后两章内容后,发现很多章节都是一带而过的介绍工具如何使用,讲解的并不是很详细。还有一点更重要的原因就是【高级调试所涉及的知识点】已经全部包含在前面所写的章节中了。如果大家想了解更详细的内容,可以直接去看原

.NET 7+Angular 4 轻量级新零售进销存系统
2024/10/14 16:01:26

前言 给大家推荐一个专为新零售快消行业打造了一套高效的进销存管理系统。 系统不仅具备强大的库存管理功能,还集成了高性能的轻量级 POS 解决方案,确保页面加载速度极快,提供良好的用户体验。 项目介绍 Disoy.POS 是一款基于 . 7 和 Angular 4 开发的新零售快消进销存管理系统。 系统集成了先进的库存管理和高性能的轻量级 POS 功能,拥有出色的性能和快速的页面加载速度,确保用户获得流畅的操作体验。 无论是快速销售还是库存控制,Disoy.POS 都能实现业务流程的自动化与优化。项目功能客

如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFilterAttribute
2024/10/14 16:01:24

前言:什么是 ActionFilterAttribute? ActionFilterAttribute 是一种作用于控制器 Action 方法的特性(Attribute),通过它,你可以在操作执行前后、异常处理时等不同的阶段插入自定义逻辑。 比如在执行操作方法之前修改请求参数、记录日志、进行权限验证等操作,在执行操作方法之后发送邮件、同步数据等等。 本文主要通过一些例子来说明什么是 ActionFilterAttribute 及如何应用。 Step By Step 步骤:创建一个 asp. ce weba

Windows 调试工具课程
2024/10/14 16:01:11

本文是我在集团内部上的课程记录而成的博客内容。在本次课程里面将和大家介绍一些在 Windows 上常用的调试工具,以及调查问题的常见套路。适合于伙伴们入门 Windows 调试 本文内容的组织方式是按照原本课程课件里面的一页页的内容组装而来的方式组织的,在过程中补充一些讲课时的内容本次课程里面核心的内容是调试工具,调试工具是我们在调试软件的时候的利器,通过调试工具我们可以找到软件的问题,解决软件的问题本次的课程的开始我来和大家讲一个调试故事,这个故事是从用户反馈软件用不了的问题开始的用户说软件用不了,那可

.NET周刊【9月第2期 2024-09-08】
2024/10/14 16:01:10

国内文章 WPF 从裸 Win 32 的 WM_Pointer 消息获取触摸点绘制笔迹 https:www.cnblogs.comlindexip18390983 本文将告诉大家如何在 WPF 里面,接收裸 Win 32 的 WM_Pointer 消息,从消息里面获取触摸点信息,使用触摸点信息绘制简单的笔迹。 dot 读 WPF 源代码笔记 从 WM_POINTER 消息到 Touch 事件 https:www.cnblogs.comlindexip18403860 本文记录我读 WPF 源代码的笔记,在

FastReport.OpenSource .Net下开源免费报表打印组件
2024/10/14 16:01:09

解决了这个问题:《winFm下,fastRept. 从. framewk 升级到.5遇到的错误“Operation is not suppted on this platfm.”》 本文内容转载自:https:www.fcnsoft.comHomeShowArticleNews473 最近被fastrept.搞得有点烦躁,网上有很多破解版本下载可以下载使用,但是仅限于. framewk平台。最近将贰叶收银软件TS.POS零售端升级到. ce平台,计划发布到安卓和linux平台上也可以使用。结果悲催了,打印

OAuth2.0授权-gitee授权码模式
2024/10/14 16:01:08

OAuth2.0授权验证gitee授权码模式 本文主要介绍如何笔者自己是如何使用gitee提供的OAuth2.0协议完成授权验证并登录到自己的系统,完整模式如图1、创建应用 打开gitee个人中心第三方应用创建应用 创建应用后在我的应用界面,查看已创建应用的Client ID和Client Secret 2、对接 如何对接呢?gitee提供了开放文档,打开任意一个gitee页面,到页脚部分,找到OpenAPI,这里就是gitee提供的开放文档了,下面开始根据文档进行对接1、回调地址根据协议,我们必须设置一

C# + WPF 音频播放器 界面优雅,体验良好
2024/10/14 16:01:05

前言 本文介绍一款使用 C# 与 WPF 开发的音频播放器,其界面简洁大方,操作体验流畅。该播放器支持多种音频格式(如 MP4、WMA、OGG、FLAC 等),并具备标记、实时歌词显示等功能。 另外,还支持换肤及多语言(中英文)切换。核心音频处理采用 FFmpeg 组件,获得了广泛认可,目前 GitHub 上已收获 1.8K 星标。 项目介绍 Dopamine 是一款简单好用的、功能强大的、完全免费且无广告的本地音乐播放器。它有绿色便携版(30MB)和可安装版(34MB),目前仅支持 Windows 平台

C# 面向对象编程的三大支柱:封装、继承与多态
2024/10/14 16:01:05

面向对象编程(OOP)是一种广泛使用的编程范式,它通过封装、继承和多态这三大支柱来构建灵活且可维护的代码结构。本文将详细介绍这三大支柱在C#语言中的应用,并通过示例代码展示它们的具体实现。 一、封装(Encapsulation) 封装是指将对象的属性(字段)和行为(方法)结合在一起,并对外部隐藏对象的具体实现细节,仅暴露必要的接口供外部使用。封装提高了代码的安全性和可维护性。 示例代码 using Systemnamespace EncapsulationExample{ class Person

高效打造跨平台桌面应用:Electron加载服务器端JS
2024/10/14 16:01:04

在现代桌面应用开发中,使用 Electron 加载远程服务器托管的前端资源,再与本地 API 交互,能够带来灵活的部署和强大的本地功能支持。这种方式不仅提升了开发效率,还能充分利用 PC 端的资源和性能。 本文将深入解析如何使用 Electron 实现这一架构,并探讨其背后的关键技术,包括 ipcMain 和 ipcRenderer 进程间通讯,以及 preload.js 安全交互等内容。你将学会如何打造既能随时更新前端,又能高效利用本地硬件资源的桌面应用。 1. 服务器资源与 Electron 的高效结

从0到1搭建权限管理系统系列二 .net8 使用JWT鉴权(附当前源码)
2024/10/14 16:01:00

说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。 该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。 说明:OverallAuth2.0 是一个简单、易懂、功能强大的权限+可视化流程管理系统。 结合上一篇文章使用,味道更佳:. ce8 使用Swagger(附当前源码) 有兴趣的朋友,请关注我吧(^▽^)。 第一步:安装最新Jwt包 包名:Microsoft.AspCe.Authentication.JwtB

.NET 开源工业级移动端仓库管理系统
2024/10/14 16:00:56

前言 在工业生产中,定制化的软件对于每个环节都至关重要。对于仓库管理,推荐一款开源的仓库管理系统(WMS)解决方案。 这款基于. 框架开发的移动应用,提供了全面的仓库操作、订单处理、主数据管理、数据分析及个人信息设置等功能,是工业仓库管理的有利助手。 项目介绍 SmoWMS 是一款基于. 技术开发的移动仓库管理系统。 包含了仓库管理中基础的入库、出库、订单管理、调拨、盘点、报表等功能。 支持扫码条码扫描、RFID扫描等仓库中常见的场景。 它通过 Visual Studio 作为 IDE,结合 Smobil

HTTP Error 500.19
2024/10/14 16:00:55

问题描述:HTTP Err 500.19 Internal Server Err The requested page cannot be accessed because the related configuration data f the page is invalid.Detailed Err Infmation: Module IIS Web Ce Notification BeginRequest Hler Not yet determined Err Code 0

不可不知的WPF转换(Transform)
2024/10/14 16:00:53

在WPF开发中,经常会需要用到UI控件的2D转换(如:旋转,缩放,移动,倾斜等功能),本文以一些简单的小例子,简述如何通过Transfm类实现FramewkElement对象的2D转换,仅供学习分享使用,如有不足之处,还请指正。 什么是Transfm 转换(Transfm)定义如何将控件从一个坐标空间映射或转换到另一个坐标空间。2D转换可以通过Matrix来实现,Matrix是一个3行3列的double值的集合。不过WPF还提供了多个Transfm类,以便在不知道基础矩阵结构配置的情况下转换对象。

记一次 公司.NET项目部署在Linux环境压测时 内存暴涨分析
2024/10/14 16:00:53

一:背景讲故事 公司部署在某碟上的项目在9月份压测50并发时,发现某个容器线程、内存非正常的上涨,导致功能出现了异常无法使用。根据所学,自己分析了下线程和内存问题,分析时可以使用lldb或者windbg,但是个人比较倾向于界面化的windbg,所以最终使用windbg开干。二:WinDbg 分析到底是哪里的泄漏 在 windows 平台上相信有很多朋友都知道用 !address summary 命令看,但这是专属于windows平台的命令,在分析linux上的dump不好使,参考如下输出:0:000 !a

医学DICOM文件与PACS系统进行数据传输
2024/10/14 16:00:52

最近在做一个医疗项目,其中设计到医学影像数据Dicom文件的传输,其中的一个功能是需要Dicom文件和PACS系统进行互通,就是能将本地的DICOM文件传输到PACS系统,并且本地系统能查询到PACS系统数据并下载。针对将文件上传到PACS系统。之前我们项目中都是使用的C++来处理的。C#的项目都是通过调用C++封装的接口来实现与PACS的数据传输。我这里做了实现了两种方案,都是纯C#实现,并且都已走通。 方式一:通过C#的开源库fodicom来实现的数据传输,直接通过NuGet安装相关的依赖包,比如我这

.NET 开源的功能强大的人脸识别 API
2024/10/14 16:00:49

前言 人工智能时代,人脸识别技术已成为安全验证、身份识别和用户交互的关键工具。 给大家推荐一款. 开源提供了强大的人脸识别 API,工具不仅易于集成,还具备高效处理能力。 本文将介绍一款如何利用这些API,为我们的项目添加智能识别的亮点。 项目介绍 GitHub 上拥有 1.2k 星标的 C# 面部识别 API 项目:FaceRecognitionDot。该项目功能强大,开箱即用,并支持跨平台。 它使用了 OpenCVSharp 和 face_recognition 开源库,并提供了 NuGet 包,方便

记一次 .NET某上位机视觉程序 卡死分析
2024/10/14 16:00:48

一:背景 1. 讲故事 前段时间有位朋友找到我,说他的窗体程序在客户这边出现了卡死,让我帮忙看下怎么回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 为什么会卡死 窗体程序的卡死,入口门槛很低,后续往下分析就不一定了,不管怎么说先用 !clrstack 看下主线程,输出如下:0:000 !clrstack OS Thread Id: 0x3118 (0)Child SP IP Call Site 000000c478afd1d

第22篇 生成proto文件bat脚本
2024/10/14 16:00:47

1.生成单个Proto.bat内容@rem Copyright 2016 Google Inc. @rem All rights reserved. @rem @rem Redistribution use in source binary fms with without @rem modification are permitted provided that the following conditions are @rem met: @rem @rem Redistribution

C# 开源教程带你轻松掌握数据结构与算法
2024/10/14 16:00:41

前言 在项目开发过程中,理解数据结构和算法如同掌握盖房子的秘诀。算法不仅能帮助我们编写高效、优质的代码,还能解决项目中遇到的各种难题。 给大家推荐一个支持C#的开源免费、新手友好的数据结构与算法入门教程:Hello算法。项目介绍 《Hello Algo》是一本开源免费、新手友好的数据结构与算法入门教程,采用了动画图解的方式,并支持一键运行代码。 该教程覆盖了 Python、Java、C++、C、C#、JS、Go、Swift、Rust、Ruby、Kotlin、Type 和 Dart 等多种编程语言,每种语言

WPF 什么时候 VisualTreeHelper.GetDescendantBounds 将返回无穷大
2024/10/14 16:00:40

在 WPF 的容器控件的里层元素的 RenderTransfm 包含 NaN 将会导致对上层容器调用 VisualTreeHelper.GetDescendantBounds 返回无穷大 返回的矩形范围是 ∞∞∞∞ 的正负无穷大 复现代码如下Grid x:Name="Grid"Bder x:Name="Bder"GridGrid.RenderTransfmTranslateTransfm X="NaN"TranslateTransfmGrid.RenderTransfmGridBderGrid此时对以上代

第21篇 TortoiseGit(大乌龟)版本管理工具的使用
2024/10/14 16:00:33

一、下载安装 1.下载git 必须先下载并安装git,再TtoiseGit下载安装 git安装参考教程:https:blog.csdn.mukesarticledetails115693833 2.TtoiseGit下载与安装 TtoiseGit,Git客户端,3264位最新版及对应的语言包下载地址:https:ttoisegit.gdownload 进入下载页面,选择相应版本下载下载完成后,双击安装程序 TtoiseGit2.13.0.164bit.mis, 弹出安装向导界面, 打开后直接next下一步

从0到1搭建权限管理系统系列一 .net8 使用Swagger(附当前源码)
2024/10/14 16:00:31

说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。 该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。 说明:OverallAuth2.0 是一个简单、易懂、功能强大的权限+可视化流程管理系统。 有兴趣的朋友,请关注我吧(^▽^)。 使用前提 1、Visual Studio使用2022版本 搭建项目 OverallAuth2.0依然和OverallAuth1.0一样,采用前后端分离模式,所以搭建后端,我们选择

.NET 多版本 WinForm 开源控件库 SunnyUI
2024/10/14 16:00:27

前言 给大家推荐一款开源的 Winfm 控件库,可以帮助我们开发更加美观、漂亮的 WinFm 界面。 项目介绍 SunnyUI. 是一个基于 . Framewk 4.0+、. 6、. 7 和 . 8 的 WinFm 开源控件库,同时也提供了工具类库、扩展类库和多页面开发框架。 基于 . Framewk 4.0,采用原生控件开发,参考 Element 主题风格,包含超过 70 个常用控件,如按钮、编辑框、下拉框、数据表格、工控仪表和统计图表,满足常规开发需求,每个控件都精心设计,注重细节。 提供 11 个

VisualStudio 通过配置 DefaultXamlRuntime 属性 让控制台项目里的 XAML 应用上智能提示
2024/10/14 16:00:25

比如说在一个控制台项目里面,我期望从控制台开始,定制自己的 UI 框架,比如说到现在还没有支持 XAML 的 CPF 框架,我期望让 VisualStudio 能够支持 XAML 的智能提示,提高开发者开发效率 一个简单的实现方式就是本文标题里面提到的,通过配置 DefaultXamlRuntime 项目属性,如以下编写在 csproj 里面的代码PropertyGroupDefaultXamlRuntimeWinUIDefaultXamlRuntimePropertyGroup如果是框架制作方,也可以放

UWP WinUI3 传入 AddHandler 的 RoutedEventHandler 类型与事件所需不匹配将抛出参数异常
2024/10/14 16:00:24

开始之前先惯例吐槽一下,我从 2015 开始开发 UWP 应用,然而到 2024 的时候,依然没有看到开发体验上的优化。且在 WinUI3 的技术底层设计上就存在无解问题,那就是许多错误只依靠 COM 的 HR 错误号信息,开发者难以了解真正意义上的调错信息和具体的错误原因。比如说本文所记录的问题 以下是最短复现问题的代码public MainPage(){this.InitializeComponent()RoutedEventHler hler = (_ _) ={System.Diagnostics

dotnet C# 警惕可空结构体的方法内部赋值无效
2024/10/14 16:00:23

其实这个问题非常好理解,只不过可能在编写代码的时候,由于语法原因,可能不小心才会踩到这样的坑。先来讲讲我踩到这个坑的故事,这是我在编写一个 WPF 应用程序时,我有一段逻辑代码,我需要将一个 WPF 的 Rect 类型进行 Union 一个点,从而求出加入包含某个点的矩形范围 简单的编写代码如下Rect rect1 = new Rect(10 10 10 10)rect1.Value.Union(new Point(100 100))以上代码的 rect1.Value.Union 则是将传入的点参数加入到