原创 利用Windbg分析Magicodes.IE一次錯誤編寫導致內存劇增

由於這近一年時間一直忙於寫書和工作,一直沒有水文,但是近期有幾位朋友使用我們的Magicodes.IE反饋在導出過程中內存暴漲...好吧,不管怎樣,不能苦了我們朋友,接下來我們通過windbg來看一下什麼原因導致的。 接下來我們先通過add

原创 .NET虛擬文件系統

TinyVFS TinyVFS 是一個虛擬文件系統,受ABP vNext框架的啓發。它可以將js、css、image、cshtml等文件嵌入到程序集中, 並在運行時可以將它們像物理文件一樣去使用。 特點 在單體應用中,它可以將前端

原创 運行 Jenkins 的 Docker 容器中拒絕了 dotnet 構建權限

設置環境變量 environment { DOTNET_CLI_HOME = "/tmp/DOTNET_CLI_HOME" } 或者 export DOTNET_CLI_HOME="/tmp/DOTNET_CLI_HOME"

原创 【Azure DevOps系列】Azure DevOps構建.NET EFCore應用程序

本章我們將看到如何通過Azure DevOps使用EFCore CLI工具將我們的EFCore應用程序進行數據庫重建,當然這種操作我不建議使用,建議使用CLI生成sql腳本形式進行發佈並遷移。 設置代理服務器sdk - task: Us

原创 .NET RulesEngine(規則引擎)

一次偶然的機會,讓我拿出RulesEngine去完成一個業務,對於業務來說主要是完成一個可伸縮性(不確定的類型,以及不確定的條件,條件的變動可能是持續增加修改的)的業務判斷。比如說完成一個成就係統,管理員可創建,對於成就來說有一次性解鎖、日

原创 Magicodes.IE.ASPNETCore之多樣化接口使用

1.安裝包 Install-Package Magicodes.IE.AspNetCore 2.開始配置 在Startup.cs的Configure()方法中,在UseRouting()中間件之後,註冊如下中間件 public void

原创 在ASP.NET Core中使用ViewComponent

前言 在之前的開發過程中,我們對於應用或者說使用一些小的組件,通常使用分佈頁(partial view),再往前在Web Form中我們會進行應用WEB Control,好吧提及一個關鍵性代碼TagPrefix:TagName,通過這種的標

原创 .NET初探源代碼生成(Source Generators)

前言 Source Generators顧名思義代碼生成器,可進行創建編譯時代碼,也就是所謂的編譯時元編程,這可讓一些運行時映射的代碼改爲編譯時,同樣也加快了速度,我們可避免那種昂貴的開銷,這是有價值的。 實現ISourceGenerato

原创 .NET探索模型路由約定實現僞靜態

概述 IPageRouteModelConvention接口用於自定義PageRouteModel,這個對象在Microsoft.AspNetCore.Mvc.ApplicationModels命名空間中, 代表着Razor Page路由設

原创 .NET中使用DebuggerDisplay輕鬆定製調試

前言 對於調試的方式有多種,不過在今天我們將看到的監視窗口對變量的監視,當然在這裏我們是定製內部的變量值,或者說變量的顯示與計算的內容。 注:監視窗口在調試時可以一次顯示多個變量。“快速監視”對話框一次顯示一個變量。 Debugger

原创 .NET探索平臺條件編譯

前言 今天偶然機會,翻了一下大學期間的書籍《C程序設計》,好吧,當我翻着翻着,翻到了符號常量(#define指令)中,是啊,這是一個預處理器指令,記得在Magicodes.IE中針對平臺選擇不同的庫,哈哈,這是一個典型的根據平臺進行條件處理

原创 Azure Storage Account 誤刪恢復

登陸Azure站點,導航到新支持請求工作流程中 新建一個支持請求,信息可以按照如下這麼去設置,當然要注意訂閱賬號別選擇錯 點擊圖中圈起來的鏈接“恢復刪除的存儲帳戶” 請選擇已刪除的帳戶, 並且單擊恢復。 恢復完成後

原创 【Azure DevOps系列】Azure DevOps使用Docker將.NET應用程序部署在雲服務器

Docker持續集成 本章我們要實現的是通過我們往代碼倉庫push代碼後,我們將每次的push進行一次docker自動化打包發佈到docker hub中,發佈到之後我將進行部署環節,我們將通過ssh方式將我們的.NET應用程序pull並ru

原创 在.NET中使用DiagnosticSource

前言 DiagnosticSource是一個非常有意思的且非常有用的API,對於這些API它們允許不同的庫發送命名事件,並且它們也允許應用程序訂閱這些事件並處理它們,它使我們的消費者可以在運行時動態發現數據源並且訂閱與其相關的數據源。 Di

原创 【Azure DevOps系列】Azure DevOps構建併發布.NET5應用程序

Azure App Service 獨立部署 在Azure App Service中我們可以通過獨立部署進行部署我們的.NET5應用程序,因爲它不會依賴目標系統上的環境,並且所有組件(包括librarys和運行時)都與該應用程序一起使用,並