The Will Will Web - C#
記載著 Will 在網路世界的學習心得與技術分享
https://blog.miniasp.com/
http://www.rssboard.org/rss-specification
BlogEngine.NET 3.3.7.0
zh-TW
https://blog.miniasp.com/opml.axd
https://blog.miniasp.com/syndication.axd
Will Huang
The Will Will Web
24.567110
120.970500
-
使用 Directory.Build.props 與 Directory.Build.targets 自動化 .NET 建置作業
<p>在多專案的 .NET 團隊合作中,手動安裝工具和設定環境常常導致流程不一致,甚至影響效率。透過善用 <code>Directory.Build.props</code> 和 <code>Directory.Build.targets</code>,我們可以實現自動化的建置流程,讓每位團隊成員只需執行一次 <code>dotnet build</code>,就能完成工具安裝、husky hooks 配置,以及程式碼風格檢查,確保開發環境的一致性與便利性。這篇文章將帶你了解這兩個檔案的差異與應用,並示範如何利用它們來自動化 Husky.Net 的安裝與設定。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2025/10/26/Automating-build-operations-with-DirectoryBuildprops-and-DirectoryBuildtargets#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2025/10/26/Automating-build-operations-with-DirectoryBuildprops-and-DirectoryBuildtargets
[email protected]
https://blog.miniasp.com/post/2025/10/26/Automating-build-operations-with-DirectoryBuildprops-and-DirectoryBuildtargets#comment
https://blog.miniasp.com/post.aspx?id=e1f90e64-b0da-475a-84fa-a9bb85cea059
週日, 26 十月 2025 11:41:00 +0000
.NET Core
.NET Framework
C#
Directory.Build.props
Directory.Build.targets
dotnet build
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=e1f90e64-b0da-475a-84fa-a9bb85cea059
https://blog.miniasp.com/trackback.axd?id=e1f90e64-b0da-475a-84fa-a9bb85cea059
https://blog.miniasp.com/post/2025/10/26/Automating-build-operations-with-DirectoryBuildprops-and-DirectoryBuildtargets#comment
https://blog.miniasp.com/syndication.axd?post=e1f90e64-b0da-475a-84fa-a9bb85cea059
-
如何在 .NET Core、.NET 5+ 與 ASP.NET Core 正確使用 Big5 編碼
<p>由於從 .NET Core 1.0 開始,就沒有自動載入 <code>BIG5</code> 編碼的 <code>Encoding</code> 資料,所以你沒辦法直接透過 <code>Encoding.GetEncoding("Big5")</code> 取得 <code>Encoding</code> 物件。在 .NET Core 3.1 之前,還需要須額外安裝 <code>System.Text.Encoding.CodePages</code> 套件才行。不過,從 .NET 5 開始,這個套件成為了 .NET SDK 的一部分,不再需要額外安裝。但即便如此,你還是要特別執行一段註冊以使用此編碼。接下來,我們將深入探討如何註冊這些編碼並正確使用它們在不同的場景中。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2025/03/05/How-to-correctly-use-Big5-encoding-in-NET-Core#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2025/03/05/How-to-correctly-use-Big5-encoding-in-NET-Core
[email protected]
https://blog.miniasp.com/post/2025/03/05/How-to-correctly-use-Big5-encoding-in-NET-Core#comment
https://blog.miniasp.com/post.aspx?id=6e70092d-175f-4c7f-b33c-7264d28b6075
週三, 5 三月 2025 06:11:00 +0000
.NET Core
ASP.NET Core
C#
big5
encoding
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=6e70092d-175f-4c7f-b33c-7264d28b6075
https://blog.miniasp.com/trackback.axd?id=6e70092d-175f-4c7f-b33c-7264d28b6075
https://blog.miniasp.com/post/2025/03/05/How-to-correctly-use-Big5-encoding-in-NET-Core#comment
https://blog.miniasp.com/syndication.axd?post=6e70092d-175f-4c7f-b33c-7264d28b6075
-
撰寫不用 async await 的 C# 非同步方法並使用 Unwrap 方法簡化程式碼
<p>經 <a href="https://github.com/dotnet/BenchmarkDotNet">BenchmarkDotNet</a> 實測驗證<a href="https://share.linqpad.net/iruj6t.linq">發現</a>,只要在現有的非同步方法加上 <code>async</code>/<code>await</code> 關鍵字,其方法的執行效能就有可能會降低 <code>2,700</code> 倍之多。這是因為 <code>async</code>/<code>await</code> 關鍵字會讓 C# 編譯器在編譯程式時,會將非同步方法轉換成一種狀態機的實作,這樣的轉換會增加程式的執行時間。因此,我們在大多數「函式庫」中的程式碼,幾乎都不會使用 <code>async</code>/<code>await</code> 關鍵字來撰寫程式。然而我們在函式庫中實作程式時,是有可能遇到多次非同步等待的情況,此時我們就可以使用 <code>TaskExtensions.Unwrap</code> 擴充方法來簡化寫法,今天這篇文章我就來說說這個開發技巧。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2024/10/01/Writing-C-Sharp-asynchronous-methods-without-async-await-and-simplifying-code-using-the-Unwrap-method#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2024/10/01/Writing-C-Sharp-asynchronous-methods-without-async-await-and-simplifying-code-using-the-Unwrap-method
[email protected]
https://blog.miniasp.com/post/2024/10/01/Writing-C-Sharp-asynchronous-methods-without-async-await-and-simplifying-code-using-the-Unwrap-method#comment
https://blog.miniasp.com/post.aspx?id=a9e95f89-7bcf-468c-97b0-08e2f33887f4
週二, 1 十月 2024 01:33:00 +0000
C#
async
Task
Unwrap
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=a9e95f89-7bcf-468c-97b0-08e2f33887f4
https://blog.miniasp.com/trackback.axd?id=a9e95f89-7bcf-468c-97b0-08e2f33887f4
https://blog.miniasp.com/post/2024/10/01/Writing-C-Sharp-asynchronous-methods-without-async-await-and-simplifying-code-using-the-Unwrap-method#comment
https://blog.miniasp.com/syndication.axd?post=a9e95f89-7bcf-468c-97b0-08e2f33887f4
-
使用 C# 8.0 Async Streams 實現非同步串流 ASP.NET Core Web API
<p>C# 8.0 引入了一個 <a href="https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/async-streams.md">Async Streams</a> (非同步串流) 的語言特性,這個特性讓我們可以做到許多以前做不到的事,若用在 ASP.NET Core Web API 上面,你就可以很輕鬆的實現 API 資料串流功能,讓你可以透過「非同步」的方式有效率的處理大量資料。由於這個概念太過前衛,所以我們先從基本的語法開始,然後再來看看如何應用在 ASP.NET Core Web API 上面。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2024/09/27/Implementing-Async-Streams-in-ASPNET-Core-Web-API#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2024/09/27/Implementing-Async-Streams-in-ASPNET-Core-Web-API
[email protected]
https://blog.miniasp.com/post/2024/09/27/Implementing-Async-Streams-in-ASPNET-Core-Web-API#comment
https://blog.miniasp.com/post.aspx?id=5d49c9c7-ce3a-4b4e-88ff-dfb77e2fd885
週五, 27 九月 2024 03:08:00 +0000
ASP.NET Core
ASP.NET Web API
C#
c#
C# 8.0
async
asp.net core web api
Async Streams
IAsyncEnumerable
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=5d49c9c7-ce3a-4b4e-88ff-dfb77e2fd885
https://blog.miniasp.com/trackback.axd?id=5d49c9c7-ce3a-4b4e-88ff-dfb77e2fd885
https://blog.miniasp.com/post/2024/09/27/Implementing-Async-Streams-in-ASPNET-Core-Web-API#comment
https://blog.miniasp.com/syndication.axd?post=5d49c9c7-ce3a-4b4e-88ff-dfb77e2fd885
-
如何透過 LINQPad 撰寫自動化作業並搭配 CI 自動執行
<p>我現在大多數自動化的小工具都是使用 <a href="https://www.linqpad.net/">LINQPad</a> 來撰寫,執行速度快且管理方便,但是在 CI/CD 環境中,LINQPad 並不是一個常見的工具,還好 LINQPad 有提供 <a href="https://www.linqpad.net/lprun.aspx">LPRun</a> 工具,可以直接把現成的 <code>*.linq</code> 檔案直接拿來當成腳本執行,因此拿來 CI 的環境用是非常方便的,完全可以當作 C# 腳本來使用。這篇文章我就來介紹一下 <code>LPRun</code> 使用的方式。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2024/07/18/How-to-run-LINQPad-in-CI-CD-using-LPRun8#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2024/07/18/How-to-run-LINQPad-in-CI-CD-using-LPRun8
[email protected]
https://blog.miniasp.com/post/2024/07/18/How-to-run-LINQPad-in-CI-CD-using-LPRun8#comment
https://blog.miniasp.com/post.aspx?id=8c342b37-9b9f-4713-8147-5387b704a4df
週四, 18 七月 2024 15:30:00 +0000
Azure DevOps
C#
DevOps
LINQPad
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=8c342b37-9b9f-4713-8147-5387b704a4df
https://blog.miniasp.com/trackback.axd?id=8c342b37-9b9f-4713-8147-5387b704a4df
https://blog.miniasp.com/post/2024/07/18/How-to-run-LINQPad-in-CI-CD-using-LPRun8#comment
https://blog.miniasp.com/syndication.axd?post=8c342b37-9b9f-4713-8147-5387b704a4df
-
取得 .NET 8 應用程式的版本資訊必須注意的兩三事
<p>我前陣子幫客戶開發一個 Windows Forms 應用程式,使用 .NET 8 來開發,不過在案子的最後一刻,客戶要求要加上一個「版本資訊」的功能,這個功能要顯示目前程式的版本號。這個功能實在是不常寫,沒想到還真的有點地雷,因為跟 .NET Framework 有點不太一樣了。這篇文章就來分享一下我在開發過程中遇到的問題,以及解決方法。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2024/06/05/How-to-Get-FileVersionInfo-of-a-NET-8-App#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2024/06/05/How-to-Get-FileVersionInfo-of-a-NET-8-App
[email protected]
https://blog.miniasp.com/post/2024/06/05/How-to-Get-FileVersionInfo-of-a-NET-8-App#comment
https://blog.miniasp.com/post.aspx?id=632f5e11-5913-4d13-9c8c-714b56fb6532
週三, 5 六月 2024 15:59:00 +0000
.NET Core
.NET Framework
C#
FileVersionInfo
Windows Forms
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=632f5e11-5913-4d13-9c8c-714b56fb6532
https://blog.miniasp.com/trackback.axd?id=632f5e11-5913-4d13-9c8c-714b56fb6532
https://blog.miniasp.com/post/2024/06/05/How-to-Get-FileVersionInfo-of-a-NET-8-App#comment
https://blog.miniasp.com/syndication.axd?post=632f5e11-5913-4d13-9c8c-714b56fb6532
-
如何攔截並記錄 HttpClient 發出的所有 HTTP Request 與 Response 資料
<p>在 .NET 要呼叫 REST API 時,最常使用的就屬 <a href="https://learn.microsoft.com/zh-tw/dotnet/api/system.net.http.httpclient?view=net-8.0&WT.mc_id=DT-MVP-4015686">HttpClient</a> 類別莫屬,但有時候真的想看他到底送出了什麼 HTTP 封包,或是收到了什麼 HTTP 回應 (原始內容),這時候就需要一個方法來攔截並記錄實際 HTTP 傳送的 Request 與 Response 封包內容。其實是有方法的,這篇文章就來介紹如何實作。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2024/04/26/Use-DelegatingHandler-in-HttpClient-to-Debug-HTTP-package#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2024/04/26/Use-DelegatingHandler-in-HttpClient-to-Debug-HTTP-package
[email protected]
https://blog.miniasp.com/post/2024/04/26/Use-DelegatingHandler-in-HttpClient-to-Debug-HTTP-package#comment
https://blog.miniasp.com/post.aspx?id=102f9960-1208-426a-979d-cf9d6a44ac84
週五, 26 四月 2024 15:55:00 +0000
.NET Core
C#
httpclient
http
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=102f9960-1208-426a-979d-cf9d6a44ac84
https://blog.miniasp.com/trackback.axd?id=102f9960-1208-426a-979d-cf9d6a44ac84
https://blog.miniasp.com/post/2024/04/26/Use-DelegatingHandler-in-HttpClient-to-Debug-HTTP-package#comment
https://blog.miniasp.com/syndication.axd?post=102f9960-1208-426a-979d-cf9d6a44ac84
-
使用 .NET 8.0 與 Azure Functions Core Tools 開發與部署函式應用程式
<p>我一直以來都是 Serverless 架構的信徒,因為實在是不太想自己管伺服器,我從 2018 年就開始採用 Azure Functions 技術,到目前為止歷經了 4 個大版本,到現在終於算是穩定些了。不過即便到目前為止,你要是照著官方文件下去設定,肯定會在很多不同的環節鬼打牆,地雷一直都沒有少過。這篇文章我將介紹如何使用 <a href="https://dotnet.microsoft.com/en-us/?WT.mc_id=DT-MVP-4015686">.NET 8.0</a> 與 <a href="https://github.com/Azure/azure-functions-core-tools">Azure Functions Core Tools</a> 來開發函式應用程式,並說明如何部署應用程式到 Azure App Service 使用 Consumption Plan (<code>Y1</code>) 方案來執行!</p><p>... <a class="more" href="https://blog.miniasp.com/post/2024/03/19/Develop-and-Deploy-Function-App-using-Azure-Functions-Core-Tools#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2024/03/19/Develop-and-Deploy-Function-App-using-Azure-Functions-Core-Tools
[email protected]
https://blog.miniasp.com/post/2024/03/19/Develop-and-Deploy-Function-App-using-Azure-Functions-Core-Tools#comment
https://blog.miniasp.com/post.aspx?id=1bad75e8-cb4e-4f75-bd84-58e368bb1688
週二, 19 三月 2024 06:11:00 +0000
.NET Core
C#
Microsoft Azure
Azure Functions Core Tools
Azure Functions
Azure
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=1bad75e8-cb4e-4f75-bd84-58e368bb1688
https://blog.miniasp.com/trackback.axd?id=1bad75e8-cb4e-4f75-bd84-58e368bb1688
https://blog.miniasp.com/post/2024/03/19/Develop-and-Deploy-Function-App-using-Azure-Functions-Core-Tools#comment
https://blog.miniasp.com/syndication.axd?post=1bad75e8-cb4e-4f75-bd84-58e368bb1688
-
如何使用 .NET 的 Azure AI Vision SDK 來替程式加上「視覺」功能
<p>我最近寫了一個<a href="https://www.youtube.com/watch?v=jknJE_QymJc">小程式</a>,幫助我自動化審核 LINE 社群(OpenChat)的加入申請,由於 LINE 社群並沒有提供 API 可以串接,而我的審核數量又非常大,因此我就想到了透過 OCR 辨識的方式來進行自動化。不過找了幾個免費的 OCR 套件,都沒有辦法很可靠的識別截圖中的文字,直到我嘗試了 <a href="https://azure.microsoft.com/en-us/products/ai-services/ai-vision?WT.mc_id=DT-MVP-4015686">Azure AI Vision</a> 服務才眼睛為之一亮,這套產品的 <strong>Image analysis</strong> 功能品質極高,費用也極低,實際開發出東西後,我覺得這個服務真的非常值得推薦給大家。這篇文章我就帶大家用 .NET 8 簡單上手這個好用的雲端服務!</p><p>... <a class="more" href="https://blog.miniasp.com/post/2023/12/19/Add-Vision-feature-to-your-NET-program-using-Azure-AI-Vision-SDK#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2023/12/19/Add-Vision-feature-to-your-NET-program-using-Azure-AI-Vision-SDK
[email protected]
https://blog.miniasp.com/post/2023/12/19/Add-Vision-feature-to-your-NET-program-using-Azure-AI-Vision-SDK#comment
https://blog.miniasp.com/post.aspx?id=66454bc1-43e1-4a7f-b9e2-ab703c39a79a
週二, 19 十二月 2023 15:59:00 +0000
.NET Core
AI
C#
Microsoft Azure
Azure AI Vision
LINE OpenChat
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=66454bc1-43e1-4a7f-b9e2-ab703c39a79a
https://blog.miniasp.com/trackback.axd?id=66454bc1-43e1-4a7f-b9e2-ab703c39a79a
https://blog.miniasp.com/post/2023/12/19/Add-Vision-feature-to-your-NET-program-using-Azure-AI-Vision-SDK#comment
https://blog.miniasp.com/syndication.axd?post=66454bc1-43e1-4a7f-b9e2-ab703c39a79a
-
如何在 VS Code 順利啟用測試總管 (Test Explorer) 測試 .NET 應用程式
<p>我最近在嘗試使用 <a href="https://github.com/features/copilot">GitHub Copilot</a> 來撰寫單元測試,而在使用的過程中,我發現 <a href="https://code.visualstudio.com/">Visual Studio Code</a> 的測試總管 (Test Explorer) 竟然抓不到我專案中的測試案例,研究了一下才發現是 <a href="https://marketplace.visualstudio.com/items?itemName=formulahendry.dotnet-test-explorer">.NET Core Test Explorer</a> 沒有正確設定導致的。不過,其實 <a href="https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit">C# Dev Kit</a> 擴充套件本來就內建了 C# 的測試轉接器 (Test Adapter),不需要 <code>.NET Core Test Explorer</code> 就能跑,索性我就把套件刪除了。今天這篇文章我就來分享如何設定讓 <code>C# Dev Kit</code> 能夠正確的啟用測試總管 (Test Explorer),方便我們執行單元測試。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2023/11/25/Testing-CSharp-with-CSharp-Dev-Kit-in-Visual-Studio-Code#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2023/11/25/Testing-CSharp-with-CSharp-Dev-Kit-in-Visual-Studio-Code
[email protected]
https://blog.miniasp.com/post/2023/11/25/Testing-CSharp-with-CSharp-Dev-Kit-in-Visual-Studio-Code#comment
https://blog.miniasp.com/post.aspx?id=325d7fa3-0eef-4b90-b3a1-cd38f02f04a1
週六, 25 十一月 2023 07:57:00 +0000
.NET Core
ASP.NET Core
C#
Unit Testing
vscode
testing
xunit
nunit
mstest
GitHub Copilot
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=325d7fa3-0eef-4b90-b3a1-cd38f02f04a1
https://blog.miniasp.com/trackback.axd?id=325d7fa3-0eef-4b90-b3a1-cd38f02f04a1
https://blog.miniasp.com/post/2023/11/25/Testing-CSharp-with-CSharp-Dev-Kit-in-Visual-Studio-Code#comment
https://blog.miniasp.com/syndication.axd?post=325d7fa3-0eef-4b90-b3a1-cd38f02f04a1
-
如何使用 SharpToken 計算不同 OpenAI 模型在送出提示詞時的 Token 數量
<p>由於大多數 LLM 模型都有 Token 數量的限制,因此我們在開發 Generative AI (GAI) 應用程式時,都會對 Token 的用量斤斤計較,因此我們需要一個可以計算 Token 數量的函式庫,而在 .NET 世界裡 <a href="https://github.com/dmitry-brazhenko/SharpToken">SharpToken</a> 套件不但可以對文字進行編碼(Tokenize)與解碼,還可以用來計算文字的 Token 數量。今天這篇文章我就來介紹這個好用的 NuGet 套件。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2023/09/22/Use-SharpToken-to-count-number-of-tokens#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2023/09/22/Use-SharpToken-to-count-number-of-tokens
[email protected]
https://blog.miniasp.com/post/2023/09/22/Use-SharpToken-to-count-number-of-tokens#comment
https://blog.miniasp.com/post.aspx?id=b26d3a65-61d0-4a0e-be12-aeb167e5f370
週五, 22 九月 2023 07:23:00 +0000
.NET Core
.NET Framework
AI
C#
OpenAI
SharpToken
Tokenizer
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=b26d3a65-61d0-4a0e-be12-aeb167e5f370
https://blog.miniasp.com/trackback.axd?id=b26d3a65-61d0-4a0e-be12-aeb167e5f370
https://blog.miniasp.com/post/2023/09/22/Use-SharpToken-to-count-number-of-tokens#comment
https://blog.miniasp.com/syndication.axd?post=b26d3a65-61d0-4a0e-be12-aeb167e5f370
-
認識 C# 7.2 與 .NET Core 2.1 推出的 Span<T> 結構
<p>其實 C# 的 <code>Span<T></code> 結構已經問世很多年了,直到昨天有同事問我這個東西要怎麼用,我就把多年前做好的簡報給他研究,然後順便複習一下這個厲害的玩意。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2023/09/19/Span-ReadOnlySpan-Memory-struct-in-CSharp-72#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2023/09/19/Span-ReadOnlySpan-Memory-struct-in-CSharp-72
[email protected]
https://blog.miniasp.com/post/2023/09/19/Span-ReadOnlySpan-Memory-struct-in-CSharp-72#comment
https://blog.miniasp.com/post.aspx?id=c183968a-875a-4cfa-b2ea-67a858be16d7
週二, 19 九月 2023 04:23:00 +0000
.NET Core
.NET Framework
C#
c#
c# 7.2
Span
ReadOnlySpan
Memory
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=c183968a-875a-4cfa-b2ea-67a858be16d7
https://blog.miniasp.com/trackback.axd?id=c183968a-875a-4cfa-b2ea-67a858be16d7
https://blog.miniasp.com/post/2023/09/19/Span-ReadOnlySpan-Memory-struct-in-CSharp-72#comment
https://blog.miniasp.com/syndication.axd?post=c183968a-875a-4cfa-b2ea-67a858be16d7
-
如何使用 SqlBulkCopy 大量匯入資料到 SQL Server 資料表中
<p>最近有個維護案需要定期匯入百萬筆記錄到 SQL Server 之中,客戶的原始廠商在後台是有寫了一個功能可以讓後台管理員上傳 Excel 檔案,然後透過程式一筆一筆新增到資料庫中,但這個匯入的過程竟然要花上 1.5 小時才能新增完畢,實在是太慢了。其實從 .NET Framework 2.0 開始,在 <code>System.Data.SqlClient</code> 命名空間下就有個 <a href="https://learn.microsoft.com/zh-tw/dotnet/api/system.data.sqlclient.sqlbulkcopy?view=netframework-4.8.1&WT.mc_id=DT-MVP-4015686">SqlBulkCopy</a> 類別可以用來高效率的大量寫入資料到資料表中,其寫入速度可能快上 50 倍之多!</p><p>... <a class="more" href="https://blog.miniasp.com/post/2023/09/16/SqlBulkCopy-import-data-to-SQL-Server-Table#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2023/09/16/SqlBulkCopy-import-data-to-SQL-Server-Table
[email protected]
https://blog.miniasp.com/post/2023/09/16/SqlBulkCopy-import-data-to-SQL-Server-Table#comment
https://blog.miniasp.com/post.aspx?id=da3b7d2e-d300-4bdd-8d7d-fc6bbbb61dd1
週六, 16 九月 2023 09:09:00 +0000
.NET Core
.NET Framework
C#
SQL Server
SqlBulkCopy
SQL Server
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=da3b7d2e-d300-4bdd-8d7d-fc6bbbb61dd1
https://blog.miniasp.com/trackback.axd?id=da3b7d2e-d300-4bdd-8d7d-fc6bbbb61dd1
https://blog.miniasp.com/post/2023/09/16/SqlBulkCopy-import-data-to-SQL-Server-Table#comment
https://blog.miniasp.com/syndication.axd?post=da3b7d2e-d300-4bdd-8d7d-fc6bbbb61dd1
-
使用 .NET 實作 TOTP (Time-based One-Time Password) 的注意事項
<p>前陣子在研究 <a href="https://datatracker.ietf.org/doc/html/rfc6238">TOTP</a> (Time-based One-Time Password) 的實作方式,發現還蠻容易的,這篇文章我就來記錄一下實作的注意事項。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2023/09/04/How-to-implement-TOTP-in-dotNET#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2023/09/04/How-to-implement-TOTP-in-dotNET
[email protected]
https://blog.miniasp.com/post/2023/09/04/How-to-implement-TOTP-in-dotNET#comment
https://blog.miniasp.com/post.aspx?id=edf1f82e-cf0e-4f2a-bdcf-d1996e13f922
週一, 4 九月 2023 11:16:00 +0000
.NET Core
.NET Framework
C#
Security
otp
totp
QRCode
QRCoder
otp.net
Microsoft Authenticator
Google Authenticator
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=edf1f82e-cf0e-4f2a-bdcf-d1996e13f922
https://blog.miniasp.com/trackback.axd?id=edf1f82e-cf0e-4f2a-bdcf-d1996e13f922
https://blog.miniasp.com/post/2023/09/04/How-to-implement-TOTP-in-dotNET#comment
https://blog.miniasp.com/syndication.axd?post=edf1f82e-cf0e-4f2a-bdcf-d1996e13f922
-
介紹好用套件:PaLM.NET (透過 .NET 呼叫 PaLM API 服務)
<p>這幾天在玩 Google 新推出的 <a href="https://makersuite.google.com/">MakerSuite</a> 與 <a href="https://developers.generativeai.google/">PaLM API</a> 服務,在研究的過程中我發現官網幾乎沒有提供 .NET 的範例程式,所以我就在研究的過程中順手寫了一個 <a href="https://www.nuget.org/packages/PaLM.NET/">PaLM.NET</a> 類別庫,透過我寫的這個類別庫可以非常輕鬆的呼叫 PaLM API 服務,快速打造 Google 全新的 Generative AI 應用程式。</p><p>... <a class="more" href="https://blog.miniasp.com/post/2023/09/02/Build-Generative-AI-Apps-using-PaLM-NET#continue">繼續閱讀</a> ...</p>
https://blog.miniasp.com/post/2023/09/02/Build-Generative-AI-Apps-using-PaLM-NET
[email protected]
https://blog.miniasp.com/post/2023/09/02/Build-Generative-AI-Apps-using-PaLM-NET#comment
https://blog.miniasp.com/post.aspx?id=6ff21ab5-3690-4031-a83f-c4b1fa0042c5
週六, 2 九月 2023 07:41:00 +0000
.NET Core
C#
介紹好用工具
palm api
google
machine learning
MakerSuite
palm.net
will
https://blog.miniasp.com/pingback.axd
https://blog.miniasp.com/post.aspx?id=6ff21ab5-3690-4031-a83f-c4b1fa0042c5
https://blog.miniasp.com/trackback.axd?id=6ff21ab5-3690-4031-a83f-c4b1fa0042c5
https://blog.miniasp.com/post/2023/09/02/Build-Generative-AI-Apps-using-PaLM-NET#comment
https://blog.miniasp.com/syndication.axd?post=6ff21ab5-3690-4031-a83f-c4b1fa0042c5