雖然 Azure Pipelines 提供的 Microsoft-hosted agents 大多已經內建了 Adopt OpenJDK 8.0/11.0/13.0 版本可供選擇,但是我們最近有個案子,客戶指定要用 IBM Java SDK 8.0 為主要的 JDK 版本,所以就需要額外下載與設定才能使用。本篇文章將說明完整的設定方法。
... 繼續閱讀 ...
最近在使用 AzCopy 的時候,發現怎麼跟以前差這麼多,這才發現原來最近出現了大改版,命令列的參數都跟以往不一樣了。這個新版改變蠻大的,我覺得對一個用過舊版的人來說,改用新版的第一印象真的不太好,研究的過程中發現了許多地雷,也發現許多優點,所以覺得有必要撰文分享一下心得。
... 繼續閱讀 ...
微軟有個 Adaptive Cards 語言,他可以讓你可以在不同的應用程式之間使用 JSON 宣告出一個跟平台框架無關的 UI 介面,所以針對一些輕量的 UI 介面,例如 Microsoft Teams, Bot Framework, Windows Timeline, Outlook Actionable Messages 之類的介面,就非常適合用 Adaptive Cards 來宣告 UI 介面。這篇文章我打算介紹 Adaptive Cards 如何用在 Microsoft Teams 的頻道中。
... 繼續閱讀 ...
我前陣子分享過 如何讓 Spring Boot 與 Maven 專案成功產製文件站台 文章,當時由於 Spring Boot 預設的 maven-site-plugin v3.3
版本有問題,導致無法成功產生 site 文件站台,因此我們必須明確定義 maven-site-plugin
版本定義才正常。這篇文章我打算分享如何在 site 文件站台上加入 Javadoc 產生的 API 文件,更加豐富我們專案的開發文件!
... 繼續閱讀 ...
之前寫過好幾篇跟 ELMAH 相關的文章,其中 如何在 ASP.NET MVC 4 套用 ELMAH 錯誤紀錄模組 這篇還沒有過時,但剛在看 如何在 ASP.NET Web API 套用 ELMAH 錯誤紀錄模組 這篇文章時發現,現在有更簡單的設定方法,所以特別撰文分享心得。
... 繼續閱讀 ...
我們在寫 ASP.NET (.NET Framework) 的時候,可能會需要利用非同步作業在背景執行一些工作,同時可能也需要偶爾取用 HttpContext
相關資訊。事實上當我們在 ASP.NET (.NET Framework) 使用 await
等待一個 Task 時,會自動紀錄當下的 SynchronizationContext
,並在 Task 完成工作後,取得原始 執行緒 (Thread) 中的資訊。但是如果我們也想在 Task 中取用原本執行緒的內容 (例如 HttpContext
資訊),我們就需要學會如何自行利用 SynchronizationContext
來取用原始執行緒中的內容。今天這篇文章,我將透過一段簡易的程式碼與一個實際應用情境,說明 SynchronizationContext
的運作方式,讓你知道如何正確的使用它。
... 繼續閱讀 ...
我今天在「C# 開發實戰:非同步程式開發技巧」課程中有學員提問,如何偵測用戶端已斷線並自動取消非同步方法執行。事實上 ASP.NET (.NET Framework) 與 ASP.NET Core 的實作方式相當類似,今天這篇文章我就來分享 ASP.NET Core 的實作方式,幫助你有效偵測用戶端已斷線,並自動取消非同步方法執行。
... 繼續閱讀 ...
Apache Maven 有個 site 生命週期,定義出你要建立專案文件站台所需的各種階段,並讓你透過瀏覽器查看 Java 專案的完整資訊,相當方便。不過我透過 Spring Initializr 建立的專案,預設卻無法產生網站(site),錯誤訊息也有點奇怪,逼的我還要去研究 Maven 才終於理解錯誤的原因。這篇文章我就來交代整個過程,以及解決方案。
... 繼續閱讀 ...
使用 Visual Studio Code 開發 Spring Boot 的時候,我們在 application.yml
檔案中會放入一些環境變數,每次啟動應用程式的時候都要手動設定環境變數才能正常啟動,使用上比較不方便。本篇文章我將說明如何設定 Visual Studio Code 在啟動 Spring Boot 應用程式時,可以自動載入 .env
檔案,讓應用程式啟動時可以自動載入環境變數,增加開發的方便性。
... 繼續閱讀 ...