今天在公司有位小伙伴問我說:「保哥,公司最近接到一個維護案,我拿到 Source Code 的時候都看不到 *.csproj 專案檔或 *.sln 方案檔耶,這樣怎麼用 Visual Studio 2022 開發?」我說:「你就是太年輕了,才不知道有 ASP.NET Web Site Project 的存在,你只碰過 ASP.NET Web Application Project 而已。」我在指導完他如何開啟與將 ASP.NET Web Site Project 加入版控後(很多雷),就順手把 CI Pipelines 設定起來,這篇章我就來說說如何對 ASP.NET Web Site Project 進行自動建置。
... 繼續閱讀 ...
前幾天把我的部落格網站啟用 HTTP/2 通訊協定版本,結果意外發現我有個用 WebClient 抓取網頁的程式壞掉了。其實我一開始並沒有發現是 HTTP/2 造成的問題,鬼打牆了一段時間才意識到可能是 HTTP 版本差異造成的問題。這篇文章我就來分享幾種不同的 HttpClient 程式寫法,讓你用 HTTP/2 通訊協定版本抓回遠端 Web 伺服器上的網頁。
... 繼續閱讀 ...
當 Web 應用程式上傳到 Azure App Service 之後,開發人員第一個要面對的問題,就是要怎樣偵錯(Debug)?在本機開發應用程式通常開發工具都會幫我們整理好各種資訊,但是上到雲端環境後,很多人就會顯得手忙腳亂,有時候說是「瞎子摸象」也不為過,非常痛苦。這篇文章我打算帶大家入門,教大家怎樣用免費又簡單的方式使用 Log stream (記錄資料流) 查看應用程式執行紀錄!
... 繼續閱讀 ...
我昨天在授課的時候,突然遇到 Chrome 瀏覽器無法瀏覽網站的情況(ERR_UNSAFE_PORT
),我踩到一個不知道算不算罕見的地雷,在深入瞭解之後,覺得有必要寫成文章提醒大家,因為你還真的很有可能會在不久的將來遇到這個問題,看完文章才不會讓你日後鬼打牆太久,讓我們繼續看下去。
... 繼續閱讀 ...
我一年大概都會幫幾家企業導入 Azure DevOps Server 平台,最近幫客戶導入的過程遇到了一個難題。一個方案檔中有 9 個專案,其中有 4 個 .NET Framework 4.7.2 類別庫專案、1 個 .NET Framework 4.7.2 的 ASP.NET Web Forms 專案、2 個 .NET Core 2.1 類別庫專案、1 個 .NET Standard 2.0 專案、2 個 .NET Core 2.1 類別庫專案、1 個 .NET Core 2.1 的 ASP.NET Core 專案。很少看到一個案子用這麼混搭的技術,而這個案子要做 CI/CD 確實也遇到了問題。這篇文章我將說明問題與解決方法!
... 繼續閱讀 ...
之前寫過好幾篇跟 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
的運作方式,讓你知道如何正確的使用它。
... 繼續閱讀 ...
今天在示範 MSBuild 如何設定 MvcBuildViews
屬性時,發現只要有 *.edmx
存在於專案中,建置的時候就會導致出現 Could not load type 'System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider' 的問題,這個問題想從 Visual Studio 2019 裡面很難看出個端倪,必須改用 MSBuild 才能看出脈絡。今天這篇文章,我將分享這個問題的細部分析,並提供解決方案。
... 繼續閱讀 ...
前幾天有個朋友告知部署在 Azure Web App 的網站被駭客入侵,可能被植入木馬後門之類的程式,我上去查看之後發現,果然被寫入了一個編碼過的 PHP 程式,確認為後門程式。明明是一台只有跑 ASP.NET 的網站,隨便被植入一個 PHP 檔案,竟然也能被執行。而且還沒有關閉的管道,連 Azure Portal 都無法設定關閉。本篇文章將分享強制關閉 PHP 的方法,如果有人也將網站跑在 Azure Web App 網站上,建議花點時間設定一下。
... 繼續閱讀 ...