最常見的依賴注入(Dependency Injection)方式,就是從建構式上面,將依賴的服務一一注入,但是實務上多多少少會有一部分的 Instances,在服務被釋放之前都沒有被用到,雖然一般來說,產生 Instance 的成本不大,不過我還是想試一下,能不能將依賴注入這件事移到執行的目標方法裡面,在方法裡面有用到的服務才注入,所以就有了「延遲依賴注入(Lazy Dependency Injection)
」這個題目。
[小菜一碟] 如何讀取自訂 ConfigurationElement 節點內的設定值?
- 84
- 0
- .NET Framework
- 2021-01-19
在 .NET Framework 中,無論是 App.Config
或 Web.Config
,均有保留 <configSections>
讓我們可以自訂設定區塊(ConfigurationSection
),由於曾經看過有一些 Library 把設定值放在節點之中,像這樣:
等到要自己弄的時候才發現,似乎沒有那麼簡單,網路上搜尋到的有關於自訂 ConfigurationSection 的文章,大都沒有提到這一塊。
[料理佳餚] C# 一個 Open Source 的 Compile-time AOP 框架 - AspectInjector
看到 Bill 叔在 twMVC#39 講的 Compile-time weaving 的 AOP 框架 - PostSharp,勾起了我的 AOP 魂,隨手 Google 了一下,讓我找到了一個 Open Source 的框架 - AspectInjector(看名字我還以為是某個 Dependency Injection 的套件),看它在 GitHub 的介紹裡面下了 postsharp 的標籤,似乎有向 PostSharp 看齊的目標。
[廚餘回收] 調整 Nginx 的最大連線數遇到 setrlimit(RLIMIT_NOFILE, 65535) failed (1: Operation not permitted) 錯誤訊息
Nginx 預設每個 Worker Process 的最大連線數是 1024,這個對我們網站是不夠用的,那不夠用就會收到 socket() failed (24: Too many open files)
的錯誤訊息,於是就動手調整 Nginx 的參數,就在調整其中一個參數 worker_rlimit_nofile
的過程中,出現了下面的錯誤訊息:
setrlimit(RLIMIT_NOFILE, 65535) failed (1: Operation not permitted)
[料理佳餚] 概念性地了解一下 Akka.NET 和 Actor Model 以及響應式系統(Reactive System)
隨著業務的增長,應用程式要處理的需求愈來愈多,也愈來愈細,需求間的依賴關係也會變得複雜,當使用者也隨之增加的時候,應用程式也需要進行拆分及擴展,因此我們需要一種設計方法,來引導我們針對高併發、分布式、需求多又細又複雜的應用程式來進行設計。
[桌邊服務] 關於 ASP.NET SignalR 連線數限制
- 1377
- 0
- ASP.NET SignalR
- 2019-03-06
在 twMVC#34 聽到一位朋友說他遇到 ASP.NET SignalR 有連線數 11 的限制,由於這位朋友沒有現身,不知道更詳細的情況,我就我之前遇到的情況跟各位朋友分享,ASP.NET SignalR 是會有連線數限制的情形,但這不是 ASP.NET SignalR 的問題。
[創意料理] 在 ASP.NET MVC 切莫無腦地使用 Html.Action、Html.RenderAction
Html.Action
、Html.RenderAction
、Html.Partial
、Html.RenderPartial
這四種方法都可以協助我們在 View 裡面渲染部分 HTML 內容,網路上針對這四種方式的差異說明大都著重在使用方式,但這次我們往下挖,看看這四種方式做了些什麼事?
[創意料理] 用 AngularJS 開發程式不應該盲目地使用 Isolate Scope
Isolate Scope 使用在重用的組件是非常適合的,如果只是單純地想在 Directive 中避免直接操作 Controller 範圍的屬性或方法,希望定義一些別名在 HTML Element 中與 Controller 的屬性或方法織在一起,應該避免使用 Isolate Scope。
[小菜一碟] AngularJS 中 Directive 如何傳遞參數給 Isolate Scope 觸發函式(&)?
用 AngularJS 開發程式很少不用額外撰寫 Directive,如果我們在 Directive 裡面使用 Isolate Scope 並且從 Controller 指定了一個 function 為觸發函式(&),好死不死這個 function 是需要丟參數給它的,按照一般正常的丟法是不會 work 的,想要丟參數給觸發函式需要一點迂迴的做法。
[料理佳餚] Xamarin.Forms 透過 Firebase Cloud Messaging(FCM)的 click_action 使輕按推播通知後執行指定的程式碼
Firebase Clound Messaging(FCM)的 Notification Payload 裡面有一個 click_action
,顧名思義就是當推播訊息被使用者點擊之後,App 跟隨著要做什麼樣的反應動作,最常見的就是 App 依據 click_action 跳至與通知相關的頁面,我們就來看看如何透過 click_action 來控制顯示不同頁面。
- 1
- 2