.NET
[长期更新]博客版本日志
软件名称:BlogPlatform 更新版本:Version: 1.0.1.191226_beta 更新日期:2019年12月26日 更新日志:修复了strong标签无法加粗的问题。修改了 ...
| .NET | 2k reads
Premiere Pro 透明视频边缘有白边/亮点?可能是 Alpha 预乘问题
PNG 本身没问题,但导出成带透明通道的视频后边缘出现亮点,通常不是 MOV/AVI 容器问题,而是 Straight Alpha 和 Premultiplied Alpha 解释不一致 ...
| .NET | 7 reads
ASP.NET WebForms:GridView 里的 DropDownList 绑定到不存在的值时,如何统一显示空白
最近在处理 ASP.NET WebForms 的 GridView 时,遇到了一个很典型的问题: GridView 里的 DropDownList 是通过 SqlDataSource 绑定选项的,但数据库里传进来的值,未必一定存在于当前 DropDownList.Items 里面。 比如 ...
| .NET | 9 reads
.NET 8 Blazor Server App 升级到 .NET 10 时,Linux 服务器需要重新配置吗?
最近在考虑一个问题: 如果只是把 .NET 8 的 Blazor Server App 升级到 .NET 10,那么 Linux 服务器是不是只要安装 .NET 10 Runtime 就基本可以了? Nginx、systemd、防火墙、SSL 这些 Linux 侧配置需要重新做一遍吗? 整理之后,结论其实比较简单 ...
| .NET | 3 reads
Blazor Server 與 CLS:Google 搜尋排名的潛在隱憂
最近我在 Google Search Console 的 Core Web Vitals 報表中,發現大量頁面被標示為「CLS 表現不佳」。這讓我開始深入探究自己的網站是否因為使用 Blazor Server 框架而導致 Cumulative Layout Shift(CLS) 分數過高,進而影響 SEO 排名 ...
| .NET | 3 reads
手動移除 <PackageReference> 後,為什麼還要執行 dotnet restore?
在 .NET 開發中,我們常透過 NuGet 套件來引入外部功能模組。這些套件的引用是透過 .csproj 中的 <PackageReference> 來控制的。然而,當你手動編輯 .csproj、移除某些套件時,是否就已經完成了「卸載」 ...
| .NET | 8 reads
在 Blazor 中實作 IDisposable:釋放 JavaScript 資源的重要性
在使用 Blazor 開發互動式應用時,常常會需要與 JavaScript 互通(interop)。這些互操作行為可能會註冊事件、建立全域物件或產生其他瀏覽器端資源。如果不妥善清理這些資源,就可能導致 記憶體洩漏(Memory Leak)、事件重複綁定 或 性能下降 等問題 ...
| .NET | 8 reads
How I Unblocked a Hanging WinForms + psql Tool
Keywords: ProcessStartInfo, pipe dead-lock, stdout / stderr, -w, async I/O Background App: a custom WinForms “PgBackupRestoreTool” Check: on Connect it spawns psql -l to test the connection Stack: PostgreSQL 15 on Windows 10 Everything worked on PC-A, but on PC-B the progress bar spun forever. Manual CLI tests succeeded ...
| .NET | 1 reads
WinForms+psql 工具卡死完整排查筆記
關鍵詞:ProcessStartInfo、管道死鎖、stdout/stderr、-w、非同步 I/O 背景 工具:自行開發的 WinForms「PgBackupRestoreTool」 功能:點擊 Connect → 呼叫 psql -l 測試連線 環境:PostgreSQL 15、Windows 10 ...
| .NET | 1 reads
WinForms + psql 卡死排查全纪录
WinForms + psql 卡死排查全纪录 关键词:ProcessStartInfo、WaitForExit、管道缓冲区、stdout/stderr、-w、异步读取 背景 工具:自写的 WinForms “PgBackupRestoreTool” 功能:按钮点击 → 调用 psql -l 检测连接 环境:PostgreSQL 15,Windows 10 ...
| .NET | 0 reads
✅ 撤銷 dotnet dev-certs https --trust 的方法
撤銷 dotnet dev-certs https --trust 的方法 🧼 方法 1:刪除開發憑證(最乾淨) 在命令列(cmd 或 PowerShell)執行: dotnet dev-certs https --clean 這會: ❌ 刪除目前使用中的 ASP.NET Core HTTPS 憑證(包含已信任的) ✅ 相當於「清除 --trust 的後悔藥」 ✅ Visual Studio 之後啟動會問你要不要重新產生憑證 ...
| .NET | 8 reads
🧊讓 WinForms 的 DataGridView 在滾動時變得流暢:啟用 DoubleBuffered 技術
主題為「如何讓 WinForms DataGridView 在滾動時不再卡頓 —— 使用 DoubleBuffered 技術」。 WinForms 的 DataGridView 控制項雖然功能強大,但在面對大量資料、圖片或複雜格式時,滾動畫面經常會出現「卡頓」、「閃爍」的現象。這不僅影響使用者體驗,也讓介面顯得不夠專業。 幸好,透過啟用 DoubleBuffered,我們可以大幅改善這個問題,讓畫面滾動更加順暢 ...
| .NET | 19 reads
因 DateTime.Now 而當機:EF Core 寫入 timestamptz 的致命陷阱
以下是一篇以部落格形式撰寫的技術分享,用來說明「為什麼用原生 SQL 傳入 DateTime.Now 不會出問題,但透過 Entity Framework Core(EF Core)卻會拋出 Kind=Local 到 timestamptz 的異常」,並給出三種解決方案。 EF Core 與原生 Npgsql 在 DateTime 映射上的差異 ...
| .NET | 16 reads
我在用 Npgsql 搭配 EF Core 遇到的超大陷阱:UseSnakeCaseNamingConvention() 根本不存在!
我在使用 Npgsql.EntityFrameworkCore.PostgreSQL 搭配 Entity Framework Core 開發 PostgreSQL 專案時,想讓 KobetuCd 這類 C# 屬性自動對應資料表中的 kobetu_cd 欄位。網路上許多文章提到 .UseSnakeCaseNamingConvention(),說加上就能解決命名不對應的問題。 結果我死命找都找不到 UseSnakeCaseNamingConvention(),查了半天才發現這個方法根本不屬於 Npgsql,而是來自另外一個社群套件 ...
| .NET | 50 reads
.NET 8 WinForms 使用 PostgreSQL + LINQ 實例教學
如果你正在啟用 .NET 8 WinForms 對 PostgreSQL 執行 LINQ 操作,這篇簡明教學就是為你擾備的。 ᵀ. 安裝 NuGet 套件 打開 NuGet 套件管理器,執行: dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL ᵁ. 建立 DbContext 新增 BKDbContext.cs ...
| .NET | 5 reads
在 .NET 8 Blazor Web App 中攔截所有內部導航並平滑捲動到頂端
在 .NET 8 的 Blazor Web App(Hybrid 模式)中,當你在文章內容裡大量使用原生 <a href="…"> 連結時,點擊後往往只會做「局部刷新」,導致頁面內容更新但瀏覽器捲軸位置依然停留在原地,使用者體驗大打折扣。本文將示範如何在宿主頁面(App.razor)中,注入一段小小的 JavaScript 補丁,攔截所有內部路由並統一「平滑捲動到頂端」 ...
| .NET | 2 reads
Blazor Server 中忘記 @implements IAsyncDisposable 帶來的隱性災難
在 Blazor Server 專案中,使用 DbContext 是家常便飯,但你是否知道——即使你明明寫了 DisposeAsync(),它卻從未被呼叫過?本篇文章將揭露一個許多 Blazor 開發者容易忽略的細節:如果不加上 @implements IAsyncDisposable,Blazor 將無法正確釋放資源。這個小疏忽可能導致資料庫連線耗盡、記憶體飆高,甚至讓你的應用卡死。本文將透過實例對比與修正建議,幫助你徹底理解這個問題,並建立正確的資源管理習慣 ...
| .NET | 5 reads
Blazor Server 長時間運行 CPU 飆升到 99%?你可能忽略了這些細節
主題:Blazor Server 長時間運行導致 CPU 飆升的根本原因與解法。 在使用 Blazor Server 架構開發網站時,我發現一個非常詭異的現象 ...
| .NET | 34 reads
用 Blazor Server 開發內容網站時,我為什麼不強求 HTTP 404
在用 Blazor Server 建立自己的內容網站時,我曾經面臨一個看似簡單、實際卻頗為麻煩的問題:當使用者請求一篇不存在的文章時,我該怎麼處理? 一般來說,網站都會回傳 404 Not Found 狀態碼,讓使用者與搜尋引擎都清楚這個資源不存在。但在 Blazor Server 中,事情沒有這麼簡單 ...
| .NET | 10 reads
為什麼32位的DLL能運行在64位的EXE?深入解析.NET DLL與Win32 DLL的差異
在開發過程中,遇到DLL加載問題並不罕見。許多開發者認為32位的DLL只能在32位應用程式中運作,但有時你會發現,明明檢查顯示DLL是32位的,卻能在64位的EXE中正常運作。這究竟是為什麼?本文將帶你了解背後的原因,並介紹如何使用各種工具檢查與確認DLL的真實狀況 ...
| .NET | 8 reads