系統開發難免會有一些背景批次定時的作業, 過去在 windows 平台可能開發 winform 或 console 程式由 windows 排程執行, 也可能自行開發程式內含 Timer 不斷的執行, 也曾見過有人將排程程式寫在網站程式中, 一樣利用 Timer 來執行, 省下另外建置的設備, 工程們總會找到自己的出路。 今天要分享的是 Quartz.Net 套件, 原本是 Java 下開源的框架, 1.0 版本早在 2002年9月發佈, 後來被移植到 .Net , 在 .Net 版本目前是 3.x 版, 適用於 .Net Framework 和 .Net Core, 這真的是很強大的排程作業軟體, 不過本身沒有提供什麼介面﹐所以需要自行開發。 網路上已有很多人發表了做法, 如今自己來做一套適合自己使用的介面﹐同時也分享給大家參考。
如何使用 Serilog 將 Log 推送至 ELK
先前在將系統推到 K8s 將 Log 導入 ELK, 使用 filebeat 花費了一些工夫, 想說如果寫 Log 時能直接推送就方便許多, 後來查了一下網路果然 serilog 有這樣的功能, 趕緊用起來。
Serilog.AspNetCore 的用法—使用 Serilog 強大的結構化資料 工具篇
前兩篇對於 Serilog 的使用和設定測試的差不多﹐目前為止應該可以應付大部分場景的使用﹐但Serilog 強大的 JSON 結構化格式呢?前面也提到過使用CompactJsonFormatter可以有更豐富的資訊﹐前面為了將Controller action獨立log還大費周張特別去撰寫如何取得Controller Name﹐如果改用CompactJsonFormatter 其實不用那麼麻煩﹐只是在前面也看過結構化的資訊用人類的眼睛並不容易直接找到想要看的資訊﹐這時就必須要有工具輔助﹐本來是想要自行撰寫﹐IT人員沒工具就要自已制作工具﹐不過已經有人做好好用的工具﹐就先來試試網路高手們的創作。
Serilog.AspNetCore 的用法—將 Controller 的 Log 獨立
延續上一篇 基本使用方式
這一篇文章希望達到的目的有幾個
- 將Controller中的Log獨立檔案﹐方便查詢
- 獨立的Controller的Log檔中必須標註是由那一個Controller產出的﹐避免混淆
Serilog.AspNetCore 的用法—基本使用方式
日期:2024/02/10
環境:.Net 8/Visual Studio 2022
今天大年初一﹐最近對 Serilog 做了些小研究﹐整理一下筆記﹐也是為了之後的專案使用。主要根據官網 GitHub - serilog/serilog-aspnetcore: Serilog integration for ASP.NET Core 進行測試和實作。Serilog有許多不錯的特點﹐例如﹐結構化的日誌﹑多種輸出的選擇(console, File…)﹑可在設定檔中配置…﹐在Asp.Net Core 算是居家出門備在身上的好良藥。
Asp.net core web api + Vue & JWT refresh token 實作
原本在網路上想找一篇 Asp.net core Web Api 使用 JWT 認證﹐並且是使用 refresh token 機制的文章做參考﹐我想找的是前後端整合的﹐不過遍尋網路上的文章﹐九成以上都只講後端 Web Api 如何設計﹐極少數講前端﹐對於前後端如何配合使用更是難以找到相關文章﹐最後只找到一篇國外文章﹐具有前後端整合的文章不過前端用的是angular﹐剛好還沒時間研究但觀念差不多﹐所以就乾脆自行寫一篇前端使用 Vue 搭配 axios 如何做 refresh token 將前後端做個整合說明。
VS 2022 .Net Core Web Api & VS Core Vue-cli 整合開發與除錯
現在網路資源豐富﹐許多學習資源大多在網路上可以獲得﹐不過很多東西需要自行拼湊。在我學習Vue 的過程中﹐如何讓 Asp.net core web api 和 Vue 能互相搭配且開發順暢﹐著實在網路上研究了許久﹐這類整合開發的文章比較少﹐希望我這篇筆記能對大家有所助益。
Raspberry pi - DHT11 - .Net 開發
在 Raspberry Pi 上使用 .Net IoT 開發的範例真的好少﹐這次嚐試撰寫 DHT11 的實驗﹐過程上有些波折﹐不過透過 Discord 上大神的協助總算解決了問題。
Asp.Net Core 分散式Session – 使用 Redis
Session 是Web開發中可能會碰到的東西﹐雖然使用Session對於應用系統來說壞處多於益處﹐但有時在某些場景下或許有不得不用的情形﹐先不談其它的﹐Session就像是個全域性變數﹐隨時都可宣告﹐隨地都可修改內容﹐又任何時候都可信手拈來的使用﹐非常方便﹐可是就因為太方便了﹐若沒有好好的控管﹐很容易讓系統在出了問題時很難追查原因。在我曾接手過的案子就常見這種讓人恨的牙癢癢的系統。雖然要避免濫用Session﹐但還是不得不要了解Session的使用﹐由其是在分散式環境下要如何解決Session共用的問題。
Redis Server 6.x for Ubuntu 20.04 Install--續
延續上一篇 Redis Server 6.x for Ubuntu 20.04 Install 要談的是 Redis for Docker 的安裝﹐這也是我最後採用的方式﹐不得不說使用 docker 真的很方便。
Redis Server 6.x for Ubuntu 20.04 Install
科技的演進﹐需求不斷擴張﹐使得系統架構越來越複雜﹐從早期的大型主機 Terminal方式﹑Client/Server﹑N-Tier﹐一路演進到分散式架構。早些年在分散式架構﹐透過 L4 Switch 和幾台 AP Server 就可以做出一個基本的分散式架構﹐對於 Session 的處理方式常會是以 L4 sticky 設定﹐讓 user 端黏在某台 AP Server﹐雖然有些失去 Load balance 的用意﹐但是是一個快速解決的方式。不過在容器化時代﹐這不是好的解決方案﹐為了能解決session 的共享﹐開始接觸了 Redis﹐工欲善其事﹐必先利其器﹐所以先將 Redis 環境架起來才能好好的研究。
因為之後開發的 .Net Core 程式要能發佈到 Linux Container ﹐所以 Redis 也打算採用 Linux 環境。
Raspberry pi - Pcf8591t - .Net 開發
在 Raspberry pi 的感應器練習有一個使用 pcf8591t AD/DA 轉換的實驗﹐原本的練習是 python 寫的範例﹐改用 .Net 來試試。
EF Core 正向與反向工程筆記
微軟 EF Core Code First & DB First 的指令整理筆記
Raspberry pi - Hardware PWM 呼吸燈 - .Net 開發
原來硬體的 PWM 和 軟體模擬差這麼多
.Net 佈署到 docker 如何動態給予資料庫帳密
docker 化時需要注意不可暴露了資料庫連線的重要資訊
Vue.js 學習心得2:漸進式修改網站
VueJs 的漸進式框架非常適合讓在還不是那麼熟悉前端框架﹐又被老闆逼著要使用前端框架﹐能夠邊做邊上手﹐時機成熟後要華麗轉身成為 SPA 也不致於做白工。
Vue.js 學習心得1-重新認識 Web 開發
過去在職場上常聽到的是Internet 網頁程式設計師﹑Web應用工程師﹐但現在打開求職網站看到的則是徵求前端工程師﹑後端工程師﹑全端工程師﹐從名稱看前端工程師當然和前端框架有關﹐這幾年前端框架這名詞在Google一搜尋就會看不完的文章﹐那麼前端框架到底和過去的網頁應用程式開發有什麼不同呢?
.Net 呼叫 PHP+NuSOAP 中文亂碼的解決
摘要:.Net 呼叫 PHP+NuSOAP 中文亂碼的解決
- 1