推薦文章

如何使用 EF Core DbContext 以 Microsoft.EntityFrameworkCore.Sqlite 為例

.NET Core 1.0 開始為了跨平台重新改寫了 SQLite,名為 Microsoft.Data.Sqlite,刪除了過時的 DataTable 和 DataAdapter 相關的 DataSet  API,這已經和之前的 System.Data.SQLite 不一樣,但團隊還是盡量讓它們兩者的 API 變化降到最低。這裡有官方的比較說明文件 與System.Data.SQLite的比較-Microsoft.Data.Sqlite | 微軟文檔

...繼續閱讀 »
on yc421206

App Service 實做身份識別存取 KeyVault

  • 71

在透過程式存取 Azure 資源的時候,基於安全性考量,通常是透過在 AAD 內建立應用程式註冊,透過註冊應用程式設定必要的權限來存取 Azure 資源,但是在使用 KeyVault 的時候就是希望有更高的安全性,會將金鑰或秘密存在服務內,但是這時候又會有一組應用程式註冊的 Secret 會需要被放到程式的參數內,那如果也想在開發階段也隱藏這一個金鑰的話就得使用微軟推出的身份識別功能,透過此功能來存取資源,可以在開發階段避免直接將應用程式註冊的 Id 和 Secret 交付給開發人員或是存放在設定檔內,本文就是介紹整個開發階段和部署到 Azure App Service 時候實做存取 Key Vault 內的 Secret。

...繼續閱讀 »
on anyun

使用 Microsoft.Extensions.Hosting.WindowsServices 和 Topshelf.Extensions.Hosting 建立 Windows Service 應用程式

Microsoft.Extensions.Hosting.WindowsServices 實作 IHostLifetime,可以讓我們輕鬆地將 Console 應用程式掛載在 Windows Service,在實作的過程當中,發現控制服務不是那麼的友善。

於是想起了 Topshelf,便找到了 Topshelf.Extensions.Hosting,它除了可以使用原本的 Host 生命週期,DI Container 注入方式,還可以享有 Topshelf 自我管理 Windows Service 的功能。

...繼續閱讀 »
on yc421206

如何使用 .NET Generic Host for Microsoft.Extensions.Hosting

.NET Generic Host 是 .NET Core 發展出來的基礎建設,可以和其他類型的 .NET 應用程式搭配使用例如背景服務的主控台應用程式,Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder 靜態方法,它來自於  Microsoft.Extensions.Hosting.dll,主要用來提供應用程式一個標準的啟動,包含注入、紀錄、組態,不同的應用程式框架 (HostService) 有不同的預設啟動設定,.NET Generic Host 讓我們的應用程式的生命週期的控制,啟動到結束的撰寫方式統一了。
 

...繼續閱讀 »
on yc421206

如何使用 Options Pattern for Microsoft.Extensions.Options

上篇,如何使用組態 Microsoft.Extensions.Configuration,最後我讓物件依賴 IConfiguration,不論是讀檔操作,還是重新載入檔案,它都可以完成,還可以更好嗎?.NET Core 的 Options Pattern 強化 IConfiguration,封裝了讀檔、轉強型別、重新載入、載入通知、驗證資料的行為,提供另一種使用參數的選擇。

...繼續閱讀 »
on yc421206

[廚餘回收] 只是要裝個 Cloud Monitoring agent 到 CentOS 7 上也會踩到雷

GCP(Google Cloud Platform)預設是不會幫我們監控 VM 的記憶體使用率磁碟空間使用率,需要在 VM 裡面多安裝 Cloud Monitoring agent 才看得到,我的 VM 作業系統是 CentOS 7.9,照著官方文件一步一步弄,最終我得到了一個錯誤訊息:

https://packages.cloud.google.com/yum/repos/google-cloud-monitoring-el7-x86_64/repodata/repomd.xml: [Errno -1] repomd.xml signature could not be verified for google-cloud-monitoring'.

...繼續閱讀 »
on supershowwei

SQL Database 複寫安全性設定

  • 217

為了更高的安全性,我們通常會新增 SQL 帳號,並且針對不同帳號給予不同的權限,避免使用管理者帳號來存取資料庫,否則當程式有漏洞的時候,可能整台 DB 的資料庫都會有安全性的問題。

針對上一篇容錯移轉設定之後,還有些安全性的議題,本文就針對安全性的設定上,說明如何調整資料庫的連線帳號。

...繼續閱讀 »
on anyun

進修課程