[VS] Team Explorer TFS 改變專案對應本地目錄

2023-02-22

 最近電腦突然掛掉,幸好資料都有上 Visual Studio Online ,專案簽下來後,我發現我 C槽 被配置的很小

所以我想要轉到 D碟 去,但是我找了一下才找到,想筆記一下,如果改變 TFS 的對應目錄


首先,您應該已經連接上專案 並且在 Visual Studio 有開啟 Team Explorer ,這時候點選 原始碼管理員


[C#] PuppeteerSharp - 針對 QuerySelector 出來的 Elements 分別快照成圖片

2023-02-15

上一篇我們談到 PuppeteerSharp - 快照網頁並產出 PDF + 設定 PDF 格式 ,繼續上篇

原始的畫面長這樣子


這時候,客戶希望我能夠,將每一個產品都進行快照成圖片

後來我發現其實是可以透過 PuppeteerSharp 做到的,感覺到強大阿



[C#] PuppeteerSharp - 快照網頁並產出 PDF + 設定 PDF 格式

Puppeteer-Sharp 是一個可以在.NET環境下運行的工具,它可以讓開發人員使用C#程式碼控制Headless Chrome或Chromium瀏覽器。

甚至你可以用自己的瀏覽器 ex.firefox

你可以透過這個工具來模擬人類使用瀏覽器的行為,像是瀏覽網頁、填寫表單、截圖或是生成PDF檔案。這篇文章將會介紹Puppeteer-Sharp 來將蝦皮某一個搜尋網頁

快照成 PDF,這套件有一個好處他自建瀏覽器核心,所以理論上應該是可以 Linux 運行,看一下網路上文件應該是沒啥問題。




[C#] 使用 HTML Agility Pack 抓取 Azure 上面的某區域的各服務狀態

2023-02-13

HTML Agility Pack 是一個基於 C# 的開源庫,旨在幫助開發人員處理 HTML 文檔。

它提供了一種簡單易用的方法來解析和操作 HTML 內容,比起使用正則表達式或原生 C# 內置函數要容易得多。


HTML Agility Pack 的核心功能是把 HTML 文檔轉換為一個可操作的頁面物件,方便開發人員進行各種 HTML 操作,如遍歷頁面節點,修改頁面元素,抓取頁面內容等。

同時,HTML Agility Pack 也支持頁面解析過程中的錯誤回調,可以幫助開發人員處理不完整或錯誤的 HTML 文檔。

使用 HTML Agility Pack 實現任務非常簡單。開發人員可以通過一些簡單的 C# 程序代碼將 HTML 文檔轉換為頁面物件,然後就可以通過頁面物件進行各種操作。

上篇文章 大概講過 如何操作 HTML Agitlty Pack 最近剛好遇到 Azure  東南亞區域掛掉 24小時事件,剛好測試一下來抓某一區域的狀態



[C#] 簡單測試一下 MaxBy , MinBy

2023-02-07

今天介紹一個 .NET6 之後才有的東西,MinBy  還有 MaxBy

其實我只是看到後想說跟原本的 Min 跟 Max 有啥不同,其實就字面上跟很多網路上的範例都可以知道這是幹嘛的

但是我很好奇如果是遇到一樣的值的呢,很多案例都是測 int[] 但是如果是 Object[] 的某屬性一樣那他是會拿到一個還是多個



[C#] 使用 iCal.NET 產生 .ICS 行事曆事件+附加檔案

今天接續之前透過  iCal.NET  來建立 .ics 的行事曆預約檔案的延伸

我們天才的業主希望在事件裡面加入 COUPON 圖片,我原本以為不行的想說婉拒

但是我後來查了一下好像可以,測試一下竟然成功,那就筆記一下



[C#] ASP.NET Core 6.0 - 一種可以將 Page 當 WebAPI 用的方法 + __RequestVerificationToken

繼續上一篇文章 ( ASP.NET Core 6.0 - 一種可以將 Page 當 WebAPI 用的方法,但不推薦 )沒說得事情,其實是有一個方法

可以增加安全性不用加上  [IgnoreAntiforgeryToken] ,還是適當的增加了安全性可以簡單防禦了 XSRF/CSRF 攻擊

但是不一樣的是上一篇文章,你可以純用 .html 去用 AJAX 呼叫,但是這不行只能乖乖地開 Page



[C#] ASP.NET Core 6.0 - 一種可以將 Page 當 WebAPI 用的方法,但不推薦

2023-02-06

今天來寫一個不推薦使用的小技巧,但是又是一個可以解決一些小問題的方法

簡單說一下情境,在 ASP.NET Webform 時代,有時候真的有時候給客戶一個東西要 retun JSON 的答案

但是我又不想使用一大個框架來解決問題,我會就把 Page 清乾淨後 直接處理POST過來的參數再 retun 我要的 JSON string

 這陣子我又遇到了,當然最好的解決方法,請使用 WebAPI ,這不是一個好的範例

用這方法請自己知道自己在做啥危險性有多高在評估使用。



[C#] .NET 6 - Enumerable.Chunk 寫分頁資料的新好幫手

今天來寫一個不算新但是很好用的東西 LINQ - Chunk , 這是 .NET 6  之後才有的

這東西很快只要一行就解決我每次都很不想寫的東西,就是分頁

以前寫分頁都要這樣下  LINQ  AllData.Skip((page-1)*perPageDataCount).Take(perPageDataCount)

現在只要一行解決



[C#] 一個無聊的冷知識關於已知運算常數編譯後的MSIL


寫一個有趣的小東西,大概算是 C# 冷知識,大概就跟台灣本島最北的國際機場是桃園中正機場而不是松山機場一樣冷知識

今天好奇問同事一個問題 假設我要 1+2+3+...+100 這答案

1. 我手動打 return 1+2+3+4+5+...+100; 

2. 我用迴圈  for (var i = 1; i <= 100; i++) 最後 return sum; 

3. 用梯形公式解  return ((1+100)*100)/2 

這三個到底 哪一個執行比較快


[C#] 使用 iCal.NET 產生 .ICS 行事曆事件+鬧鐘


雖然已經  21 世紀了,我也不知道為何業主非常喜歡 .ICS 這東西

不過,沒辦法收費辦事情,之前,我是自己大概看一下規格後自己產生,

但是最近客戶要做一些改動需求,不能夠這麼單幹了,查詢了一下,有一套一直有在更新的套件 Ical.Net


[C#] 在執行期下取得所有用到的套件版號資訊

2023-02-04

最近跟同事在測試一個 .NET Core 3.1 跟 .NET 6 的套件問題

我們再抓到底當時候用哪一個套件所產生的錯誤,因為我們一值 Nuget 換不同版本測試

這時候我們必須要知道到底現在(執行期)用的套件是哪一個版本

所以今天簡單筆記一下,就是在執行期的時候抓取所用的 package 版本



[C#] 關於MemoryCache GetOrCreate 遇到 thread-safe 的問題


同事 Roger 碰到一個小雷,跟我說過後,決定記錄一下

因為一些專案的緣故,開發環境是 ASP.NET Core  6 他使用的 

Microsoft.Extensions.Caching.Memory.MemoryCache 

但是在大量用戶存取(非同步) 的時候造成 Exception 


[C#] 判斷某個時段有沒有壓到另一個時段

2023-02-03

關於時間問題,這我在專案中寫過多次每次寫都要重新考慮一次

這次就索性整理一下,然後就是直接複製貼上,懶得重寫

簡單的說因為常常寫訂單系統,就是有像是家教那樣他假設 12:00~13:00 有課,所以他的客戶不選擇這時段

這時候程式怎麼判斷時段有沒有壓到


[C#] 關於 JsonConvert.SerializeObject 的 二三事 - 如果 List 是空得(非null) 就不顯示

2023-02-02

最近遇到的一個問題,就是關於 Json.NET 的  SerializeObject 的顯示問題

其實一般狀況下我就是直接無腦的  JsonConvert.SerializeObject(object)

但是,最近在維護一個系統因為物件要改成 Nullable 就有點麻煩,所以看看能不能直接再 SerializeObject

解決盡量的不使用 Attribute 或是改寫 Nullable 去解決



[C#] IntersectBy , ExceptBy 常忘記的兩個好用的 LINQ 方法

寫一個其實很基本,但是我每次都用蠢方式解決的東西,其實 .NET LINQ 都準備好好地給你用

認識我的人都知道我碰 NOSQL 比較多,所以我常常是在Sever 變成物件後解決一些事情

最近同事說到為何不用 IntersectBy 我才想起來有這東西,就筆記一下我怕自己又忘記有好用的東西



[C#] ASP.NET Core 6.0 - 在開發中遇到無限循環只出現 熱重新載入,點選"編輯"跟"停止"都無效

2023-02-01

最近一直遇到這個問題,剛剛測試一下算是解決了,就筆記一下

平常時候我都是用 Ctrl+F5 測試東西,但是有時候要追蹤錯誤就會按下 F5  逐步偵錯

結果遇到錯誤點的時候跳出這樣的畫面


[C#] ASP.NET Core 6.0 - 一些基本概念使用 BindProperty , HtmlHelper , 不透過 AJAX 純用 POST 做雙連動下拉選單

今天寫一個對很多人來說是很基礎的東西,不過因為之前我是從 ASP.NET Webform 寫的比較熟

中間的  ASP.NET MVC 時代,我比較沒有去觸碰 ,之前有測試過一些東西,但是因為很多原因所以還是主要不會去用此開發

現在到了 ASP.NET 6  的時代,有些基本功可能跟當初的 Webform 不太一樣今天筆記一下

也怕自己忘記



當麻許的超技八 2014 | Donma Hsu Design.