0. 前置き
個人的に気に入っているフレームワークのTopshelfがバージョンアップされていたので、何が変わったかをまとめます。Topshelfは、Windowsサービスを簡単に開発・テストするために作られたフレームワークです。Windowsサービスを対象としているものは珍しいこともあり、以前ブログで紹介したときもけっこう反響が大きかったです。
基本的な使い方は変わらないため、基礎を押さえたい方は私が昔書いたポストをご参照ください。 → Windowsサービスを楽に開発~TopShelf~
1. バージョンアップした点
前回調べたときのバージョンが「3.1」でした。2016/07/09現在のバージョンは「4.0」。この差分を見ます。特にリリースノートなどは無いので、GithubのCommitログベースでまとめてみます。箇条書きベースで。
- セッション変更イベントを扱えるようになった
- WindowsのセッションIDの変更を検知できるようだ。
- Windowsサービスを登録する際に「LocalSystem」を利用できるようになった
- 「起動(Start)」、「終了(End)」のタイムアウトを定義できるようになった
- 起動失敗とか起こりそうなので便利かも。
- 対応するロギングフレームワークの追加:Elmah, Serilog
- Serilogなんて初めて聞いた
- サービスインストール時にEventLog Sourceを自動的に作らないよう変更
- NLogの新しいシグネチャに対応
- .NET 4.5.2対応
- サービス名とサービス表示名に空白を許容する
- いままで許容していなかったんだ。気付かなかった。
- その他もろもろ改善。
2. まとめ
簡単ですがまとめました。2014年あたりはほとんど改善されていなかったんですが、2015年と2016年でまた活発に開発が進められているようで安心しました。