在 ASP.Net Core 微軟提供了 TagHelper 來更精簡我們在寫 View 的語法,整個使用上會比較清爽,而我們也可以很方便的自訂和擴充,但是在實做擴充上想可以支援 asp-for 卻卡住了,後來找了討論和文章,要支援的化需要使用 ModelExpression,因此針對 ModelExpression 的實做上寫了這篇實做的記錄。
自訂支援 ModelExpression 的 TagHelper
- 221
- 0
在 ASP.Net Core 微軟提供了 TagHelper 來更精簡我們在寫 View 的語法,整個使用上會比較清爽,而我們也可以很方便的自訂和擴充,但是在實做擴充上想可以支援 asp-for 卻卡住了,後來找了討論和文章,要支援的化需要使用 ModelExpression,因此針對 ModelExpression 的實做上寫了這篇實做的記錄。
ASP.Net Core 內建 ILogger 介面方便我們可以實做或串接各種 Log 的套件,而當我們把程式部署到 App Service 但是又不想或不需要把 Log 記錄到 Application Insight,只是想比較單純的用文字檔來收集 Log 就好,本文就針對這樣的情境透過簡單的設定和程式碼就可以把 Log 記錄到我們指定的儲存體內。
過去曾經針對 .NET Framework 寫了一版在 App Service 要轉換 HTML 成 PDF 檔案的可行方案,這次改成 .NET Core 版,一樣是透過 wkhtmltopdf 這個工具,然後配合找到的套件來產生 PDF,後面就是實做和測試的結果。
ASP.Net Core 需要做 AAD 的 OpenId 非常的方便,如果針對登入的使用者需要做額外的驗證且另外加入額外的自訂 Claim 的話,只需要新增 OpenIdConnectEvents 即可,本文簡單記錄一下實做的程式。
針對前一篇文章,針對 DefaultAzureCredential 做深入一點的探討,並且解決實做上可能遇到的情境的解決方式。
在透過程式存取 Azure 資源的時候,基於安全性考量,通常是透過在 AAD 內建立應用程式註冊,透過註冊應用程式設定必要的權限來存取 Azure 資源,但是在使用 KeyVault 的時候就是希望有更高的安全性,會將金鑰或秘密存在服務內,但是這時候又會有一組應用程式註冊的 Secret 會需要被放到程式的參數內,那如果也想在開發階段也隱藏這一個金鑰的話就得使用微軟推出的身份識別功能,透過此功能來存取資源,可以在開發階段避免直接將應用程式註冊的 Id 和 Secret 交付給開發人員或是存放在設定檔內,本文就是介紹整個開發階段和部署到 Azure App Service 時候實做存取 Key Vault 內的 Secret。
ASP.NET Core 建立專案一樣支援像以前 .NET Framework 一樣的登入驗證,但是在專案建立之後會發現這些驗證模式的頁面無法找到 Controller 和 View,如果選擇個別帳號登入,是可以方便透過 VS UI 來新增需要客制化的頁面,若選擇工作或學校帳戶登入的話,就沒有 UI 介面可以方便新增,因此特別筆記一下自訂頁面內容的方式。
有時候在 View 需要取得 RouteValue 之後新產生新的網址,尤其是在分頁的時候,常會需要產生新的分頁連結,如果頁面跟參數很多,每次新增一個參數就要重新調整 View ,也沒辦法方便共用分頁的樣版,因此希望可以更方便的產生網址並且也可以支援新增額外的 RouteValue。
過去在寫 ASP.NET MVC 時候常會使用 UIHint 配合 Display Template 或 Editor Template 來達到 View 的客制化跟共用,最新開始正式在實務上使用 ASP.NET Core MVC 來開發,也想要維持以前的習慣,因為預設 UIHint 的參數並無法直接在 View 取用,因此有特別寫加強版的 UIHint 來傳遞一些 View 使用的參數,在 ASP.NET Core 上面和以前作法會有點不同,特別記錄一下作法。