[料理佳餚] Topshelf - 一個完整接合 Windows 服務的套件
Topshelf 這個套件在網路上隨便搜尋,不管國內外都有很多文章在介紹它,我是直到最近才開始跟它有更親密的接觸,利用它我們可以很容易地將 Console 程式 Host 成 Windows 服務,變成 Windows 服務之後我們的應用程式就擁有了透明且可控的生命周期。
[桌邊服務] 關於 ASP.NET SignalR 連線數限制
- 2734
- 0
- ASP.NET SignalR
- 2019-03-06
在 twMVC#34 聽到一位朋友說他遇到 ASP.NET SignalR 有連線數 11 的限制,由於這位朋友沒有現身,不知道更詳細的情況,我就我之前遇到的情況跟各位朋友分享,ASP.NET SignalR 是會有連線數限制的情形,但這不是 ASP.NET SignalR 的問題。
[小菜一碟] 如何讓 Windows 工作排程器(Task Scheduler)以秒為單位來觸發程序?
一直以來,都以為 Windows 工作排程器(Task Scheduler)的重複工作間隔時間最小只能設到分鐘,無意中查到這篇文章,原來不是不行,是我不會。
[廚餘回收] Windows 工作排程器(Task Scheduler)啟動程式取得與執行檔所在相同目錄
這個雷我踩了不下三次,寫下來記錄一下,C# 程式要取得當前目錄的方法我們下關鍵字搜尋可以搜出一堆解決方案,沒意外的話第一個搜尋結果通常是 Directory.GetCurrentDirectory 方法(System.IO) - MSDN - Microsoft,但是這個方法在程式是由 Windows 工作排程器(Task Scheduler)啟動的狀況下就不 Work 了。
[廚餘回收] Redis 裝在 GCE Windows Server 上須注意一下虛擬記憶體的設定
某個週末公司某個裝在 Windows Server 上的 Redis 服務掛點,從 Server Log 看到下面這段錯誤:
# Write error saving DB on disk: Invalid argument
# rdbSave failed in qfork: Invalid argument
# fork operation complete
# Background saving error
是在 Redis 做 Snapshot 的時候沒有成功,進而影響到服務的運作,Snapshot 會失敗大概會有幾個原因:
- 記憶體不足
- 磁碟空間不足
- 權限不足
現在我們就來看看是哪一個原因?
[料理佳餚] 讓 Jenkins 在對 GitHub 執行 git pull 指令時自動帶上 SSH Keys
有一些專案的建置作業中,某些步驟是需要對 Git Repository 做操作的,比如說在一切測試都通過之後,發行一個可執行的版本並 commit,然後 push 到待上線的 Git Repository,這時候賦予給 CI 的 Git 帳號就至少要有 Write 的權限,並且執行需要授權的操作時,自動帶上認證。
[廚餘回收] Jenkins 在 Windows 的安裝路徑最好不要含有空格
會有這個結論的起因是 Jenkins 有一個 Ruby Runtime Plugin,有很多 Plugin 會相依於它,雖然它最近一次更新的日期是在 2013 年 6 月 5 日,但依舊每個月都會有一萬多個安裝,而且跑在新版本的 Jenkins 也沒什麼問題(目前最新版本是 2.60.3),但是在 Windows 環境底下要安裝它就會有可怕的事情發生。
[小菜一碟] 儲存效能計數器(Performance Monitor)的設定以利重複使用
偶爾我們會打開效能計數器,加入幾個 Counter 像是 Processor Information - % Processor Time
、ASP.NET v4.0.30319 - Requests Current
、ASP.NET v4.0.30319 - Requests Queued
,來觀察系統目前的狀況。
不過我們很辛苦地萬中選一挑出我們想要的 Counter 之後,想要儲存起來重複使用卻沒辦法,下面就針對將效能計數器的設定儲存起來重複使用的方法做個記錄。
[小菜一碟] 突然發現 Windows 10 的登錄編輯程式多了位址列可以用
- 1104
- 0
- Windows 10
今天在對某些登錄檔設定做調整的過程中,發現了登錄檔編輯程式在 Menu 下方多了一排位址列,查了一下,這個特性是從 Windows 10 Build 14942 開始加入的。