顯示具有 C# 標籤的文章。 顯示所有文章
顯示具有 C# 標籤的文章。 顯示所有文章

2021年3月25日 星期四

在 Entity Framework Core 下使用純 SQL 方式取得資料庫的資料

自己在使用 Entity Framework 或 Entity Framework Core(以下簡稱 EF Core) 時,需要以純 SQL 方式來操作資料庫的場合還真的不多,而剛好最近在學用 Dapper 時,突發奇想說如果不靠 Dapper 只使用 EF Core 的話,是不是也能達成類似目的。那這邊先說結論,試過後還是 Dapper 比較香XD,但如果真的不想讓專案再多依賴一個外部套件的話,單靠 EF Core 也能辦到就是,但就會比較囉嗦,因此這邊就先筆記一些自己用到的案例及解決方式供以後參考。


2021年1月11日 星期一

在 .Net Core 3 上使用 IHttpClient 取得圖片並下載到本地端

因為某些因素需透過圖片連結位址取得目標圖片之 Stream 格式並供網站系統利用,聽起來不是太難的功能,所以照慣例,先詢問谷狗大神參考一下大家的做法,看到蠻多都是採建立 HttpClient 的物件並呼叫 GetStreamAsync() 方法來直接取得。但不知道什麼原因,自己試過後,發現這方法對我行不通,只能透過 GetByteArrayAsync() 方式才能成功取到圖片資源,因此稍微修正了一下實做方式並在這邊做個記錄。

2020年12月14日 星期一

在 SignalR 裡使用 .Net Core 內建的 JWT Token 機制來驗證連線

前幾天使用了 SignalR 設計出了一款史萊姆賽跑遊戲(如下圖),今天想要進階一點,想說不知道 SignalR 支不支援客戶端連線的驗證,查了一下微軟官方文件,欸嘿~果然也是可以的。不論是使用 Cookie 驗證的方式或是 Token 為基礎驗證的方式都行的通。所以這篇就筆記一下我如何使用 JWT Token 的方式來達成客戶端連線的驗證,若對 .Net Core 內建的 JWT Token 驗證機制還不太了解的讀者,可以先參考保哥這篇文章。


2020年5月26日 星期二

MCSA 、MCSD 證照考前簡易複習筆記

這邊紀錄一些自己在準備微軟 MCSA、MCSD 的相關證照考試(即將在 2021-01-31 退役)時,較不熟悉(或少用)的部分供考前複習使用,也順便加強自己欠缺不足的地方。

2020年4月10日 星期五

設定 ASP.NET Core 3.x 的起始連結(URL)位址

ASP.NET Core 3.x 本身提供了多種設定起始連結的方式,和過去 2.x 版本其實相差不大,因此下面的範例應該也都適用於 2.x 版本。

2019年8月8日 星期四

比較 .Net Core 2 路由參數 catch-all 單星號(*)及雙星號 (**) 在 IIS 及 Kestrel 上的表現

最近在測試 .Net Core 2 的 API 路徑如含有 UrlEncode 過的特殊字元當參數時,在本地端使用 Kestrel 測試正常,但是丟到 IIS 上時卻頻頻發生 404 找不到網頁的問題,折騰一番後總算找到了問題所在,所以乾脆在這邊記錄一下心得及路由參數 catch-all 單星號(*)及雙星號 (**) 的差異當做筆記。

2018年10月29日 星期一

讓 Windows Azure Web Server 擁有自動修復/重啟機制

這篇文章的內容其實應該半年前就打算要筆記下來了,無奈那陣子在忙 PMP 證照的考試以至於沒有特別撥出時間來寫,起因在於某個案子是用 .Net Core 開發出來的應用放在 Azure Web Server 上,但由於內部 Client 端對 Server API 的 Request 沒有良好的規劃,導致有一些多餘(數量還不少...)的 Request 已經開始造成 Server 的負擔,加上 Server 選用的等級也不高...所以那陣子 Server 的狀態一直處於不穩定的狀態,常常假日都要有人待命去對 Server 做重啟的動作,慶幸在網路上有看到針對此問題相關的文章,二話不說馬上拿來用看看(應該沒人想在假日一直 On Call 吧...)

2018年7月19日 星期四

C# 建立物件的淺層複製(Shallow Clone/Copy)及深層複製(Deep Clone/Copy)

這幾天在使用 Memory Cache 時,意外發現外部的修改會影響到 Memory Cache 原本的值,進而延伸出其它神奇的問題,追根究柢,主要是因為在存取 Memory Cache 值時,都是使用同一份參考(reference),造成程式上某個地方改動該 Cache 值時,其它地方都會受到影響,所以我的解決方式就是深層複製出一份 Cache 的值供外部使用,防止外部操作去更動到原始 Cache 值 類似的問題其實以前就遇過了,但當時因為手上太多案子所以就只在網路上找ㄧ些快速解法複製貼上而不了了之(菸~~~),這次趁休假空擋整理出ㄧ些覺得還不錯的實作方式及順便比較一下優缺點。

2017年12月8日 星期五

使用 Azure Search 實作資料來源為 Azure Blob Storage 之站內搜尋的方式(檔案內容格式為 Json)

以往遇到要使用站內搜尋的個案時,都會直接使用 Google Site Search 來擋著用,不過該服務似乎 2018 年即將廢棄,因此花了點時間找了些替代方案,最後選擇了 Azure Search 來實作類似的功能,不過網路上的具體範例似乎有點少(可能微軟官方的文件已經寫得很清楚了!?),而我這邊主要是先參考 Demo 大的這篇,其餘細節的部分都還是得靠自己爬官方文件來補足,不囉嗦,以下就開始實作過程

2017年10月30日 星期一

C# 字串或檔案對稱加密、解密方式(AES、DES 演算法)

最近因為突然想要練習一下對字串做加解密的功能,基本上, MSDN 已經提供蠻完整的範例了,但還是參考了一下其他大神的寫法,在這邊記錄一下自己的版本

2017年10月24日 星期二

ASP.NET MVC 產生特定 HTML 給網路爬蟲、機器人(Bot、FbBot、Crawler)

最近遇到一個問題是要讓 Facebook 的機器人來抓取網頁時,HTML 需送出特定處理過的 head 內容,head 標籤裡的內容前端無法先產出再給 FBbot,所以這邊我就採用 IIS 擴充功能 URL rewrite module 的方式,利用建立的規則來將所有名單內的來源通通轉到我們指定的頁面去,以下就開始一個簡單的實作:

2015年11月8日 星期日

.Net 之 Entity Framework 6 下的 MySQL 連線設定方式

前提:
如果以下第4步驟一直沒有出現MySQL的連接方式,請嘗試重新安裝 mysql-for-visualstudio-x.x.x 及 mysql-connector-net-x.x.x...

訪客統計