原创 .NET 程序讀取當前目錄避坑指南

前些天有 AgileConfig 的用戶反映,如果把 AgileConfig 部署成 Windows 服務程序會啓動失敗。我看了一下日誌,發現根目錄被定位到了 C:\Windows\System32 下,那麼讀取 appsettings.j

原创 AgileConfig 1.6.0 發佈 - 支持服務註冊與發現

大家好,好久沒有輸出博文了,一是因爲比較忙,另外一個原因是最近主要的精力是在給 AgileConfig 添加一個新的功能:服務註冊與發現。 先說說爲什麼會添加這個功能。我自己的項目是用 Consul 來做爲服務註冊發現組件的。自從我上線了

原创 微服務系列文章目錄

.NET Core with 微服務 - 什麼是微服務 .Net Core with 微服務 - 架構圖 .Net Core with 微服務 - Ocelot 網關 .Net Core with 微服務 - Consul 註冊中心 .Ne

原创 MemoryCache 如何清除全部緩存?

最近有個需求需要定時清理服務器上所有的緩存。本來以爲很簡單的調用一下 MemoryCache.Clear 方法就完事了。誰知道 MemoryCache 類以及 IMemoryCache 擴展方法都沒有 Clear 方法。這可給難住了,於是想

原创 YARP+AgileConfig 5分鐘實現一個支持配置熱更新的代理網關

YARP 是微軟開源的一個反向代理項目,英文名叫 Yet Another Reverse Proxy 。所謂反向代理最有名的那就是 nginx 了,沒錯 YARP 也可以用來完成 nginx 的大部分功能,比如根據不一樣的域名代理到不一樣的

原创 AgileConfig-1.5.5 發佈 - 支持 JSON 編輯模式

本次更新加入了2個新的編輯模式:JSON 編輯模式、TEXT 編輯模式。特別是 JSON 編輯模式是大家比較期待的一個功能。因爲大家都習慣了 appsettings.json 的配置編輯模式,所以天生的喜歡 JSON 視圖。有了 JSON

原创 讓 AI 爲你寫代碼 - 體驗 Github Copilot

前幾天在羣裏看到有大神分享 Copoilot AI 寫代碼,看了幾個截圖有點不敢相信自己的眼睛。今天趕緊自己也來體驗一下 Copoilot AI 寫代碼到底有多神奇。 申請 現在 Copoilot 還處在預覽階段,想要體驗需要先申請。等待大

原创 AgileConfig 輕量級配置中心 1.5 發佈 - 支持多環境配置

AgileConfig 從發佈到現在,收到不少同學的 issue 說需要多環境的支持。也就是一個應用在不同的環境下可以配置不同的配置項。這是一個非常有用的功能,就跟我們開發的時候會設置多個 appsettings.json 文件一樣,比如

原创 .Net Core with 微服務 - 使用 AgileDT 快速實現基於可靠消息的分佈式事務

前面對於分佈式事務也講了好幾篇了(可靠消息最終一致性 分佈式事務 - TCC 分佈式事務 - 2PC、3PC),但是還沒有實戰過。那麼本篇我們就來演示下如何在 .NET 環境下實現一個基於可靠消息的分佈式事務。基於可靠消息的分佈式事務流程上

原创 .Net Core with 微服務 - 分佈式事務 - 可靠消息最終一致性

前面我們講了分佈式事務的2PC、3PC , TCC 的原理。這些事務其實都在盡力的模擬數據庫的事務,我們可以簡單的認爲他們是一個同步行的事務。特別是 2PC,3PC 他們完全利用數據庫的事務能力,在一階段開始事務後不進提交會嚴重影響應用程序

原创 AgileConfig輕量級配置中心1.4.0發佈,重構了發佈功能

加入 NCC 先說一個事,AgileConfig 在 7 月底終於通過了 NCC 社區的審覈,正式成爲了 NCC 大家庭的一員。這對 AgileConfig 來說是一個里程碑,希望加入 NCC 後能更好的幫助到大家。同時責任也更大了,本人會

原创 使用 baget 搭建 nuget 私有服務

現在幾乎所有語言都提供包管理工具,比如 JavaScript 的 npm ,Java 的 Maven ,Dart 的 pub 。.Net 程序當然是 NuGet 。NuGet 也出現很多年了,奇怪的是居然還有很多人不知道。 現在軟件結構越來

原创 .Net Core with 微服務 - 分佈式事務 - TCC

上一次我們講解了分佈式事務的 2PC、3PC 。那麼這次我們來理一下 TCC 事務。本次還是講解 TCC 的原理跟 .NET 其實沒有關係。 TCC Try 準備階段,嘗試執行業務 Confirm 完成業務 Cancel 回滾準備階段的業

原创 .Net Core with 微服務 - 分佈式事務 - 2PC、3PC

最近比較忙,好久沒更新了。這次我們來聊一聊分佈式事務。 在微服務體系下,我們的應用被分割成多個服務,每個服務都配置一個數據庫。如果我們的服務劃分的不夠完美,那麼爲了完成業務會出現非常多的跨庫事務。即使按照 DDD 的原則來切分服務還是免不了

原创 關於 .NET 與 JAVA 在 JIT 編譯上的一些差異

最近因爲公司的一些原因,我也開始學習一些 JAVA 的知識。雖然我一直是以 .NET 語言爲主的程序員,但是我並不排斥任何其它語言。在此並不討論 JAVA .NET 的好壞,僅僅是對 .NET 跟 JAVA 程序的編譯執行過程進行一些簡單的