[料理佳餚] gRPC 服務使用指定 IP 做為端點的疑難排解

gRPC 服務預設會使用 HTTPS,不過這個只有針對 localhost 這個網域名稱,這天我想要將自己的區域網路 IP 指定為 gRPC 服務的端點,好做一些驗證跟測試,於是我就動手修改了 Kestrel 監聽的 IP,使用的是 HTTP 協定,然後就在客戶端收到了這個錯誤訊息。

IOException: The response ended prematurely.

...繼續閱讀 »

[小菜一碟] 如何傳遞參數給 Azure App Service 的 WebJob?

Azure App Service 中有一個 WebJob 功能,它可以讓我們上傳執行檔或指令碼,然後利用 App Service 的資源來長時間或排程執行,不需要另外開一台 VM,我們原本就已經有開發好的應用程式,改都不用改,直接打包成 zip 檔上傳就能執行,相當方便,但是我們要怎麼傳遞參數給我們在 WebJob 的應用程式?

...繼續閱讀 »

[廚餘回收] 關於 ASP.NET MVC 中 OutputCache 的 VaryByParam 屬性有一個不盡善盡美的地方

這天在追查為何 A 客戶的訂單會出貨到 B 客戶哪裡去? 於是我看到了下面這段程式碼:

在 Login 的 Action 上面被加了 OutputCacheAttribute,Duration 屬性被設成 3,其中還用到了 VaryByParam 屬性,我猜寫這段 Code 的工程師應該是想要為每個登入的帳號做 OutputCache,這樣設定沒有問題,問題出在 HTTP Request 的發送內容。

...繼續閱讀 »

[廚餘回收] 中了一個 C# 模式比對(Pattern Matching)var 的陷阱

  • 433
  • 0
  • C#
  • 2019-10-07

C# 從 7.0 開始加入了模式比對(Pattern Matching),最大的改變是將 switch 從常數比對中解放,讓 switch 可以比對運算式,到了 C# 8.0 更猛了,微軟弄了一個遞迴模式比對(Recursive Pattern Matching),大括號 "{}" 及小括號 "()" 寫到你不要不要的,但是模式比對裡面藏了一個 var 的陷阱,我就踩中了。

...繼續閱讀 »