[C#] .NET8 - SHA3-256 操作遭遇的平台問題
最近在看 .NET 8 新功能,最近好像多了 SHA3_256 ,因為之前在弄區塊鏈的東西,其實都是使用套件
BouncyCastle 套件,但是現在 .NET 8 好像已經內建有支援,想說來測試一下,結果出現了
Unhandled exception. System.PlatformNotSupportedException: Operation is not supported on this platform.
at System.Security.Cryptography.SHA3_256.TryHashData(ReadOnlySpan`1 source, Span`1 destination, Int32& bytesWritten)
at System.Security.Cryptography.SHA3_256.HashData(ReadOnlySpan`1 source, Span`1 destination)
at System.Security.Cryptography.SHA3_256.HashData(ReadOnlySpan`1 source)
at System.Security.Cryptography.SHA3_256.HashData(Byte[] source)
標籤: .Net , .Net8 , .NetCore小筆記 , C#
[C#] .NET8 - Dictionary、FrozenDictionary、HashTable的性能對決
最近在看 .NET 8 新功能,有一個東西有點興趣 就是 FrozenDictionary ,想說他跟傳統的 Dictionary 有啥不同
畢竟 .NET 8 是以輾壓級效能做為賣點 ,看了一下官方這段話的介紹
以效能為焦點的類型.NET 8 引進數種旨在改善應用程式效能的新類型。
新的 System.Collections.Frozen
命名空間包含集合類型和 FrozenDictionary、
感覺使用上就是拿來可以放在記憶體中快速索引的好東西,直接用 BenchmarkDotNet 跑一下
標籤: .Net , .Net8 , .NetCore小筆記 , C#
[.Net] 優雅的效能評估:BenchmarkDotNet讓測試變得輕鬆愜意
今天介紹一個我腿了很久的東西,就是 BenchmarkDotNet ,有時候我們會必須要測試一個 function 或是某個新功能的效能
直接就是來個暴力跑個 Parallel.For 然後 在跑之前使用 Stopwatch 來測試,有時候看論壇都會出現一些在 console 中票票釀釀的表格
原來有一個套件可以解決,用起來也是非常的溫馨
標籤: .Net , .Net8 , .netcore , .NetCore小筆記
[C#] String 中 Environment.NewLine 關於 \r\n 的判斷
最近遇到一個奇妙的問題紀錄一下,因為公司的專案慢慢地從 .Net Framework 轉成 .NET 6-8
遇到一個很小很小的問題,就是在 string 中的 \r\n 的判斷在 .Net Framewok 和 .Net Core 3.1 以上版本解讀是不一樣的
標籤: .Net , .Net8 , .NetCore小筆記 , C#
[C#] 簡單測試 ThreadStatic ,一個可以瞬間了解的範例
最近在玩一些東西,看到一個有趣的東西,已經出來很久了,但是最近才看到覺得很有趣
但是看了一下官方範例有點看不太懂,之後自己測試一下才發現原來是這樣設計使用的
就是一個 Attribute 叫做 [ThreadStatic]
關於錯誤 Compiler Error Message: CS0433: The type 'ASP.global_asax' exists in both 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET
最近在移植一些專案遇到這個問題
Server Error in '/' Application.
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS0433: The type 'ASP.global_asax' exists in both 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\64203716\99481ad\App_global.asax.lldgsdpc.dll' and 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\64203716\99481ad\assembly\dl3\1fdcbdce\1ebebc9e_08a0d901\App_global.asax.DLL'
[C#] 呼叫 PowerShell 取得 Windows Event 4624 的 JSON 資料
最近,因為一些事情我需要 去檢測關於 Windows Event 4624 的事件 ,剛好 黑暗執行緒的一篇文章,我就想說
可以透過這方法來做到,不過黑大是使用 PowerShell ,這東西對我來說是一個完全完全陌生的領域,不過我就想黑大都分享了
那我可以使用黑大的分享,然後我透過程式端去抓就可以達到我的需求,果然是一個及時雨
標籤: .Net , C# , PowerShell
[VS] Team Explorer TFS 改變專案對應本地目錄
最近電腦突然掛掉,幸好資料都有上 Visual Studio Online ,專案簽下來後,我發現我 C槽 被配置的很小
所以我想要轉到 D碟 去,但是我找了一下才找到,想筆記一下,如果改變 TFS 的對應目錄
首先,您應該已經連接上專案 並且在 Visual Studio 有開啟 Team Explorer ,這時候點選 原始碼管理員
標籤: .Net , TFS , Visual Studio
[C#] PuppeteerSharp - 針對 QuerySelector 出來的 Elements 分別快照成圖片
上一篇我們談到 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 上面的某區域的各服務狀態
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
今天介紹一個 .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